|
rapidyaml
0.7.0
parse and emit YAML, and do it fast
|
Use this class a base of implementations of event handler to simplify the stack logic. More...
#include <event_handler_stack.hpp>
Public Types | |
| using | state = HandlerState |
| using | pfn_relocate_arena = detail::pfn_relocate_arena |
Public Member Functions | |
| void | check_trailing_doc_token () const |
| Check whether the current parse tokens are trailing on the previous doc, and raise an error if they are. More... | |
Public Attributes | |
| detail::stack< state > | m_stack |
| state * | m_curr |
| current stack level: top of the stack. cached here for easier access. More... | |
| state * | m_parent |
| parent of the current stack level. More... | |
| pfn_relocate_arena | m_relocate_arena |
| callback when the arena gets relocated More... | |
| void * | m_relocate_arena_data |
Protected Member Functions | |
| EventHandlerStack () | |
| EventHandlerStack (Callbacks const &cb) | |
| void | _stack_start_parse (const char *filename, pfn_relocate_arena relocate_arena, void *relocate_arena_data) |
| void | _stack_finish_parse () |
| void | _stack_reset_root () |
| void | _stack_reset_non_root () |
| void | _stack_push () |
| void | _stack_pop () |
| bool | _stack_should_push_on_begin_doc () const |
| bool | _stack_should_pop_on_end_doc () const |
| void | _stack_relocate_to_new_arena (csubstr prev, substr curr) |
| substr | _stack_relocate_to_new_arena (csubstr s, csubstr prev, substr curr) |
Use this class a base of implementations of event handler to simplify the stack logic.
Definition at line 35 of file event_handler_stack.hpp.
| using c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::state = HandlerState |
Definition at line 40 of file event_handler_stack.hpp.
| using c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::pfn_relocate_arena = detail::pfn_relocate_arena |
Definition at line 41 of file event_handler_stack.hpp.
|
inlineprotected |
Definition at line 53 of file event_handler_stack.hpp.
|
inlineprotected |
Definition at line 54 of file event_handler_stack.hpp.
|
inlineprotected |
Definition at line 58 of file event_handler_stack.hpp.
References c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_curr, c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_relocate_arena, c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_relocate_arena_data, and c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_stack.
|
inlineprotected |
Definition at line 68 of file event_handler_stack.hpp.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
Definition at line 120 of file event_handler_stack.hpp.
References _has_any_, c4::yml::DOC, c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_curr, c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_stack, c4::yml::MAP, c4::yml::SEQ, and c4::yml::VAL.
|
inlineprotected |
Definition at line 126 of file event_handler_stack.hpp.
References _has_any_, c4::yml::DOC, and c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_stack.
|
inlineprotected |
Definition at line 134 of file event_handler_stack.hpp.
References c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_relocate_arena, c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_relocate_arena_data, and c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_stack.
|
inlineprotected |
Definition at line 150 of file event_handler_stack.hpp.
References c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_stack.
|
inline |
Check whether the current parse tokens are trailing on the previous doc, and raise an error if they are.
This function is called by the parse engine (not the event handler) before a doc is started.
Definition at line 165 of file event_handler_stack.hpp.
References _has_any_, c4::yml::DOC, c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_curr, c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_stack, c4::yml::MAP, c4::yml::NDOC, c4::yml::SEQ, and c4::yml::VAL.
| detail::stack<state> c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_stack |
Definition at line 45 of file event_handler_stack.hpp.
Referenced by c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_pop(), c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_push(), c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_relocate_to_new_arena(), c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_reset_non_root(), c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_reset_root(), c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_should_pop_on_end_doc(), c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_should_push_on_begin_doc(), c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_start_parse(), and c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::check_trailing_doc_token().
| state* c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_curr |
current stack level: top of the stack. cached here for easier access.
Definition at line 46 of file event_handler_stack.hpp.
Referenced by c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_pop(), c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_push(), c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_reset_non_root(), c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_reset_root(), c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_should_push_on_begin_doc(), c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_start_parse(), and c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::check_trailing_doc_token().
| state* c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_parent |
parent of the current stack level.
Definition at line 47 of file event_handler_stack.hpp.
Referenced by c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_pop(), c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_push(), c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_reset_non_root(), and c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_reset_root().
| pfn_relocate_arena c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_relocate_arena |
callback when the arena gets relocated
Definition at line 48 of file event_handler_stack.hpp.
Referenced by c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_relocate_to_new_arena(), and c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_start_parse().
| void* c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::m_relocate_arena_data |
Definition at line 49 of file event_handler_stack.hpp.
Referenced by c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_relocate_to_new_arena(), and c4::yml::EventHandlerStack< HandlerImpl, HandlerState >::_stack_start_parse().