Feel++ 0.111.0-preview.14
Finite Element Embedded Library in C++
nlohmann::detail::lexer< BasicJsonType, InputAdapterType > Class Template Reference

lexical analysis More...

+ Inheritance diagram for nlohmann::detail::lexer< BasicJsonType, InputAdapterType >:
+ Collaboration diagram for nlohmann::detail::lexer< BasicJsonType, InputAdapterType >:

Public Types

using token_type = typename lexer_base< BasicJsonType >::token_type
 
- Public Types inherited from nlohmann::detail::lexer_base< BasicJsonType >
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

 __attribute__ ((__returns_nonnull__)) const expr const char *get_error_message() const noexcept
 return syntax error message
 
constexpr number_float_t get_number_float () const noexcept
 return floating-point value
 
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 position_t get_position () const noexcept
 return position of last read token
 
string_t & get_string ()
 return current string value (implicitly resets the token; useful only once)
 
std::string get_token_string () const
 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.
 
 lexer (const lexer &)=delete
 
 lexer (InputAdapterType &&adapter, bool ignore_comments_=false) noexcept
 
 lexer (lexer &&)=default
 
lexer & operator= (lexer &&)=default
 
lexer & operator= (lexer &)=delete
 
token_type scan ()
 
bool skip_bom ()
 skip the UTF-8 byte order mark More...
 
void skip_whitespace ()
 
- Public Member Functions inherited from nlohmann::detail::lexer_base< BasicJsonType >
 __attribute__ ((__returns_nonnull__)) __attribute__((__const__)) static const char *token_type_name(const token_type t) noexcept
 return name of values of type token_type (only used for errors)
 

Detailed Description

template<typename BasicJsonType, typename InputAdapterType>
class nlohmann::detail::lexer< BasicJsonType, InputAdapterType >

lexical analysis

This class organizes the lexical analysis during JSON deserialization.

Member Function Documentation

◆ skip_bom()

template<typename BasicJsonType , typename InputAdapterType >
bool nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::skip_bom ( )

skip the UTF-8 byte order mark

Returns
true iff there is no BOM or the correct BOM has been skipped