Path Tracer
|
lexical analysis More...
#include <json.hpp>
Public Types | |
using | token_type = typename lexer_base< BasicJsonType >::token_type |
![]() | |
enum | token_type { token_type::uninitialized, token_type::literal_true, token_type::literal_false, token_type::literal_null, token_type::value_string, token_type::value_unsigned, token_type::value_integer, token_type::value_float, token_type::begin_array, token_type::begin_object, token_type::end_array, token_type::end_object, token_type::name_separator, token_type::value_separator, token_type::parse_error, token_type::end_of_input, token_type::literal_or_value } |
token types for the parser More... | |
Public Member Functions | |
lexer (InputAdapterType &&adapter, bool ignore_comments_=false) | |
lexer (const lexer &)=delete | |
lexer (lexer &&)=default | |
lexer & | operator= (lexer &)=delete |
lexer & | operator= (lexer &&)=default |
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 |
constexpr JSON_HEDLEY_RETURNS_NON_NULL const char * | get_error_message () const noexcept |
return syntax error message | |
bool | skip_bom () |
skip the UTF-8 byte order mark More... | |
void | skip_whitespace () |
token_type | scan () |
Additional Inherited Members | |
![]() | |
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.
|
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