All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
nlohmann::json_sax< BasicJsonType > Struct Template Referenceabstract

SAX interface. More...

#include <json.hpp>

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.

Definition at line 4333 of file json.hpp.

Member Typedef Documentation

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

type for floating-point numbers

Definition at line 4340 of file json.hpp.

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

type for (signed) integers

Definition at line 4336 of file json.hpp.

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

type for unsigned integers

Definition at line 4338 of file json.hpp.

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

type for strings

Definition at line 4342 of file json.hpp.

Constructor & Destructor Documentation

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

Member Function Documentation

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
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
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
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.
template<typename BasicJsonType >
virtual bool nlohmann::json_sax< BasicJsonType >::null ( )
pure virtual

a null value was read

Returns
whether parsing should proceed
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
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
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
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)
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
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
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: