nlohmann::detail::json_sax_dom_callback_parser
json.hpp
typename BasicJsonType BasicJsonType
typename BasicJsonType::number_integer_t using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t number_integer_t
typename BasicJsonType::number_unsigned_t using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t number_unsigned_t
typename BasicJsonType::number_float_t using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t number_float_t
typename BasicJsonType::string_t using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::string_t = typename BasicJsonType::string_t string_t
typename BasicJsonType::binary_t using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::binary_t = typename BasicJsonType::binary_t binary_t
typename BasicJsonType::parser_callback_t using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parser_callback_t = typename BasicJsonType::parser_callback_t parser_callback_t
typename BasicJsonType::parse_event_t using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parse_event_t = typename BasicJsonType::parse_event_t parse_event_t
BasicJsonType & BasicJsonType& nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::root root

the parsed JSON value

std::vector< BasicJsonType * > std::vector<BasicJsonType*> nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::ref_stack ref_stack {}

stack to model hierarchy of values

std::vector< bool > std::vector<bool> nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::keep_stack keep_stack {}

stack to manage which values to keep

std::vector< bool > std::vector<bool> nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::key_keep_stack key_keep_stack {}

stack to manage which object keys to keep

BasicJsonType * BasicJsonType* nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::object_element object_element = nullptr

helper to hold the reference for the next object element

bool bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::errored errored = false

whether a syntax error occurred

const parser_callback_t const parser_callback_t nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::callback callback = nullptr

callback function

const bool const bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::allow_exceptions allow_exceptions = true

whether to throw exceptions in case of errors

BasicJsonType BasicJsonType nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::discarded discarded = BasicJsonType::value_t::discarded

a discarded value for the callback

nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::json_sax_dom_callback_parser
(BasicJsonType &r, const parser_callback_t cb, const bool allow_exceptions_=true)
json_sax_dom_callback_parser
BasicJsonType & r
const parser_callback_t cb
const bool allow_exceptions_ true
nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::json_sax_dom_callback_parser
(const json_sax_dom_callback_parser &)=delete
json_sax_dom_callback_parser
const json_sax_dom_callback_parser &
nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::json_sax_dom_callback_parser
(json_sax_dom_callback_parser &&)=default
json_sax_dom_callback_parser
json_sax_dom_callback_parser &&
json_sax_dom_callback_parser & json_sax_dom_callback_parser& nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::operator= (const json_sax_dom_callback_parser &)=delete operator= const json_sax_dom_callback_parser &
json_sax_dom_callback_parser & json_sax_dom_callback_parser& nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::operator= (json_sax_dom_callback_parser &&)=default operator= json_sax_dom_callback_parser &&
nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::~json_sax_dom_callback_parser
()=default
~json_sax_dom_callback_parser
bool bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::null () null
bool bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::boolean (bool val) boolean bool val
bool bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_integer (number_integer_t val) number_integer number_integer_t val
bool bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_unsigned (number_unsigned_t val) number_unsigned number_unsigned_t val
bool bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_float (number_float_t val, const string_t &) number_float number_float_t val const string_t &
bool bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::string (string_t &val) string string_t & val
bool bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::binary (binary_t &val) binary binary_t & val
bool bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_object (std::size_t len) start_object std::size_t len nlohmann::detail::out_of_range::create nlohmann::detail::discarded JSON_HEDLEY_UNLIKELY JSON_THROW nlohmann::detail::object_start nlohmann::to_string
bool bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::key (string_t &val) key string_t & val nlohmann::detail::discarded nlohmann::detail::key
bool bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::end_object () end_object nlohmann::detail::discarded JSON_ASSERT nlohmann::detail::object_end
bool bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_array (std::size_t len) start_array std::size_t len nlohmann::detail::array_start nlohmann::detail::out_of_range::create nlohmann::detail::discarded JSON_HEDLEY_UNLIKELY JSON_THROW nlohmann::to_string
bool bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::end_array () end_array nlohmann::detail::array_end nlohmann::detail::discarded JSON_ASSERT
class Exception
bool bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parse_error (std::size_t, const std::string &, const Exception &ex) parse_error std::size_t const std::string & const Exception & ex JSON_THROW nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse
constexpr bool constexpr bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::is_errored () const is_errored nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse
typename Value
std::pair< bool, BasicJsonType * > std::pair<bool, BasicJsonType*> nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::handle_value (Value &&v, const bool skip_callback=false) handle_value Value && v const bool skip_callback false

v

value to add to the JSON value we build during parsing

skip_callback

whether we should skip calling the callback function; this is required after start_array() and start_object() SAX events, because otherwise we would call the callback function with an empty array or object, respectively.

If the ref stack is empty, then the passed value will be the new root.

If the ref stack contains a value, then it is an array or an object to which we can add elements

pair of boolean (whether value should be kept) and pointer (to the passed value in the ref_stack hierarchy; nullptr if not kept)

JSON_ASSERT
nlohmann::detail::value
BasicJsonType &
BasicJsonType *
T
BasicJsonType
std::vector< T >
+elements
std::vector< BasicJsonType *>
+elements
< BasicJsonType *>
const parser_callback_t
nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
-discarded
-callback
-root
-allow_exceptions
-errored
-object_element
-key_keep_stack
-keep_stack
-ref_stack
std::vector< bool >
+elements
< bool >
bool
- nlohmann::detail::json_sax_dom_callback_parser
  allow_exceptions
- nlohmann::detail::json_sax_dom_callback_parser
  binary
- nlohmann::detail::json_sax_dom_callback_parser
  binary_t
- nlohmann::detail::json_sax_dom_callback_parser
  boolean
- nlohmann::detail::json_sax_dom_callback_parser
  callback
- nlohmann::detail::json_sax_dom_callback_parser
  discarded
- nlohmann::detail::json_sax_dom_callback_parser
  end_array
- nlohmann::detail::json_sax_dom_callback_parser
  end_object
- nlohmann::detail::json_sax_dom_callback_parser
  errored
- nlohmann::detail::json_sax_dom_callback_parser
  handle_value
- nlohmann::detail::json_sax_dom_callback_parser
  is_errored
- nlohmann::detail::json_sax_dom_callback_parser
  json_sax_dom_callback_parser
- nlohmann::detail::json_sax_dom_callback_parser
  json_sax_dom_callback_parser
- nlohmann::detail::json_sax_dom_callback_parser
  json_sax_dom_callback_parser
- nlohmann::detail::json_sax_dom_callback_parser
  keep_stack
- nlohmann::detail::json_sax_dom_callback_parser
  key
- nlohmann::detail::json_sax_dom_callback_parser
  key_keep_stack
- nlohmann::detail::json_sax_dom_callback_parser
  null
- nlohmann::detail::json_sax_dom_callback_parser
  number_float
- nlohmann::detail::json_sax_dom_callback_parser
  number_float_t
- nlohmann::detail::json_sax_dom_callback_parser
  number_integer
- nlohmann::detail::json_sax_dom_callback_parser
  number_integer_t
- nlohmann::detail::json_sax_dom_callback_parser
  number_unsigned
- nlohmann::detail::json_sax_dom_callback_parser
  number_unsigned_t
- nlohmann::detail::json_sax_dom_callback_parser
  object_element
- nlohmann::detail::json_sax_dom_callback_parser
  operator=
- nlohmann::detail::json_sax_dom_callback_parser
  operator=
- nlohmann::detail::json_sax_dom_callback_parser
  parse_error
- nlohmann::detail::json_sax_dom_callback_parser
  parse_event_t
- nlohmann::detail::json_sax_dom_callback_parser
  parser_callback_t
- nlohmann::detail::json_sax_dom_callback_parser
  ref_stack
- nlohmann::detail::json_sax_dom_callback_parser
  root
- nlohmann::detail::json_sax_dom_callback_parser
  start_array
- nlohmann::detail::json_sax_dom_callback_parser
  start_object
- nlohmann::detail::json_sax_dom_callback_parser
  string
- nlohmann::detail::json_sax_dom_callback_parser
  string_t
- nlohmann::detail::json_sax_dom_callback_parser
  ~json_sax_dom_callback_parser