C++ Actor Framework 1.0.0
|
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. | |
auto | error () |
Returns an error from the current state. | |
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.