OpenMoHAA 0.82.0
|
lexical analysis More...
#include <json.hpp>
Public Types | |
enum class | token_type { uninitialized , literal_true , literal_false , literal_null , value_string , value_unsigned , value_integer , value_float , begin_array , begin_object , end_array , end_object , name_separator , value_separator , parse_error , end_of_input , literal_or_value } |
token types for the parser More... | |
Public Member Functions | |
lexer (detail::input_adapter_t &&adapter) | |
lexer (const lexer &)=delete | |
lexer (lexer &&)=delete | |
lexer & | operator= (lexer &)=delete |
lexer & | operator= (lexer &&)=delete |
constexpr number_integer_t | get_number_integer () const noexcept |
return integer value | |
constexpr number_unsigned_t | get_number_unsigned () const noexcept |
return unsigned integer value | |
constexpr number_float_t | get_number_float () const noexcept |
return floating-point value | |
string_t & | get_string () |
return current string value (implicitly resets the token; useful only once) | |
constexpr position_t | get_position () const noexcept |
return position of last read token | |
std::string | get_token_string () const |
JSON_HEDLEY_RETURNS_NON_NULL constexpr const char * | get_error_message () const noexcept |
return syntax error message | |
bool | skip_bom () |
skip the UTF-8 byte order mark | |
token_type | scan () |
Static Public Member Functions | |
JSON_HEDLEY_RETURNS_NON_NULL static JSON_HEDLEY_CONST const char * | token_type_name (const token_type t) noexcept |
return name of values of type token_type (only used for errors) | |
lexical analysis
This class organizes the lexical analysis during JSON deserialization.
|
strong |
token types for the parser
Enumerator | |
---|---|
uninitialized | indicating the scanner is uninitialized |
literal_true | the |
literal_false | the |
literal_null | the |
value_string | a string – use get_string() for actual value |
value_unsigned | an unsigned integer – use get_number_unsigned() for actual value |
value_integer | a signed integer – use get_number_integer() for actual value |
value_float | an floating point number – use get_number_float() for actual value |
begin_array | the character for array begin |
begin_object | the character for object begin |
end_array | the character for array end |
end_object | the character for object end |
name_separator | the name separator |
value_separator | the value separator |
parse_error | indicating a parse error |
end_of_input | indicating the end of the input buffer |
literal_or_value | a literal or the begin of a value (only for diagnostics) |
|
inline |
return the last read token (for errors only). Will never contain EOF (an arbitrary value that is not a valid char value, often -1), because 255 may legitimately occur. May contain NUL, which should be escaped.
|
inline |
skip the UTF-8 byte order mark