nlohmann::detail::parser
json.hpp
typename BasicJsonType
typename InputAdapterType
typename BasicJsonType::number_integer_t using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::number_integer_t = typename BasicJsonType::number_integer_t number_integer_t
typename BasicJsonType::number_unsigned_t using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t number_unsigned_t
typename BasicJsonType::number_float_t using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::number_float_t = typename BasicJsonType::number_float_t number_float_t
typename BasicJsonType::string_t using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::string_t = typename BasicJsonType::string_t string_t
lexer< BasicJsonType, InputAdapterType > using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::lexer_t = lexer<BasicJsonType, InputAdapterType> lexer_t
typename lexer_t::token_type using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::token_type = typename lexer_t::token_type token_type
const parser_callback_t< BasicJsonType > const parser_callback_t<BasicJsonType> nlohmann::detail::parser< BasicJsonType, InputAdapterType >::callback callback = nullptr

callback function

token_type token_type nlohmann::detail::parser< BasicJsonType, InputAdapterType >::last_token last_token = token_type::uninitialized

the type of the last read token

lexer_t lexer_t nlohmann::detail::parser< BasicJsonType, InputAdapterType >::m_lexer m_lexer

the lexer

const bool const bool nlohmann::detail::parser< BasicJsonType, InputAdapterType >::allow_exceptions allow_exceptions = true

whether to throw exceptions in case of errors

nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parser
(InputAdapterType &&adapter, const parser_callback_t< BasicJsonType > cb=nullptr, const bool allow_exceptions_=true, const bool skip_comments=false)
parser
InputAdapterType && adapter
const parser_callback_t< BasicJsonType > cb nullptr
const bool allow_exceptions_ true
const bool skip_comments false

a parser reading from an input adapter

void void nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse (const bool strict, BasicJsonType &result) parse const bool strict BasicJsonType & result

public parser interface

strict

whether to expect the last token to be EOF

result

parsed JSON value

parse_error.101

in case of an unexpected token

parse_error.102

if to_unicode fails or surrogate error

parse_error.103

if to_unicode fails

nlohmann::detail::parse_error::create
nlohmann::detail::discarded
nlohmann::detail::json_sax_dom_parser< BasicJsonType >::is_errored
nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::is_errored
nlohmann::detail::json_sax_dom_parser< BasicJsonType >::parse_error
nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parse_error
bool bool nlohmann::detail::parser< BasicJsonType, InputAdapterType >::accept (const bool strict=true) accept const bool strict true

public accept interface

strict

whether to expect the last token to be EOF

whether the input is a proper JSON text

JSON_HEDLEY_NON_NULL
nlohmann::detail::strict
typename SAX
bool bool nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse (SAX *sax, const bool strict=true) sax_parse SAX * sax const bool strict true nlohmann::detail::parse_error::create JSON_HEDLEY_NON_NULL nlohmann::detail::strict nlohmann::detail::void
typename SAX
bool bool nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal (SAX *sax) sax_parse_internal SAX * sax nlohmann::detail::parse_error::create nlohmann::detail::out_of_range::create JSON_ASSERT JSON_HEDLEY_LIKELY JSON_HEDLEY_UNLIKELY
token_type token_type nlohmann::detail::parser< BasicJsonType, InputAdapterType >::get_token () get_token

get next token from lexer

std::string std::string nlohmann::detail::parser< BasicJsonType, InputAdapterType >::exception_message (const token_type expected, const std::string &context) exception_message const token_type expected const std::string & context nlohmann::detail::string

syntax analysis

This class implements a recursive descent parser.

const parser_callback_t< BasicJsonType >
lexer< BasicJsonType, InputAdapterType >
token_type
nlohmann::detail::parser< BasicJsonType, InputAdapterType >
-m_lexer
-allow_exceptions
-last_token
-callback
bool
- nlohmann::detail::parser
  accept
- nlohmann::detail::parser
  allow_exceptions
- nlohmann::detail::parser
  callback
- nlohmann::detail::parser
  exception_message
- nlohmann::detail::parser
  get_token
- nlohmann::detail::parser
  last_token
- nlohmann::detail::parser
  lexer_t
- nlohmann::detail::parser
  m_lexer
- nlohmann::detail::parser
  number_float_t
- nlohmann::detail::parser
  number_integer_t
- nlohmann::detail::parser
  number_unsigned_t
- nlohmann::detail::parser
  parse
- nlohmann::detail::parser
  parser
- nlohmann::detail::parser
  sax_parse
- nlohmann::detail::parser
  sax_parse_internal
- nlohmann::detail::parser
  string_t
- nlohmann::detail::parser
  token_type