Instrument Neutral Distributed Interface INDI  2.0.2
Public Types | Public Member Functions | List of all members
nlohmann::json_sax< BasicJsonType > Struct Template Referenceabstract

SAX interface. More...

#include <json.h>

Public Types

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

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
 a floating-point number was read More...
 
virtual bool string (string_t &val)=0
 a string value was read More...
 
virtual bool binary (binary_t &val)=0
 a binary value 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...
 
 json_sax ()=default
 
 json_sax (const json_sax &)=default
 
 json_sax (json_sax &&) noexcept=default
 
json_saxoperator= (const json_sax &)=default
 
json_saxoperator= (json_sax &&) noexcept=default
 
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 6241 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 6247 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 6245 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 6243 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 6244 of file json.h.

◆ string_t

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

Definition at line 6246 of file json.h.

Constructor & Destructor Documentation

◆ json_sax() [1/3]

template<typename BasicJsonType >
nlohmann::json_sax< BasicJsonType >::json_sax ( )
default

◆ json_sax() [2/3]

template<typename BasicJsonType >
nlohmann::json_sax< BasicJsonType >::json_sax ( const json_sax< BasicJsonType > &  )
default

◆ json_sax() [3/3]

template<typename BasicJsonType >
nlohmann::json_sax< BasicJsonType >::json_sax ( json_sax< BasicJsonType > &&  )
defaultnoexcept

◆ ~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 value was read

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

◆ 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

a 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

◆ operator=() [1/2]

template<typename BasicJsonType >
json_sax& nlohmann::json_sax< BasicJsonType >::operator= ( const json_sax< BasicJsonType > &  )
default

◆ operator=() [2/2]

template<typename BasicJsonType >
json_sax& nlohmann::json_sax< BasicJsonType >::operator= ( json_sax< BasicJsonType > &&  )
defaultnoexcept

◆ 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 value was read

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

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