A Discrete-Event Network Simulator
API
nlohmann::json_sax< BasicJsonType > Struct Template Referenceabstract

SAX interface. More...

#include "json.h"

Public Types

using binary_t = typename BasicJsonType::binary_t
 
using number_float_t = typename BasicJsonType::number_float_t
 
using number_integer_t = typename BasicJsonType::number_integer_t
 
using number_unsigned_t = typename BasicJsonType::number_unsigned_t
 
using string_t = typename BasicJsonType::string_t
 

Public Member Functions

virtual ~json_sax ()=default
 
virtual bool binary (binary_t &val)=0
 a binary string was read More...
 
virtual bool boolean (bool val)=0
 a boolean value was read More...
 
virtual bool end_array ()=0
 the end of an array was read More...
 
virtual bool end_object ()=0
 the end of an object was read More...
 
virtual bool key (string_t &val)=0
 an object key was read More...
 
virtual bool null ()=0
 a null value was read More...
 
virtual bool number_float (number_float_t val, const string_t &s)=0
 an floating-point number was read More...
 
virtual bool number_integer (number_integer_t val)=0
 an integer number was read More...
 
virtual bool number_unsigned (number_unsigned_t val)=0
 an unsigned integer number was read More...
 
virtual bool parse_error (std::size_t position, const std::string &last_token, const detail::exception &ex)=0
 a parse error occurred More...
 
virtual bool start_array (std::size_t elements)=0
 the beginning of an array was read More...
 
virtual bool start_object (std::size_t elements)=0
 the beginning of an object was read More...
 
virtual bool string (string_t &val)=0
 a string was read More...
 

Detailed Description

template<typename BasicJsonType>
struct nlohmann::json_sax< BasicJsonType >

SAX interface.

This class describes the SAX interface used by nlohmann::json::sax_parse. Each function is called in different situations while the input is parsed. The boolean return value informs the parser whether to continue processing the input.

Definition at line 5270 of file json.h.

Member Typedef Documentation

◆ binary_t

template<typename BasicJsonType >
using nlohmann::json_sax< BasicJsonType >::binary_t = typename BasicJsonType::binary_t

Definition at line 5276 of file json.h.

◆ number_float_t

template<typename BasicJsonType >
using nlohmann::json_sax< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t

Definition at line 5274 of file json.h.

◆ number_integer_t

template<typename BasicJsonType >
using nlohmann::json_sax< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t

Definition at line 5272 of file json.h.

◆ number_unsigned_t

template<typename BasicJsonType >
using nlohmann::json_sax< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t

Definition at line 5273 of file json.h.

◆ string_t

template<typename BasicJsonType >
using nlohmann::json_sax< BasicJsonType >::string_t = typename BasicJsonType::string_t

Definition at line 5275 of file json.h.

Constructor & Destructor Documentation

◆ ~json_sax()

template<typename BasicJsonType >
virtual nlohmann::json_sax< BasicJsonType >::~json_sax ( )
virtualdefault

Member Function Documentation

◆ binary()

template<typename BasicJsonType >
virtual bool nlohmann::json_sax< BasicJsonType >::binary ( binary_t val)
pure virtual

a binary string was read

Parameters
[in]valbinary value
Returns
whether parsing should proceed
Note
It is safe to move the passed binary.

◆ boolean()

template<typename BasicJsonType >
virtual bool nlohmann::json_sax< BasicJsonType >::boolean ( bool  val)
pure virtual

a boolean value was read

Parameters
[in]valboolean value
Returns
whether parsing should proceed

◆ end_array()

template<typename BasicJsonType >
virtual bool nlohmann::json_sax< BasicJsonType >::end_array ( )
pure virtual

the end of an array was read

Returns
whether parsing should proceed

◆ end_object()

template<typename BasicJsonType >
virtual bool nlohmann::json_sax< BasicJsonType >::end_object ( )
pure virtual

the end of an object was read

Returns
whether parsing should proceed

◆ key()

template<typename BasicJsonType >
virtual bool nlohmann::json_sax< BasicJsonType >::key ( string_t val)
pure virtual

an object key was read

Parameters
[in]valobject key
Returns
whether parsing should proceed
Note
It is safe to move the passed string.

◆ null()

template<typename BasicJsonType >
virtual bool nlohmann::json_sax< BasicJsonType >::null ( )
pure virtual

a null value was read

Returns
whether parsing should proceed

◆ number_float()

template<typename BasicJsonType >
virtual bool nlohmann::json_sax< BasicJsonType >::number_float ( number_float_t  val,
const string_t s 
)
pure virtual

an floating-point number was read

Parameters
[in]valfloating-point value
[in]sraw token value
Returns
whether parsing should proceed

◆ number_integer()

template<typename BasicJsonType >
virtual bool nlohmann::json_sax< BasicJsonType >::number_integer ( number_integer_t  val)
pure virtual

an integer number was read

Parameters
[in]valinteger value
Returns
whether parsing should proceed

◆ number_unsigned()

template<typename BasicJsonType >
virtual bool nlohmann::json_sax< BasicJsonType >::number_unsigned ( number_unsigned_t  val)
pure virtual

an unsigned integer number was read

Parameters
[in]valunsigned integer value
Returns
whether parsing should proceed

◆ parse_error()

template<typename BasicJsonType >
virtual bool nlohmann::json_sax< BasicJsonType >::parse_error ( std::size_t  position,
const std::string &  last_token,
const detail::exception ex 
)
pure virtual

a parse error occurred

Parameters
[in]positionthe position in the input where the error occurs
[in]last_tokenthe last read token
[in]exan exception object describing the error
Returns
whether parsing should proceed (must return false)

◆ start_array()

template<typename BasicJsonType >
virtual bool nlohmann::json_sax< BasicJsonType >::start_array ( std::size_t  elements)
pure virtual

the beginning of an array was read

Parameters
[in]elementsnumber of array elements or -1 if unknown
Returns
whether parsing should proceed
Note
binary formats may report the number of elements

◆ start_object()

template<typename BasicJsonType >
virtual bool nlohmann::json_sax< BasicJsonType >::start_object ( std::size_t  elements)
pure virtual

the beginning of an object was read

Parameters
[in]elementsnumber of object elements or -1 if unknown
Returns
whether parsing should proceed
Note
binary formats may report the number of elements

◆ string()

template<typename BasicJsonType >
virtual bool nlohmann::json_sax< BasicJsonType >::string ( string_t val)
pure virtual

a string was read

Parameters
[in]valstring value
Returns
whether parsing should proceed
Note
It is safe to move the passed string.

The documentation for this struct was generated from the following file: