Simox  2.3.74.0
nlohmann::json_sax< BasicJsonType > Struct Template Referenceabstract

SAX interface. More...

Public Types

using number_integer_t = typename BasicJsonType::number_integer_t
 type for (signed) integers More...
 
using number_unsigned_t = typename BasicJsonType::number_unsigned_t
 type for unsigned integers More...
 
using number_float_t = typename BasicJsonType::number_float_t
 type for floating-point numbers More...
 
using string_t = typename BasicJsonType::string_t
 type for strings More...
 

Public Member Functions

virtual bool null ()=0
 a null value was read More...
 
virtual bool boolean (bool val)=0
 a boolean value 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 number_float (number_float_t val, const string_t &s)=0
 an floating-point number was read More...
 
virtual bool string (string_t &val)=0
 a string was read More...
 
virtual bool start_object (std::size_t elements)=0
 the beginning of an object was read More...
 
virtual bool key (string_t &val)=0
 an object key was read More...
 
virtual bool end_object ()=0
 the end of an object was read More...
 
virtual bool start_array (std::size_t elements)=0
 the beginning of an array was read More...
 
virtual bool end_array ()=0
 the end of an array 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 ~json_sax ()=default
 

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.

Member Typedef Documentation

◆ number_float_t

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

type for floating-point numbers

◆ number_integer_t

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

type for (signed) integers

◆ number_unsigned_t

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

type for unsigned integers

◆ string_t

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

type for strings

Constructor & Destructor Documentation

◆ ~json_sax()

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

Member Function Documentation

◆ 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.