|
C++ Actor Framework 0.19
|
Stores all information necessary for implementing an FSM-based parser. More...
#include <parser_state.hpp>
Public Types | |
| using | iterator_type = Iterator |
Public Member Functions | |
| parser_state (Iterator first) noexcept | |
| parser_state (Iterator first, Sentinel last) noexcept | |
| parser_state (const parser_state &) noexcept=default | |
| parser_state & | operator= (const parser_state &) noexcept=default |
| char | next () noexcept |
| Returns the null terminator when reaching the end of the string, otherwise the next character. | |
| char | current () const noexcept |
Returns the null terminator if i == e, otherwise the current character. | |
| bool | at_end () const noexcept |
Checks whether i == e. | |
| void | skip_whitespaces () noexcept |
| Skips any whitespaces characters in the input. | |
| bool | consume (char x) noexcept |
Tries to read x as the next character, automatically skipping leading whitespaces. | |
| template<class Predicate > | |
| bool | consume_if (Predicate predicate) noexcept |
| Consumes the next character if it satisfies given predicate, automatically skipping leading whitespaces. | |
| bool | consume_strict (char x) noexcept |
Tries to read x as the next character without automatically skipping leading whitespaces. | |
| template<class Predicate > | |
| bool | consume_strict_if (Predicate predicate) noexcept |
| Consumes the next character if it satisfies given predicate without automatically skipping leading whitespaces. | |
Public Attributes | |
| Iterator | i |
| Current position of the parser. | |
| Sentinel | e |
| End-of-input marker. | |
| pec | code |
| Current state of the parser. | |
| int32_t | line |
| Current line in the input. | |
| int32_t | column |
| Position in the current line. | |
Stores all information necessary for implementing an FSM-based parser.