|
using | token_type = typename lexer_base<BasicJsonType>::token_type |
|
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
, 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...
|
|
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
, 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...
|
|
|
| lexer (InputAdapterType &&adapter, bool ignore_comments_=false) noexcept |
|
| 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 |
|
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
|
|
void | skip_whitespace () |
|
token_type | scan () |
|
| lexer (InputAdapterType &&adapter, bool ignore_comments_=false) noexcept |
|
| 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 |
|
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
|
|
void | skip_whitespace () |
|
token_type | scan () |
|
template<typename BasicJsonType, typename InputAdapterType>
class detail::lexer< BasicJsonType, InputAdapterType >
lexical analysis
This class organizes the lexical analysis during JSON deserialization.