nlohmann::json_sax< BasicJsonType > Struct Template Referenceabstract

SAX interface. More...

`#include <json.hpp>`

Collaboration diagram for nlohmann::json_sax< BasicJsonType >:

## 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
| an floating-point number was read More...
virtual bool | string (string_t &val)=0
| a string was read More...
virtual bool | binary (binary_t &val)=0
| a binary 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...
| json_sax ()=default
| json_sax (const json_sax &)=default
| json_sax (json_sax &&) noexcept=default
json_sax & | operator= (const json_sax &)=default
json_sax & | operator= (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 5730 of file json.hpp.

## Member Typedef Documentation

## binary_t

template<typename BasicJsonType >

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

Definition at line 5736 of file json.hpp.

## number_float_t

template<typename BasicJsonType >

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

Definition at line 5734 of file json.hpp.

## number_integer_t

template<typename BasicJsonType >

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

Definition at line 5732 of file json.hpp.

## number_unsigned_t

template<typename BasicJsonType >

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

Definition at line 5733 of file json.hpp.

## string_t

template<typename BasicJsonType >

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

Definition at line 5735 of file json.hpp.

## 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 > && |  | ) |

default noexcept

## ~json_sax()

template<typename BasicJsonType >

virtual nlohmann::json_sax< BasicJsonType >::~json_sax | ( |  | ) |

virtual default

## 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] | val | binary 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] | val | boolean 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] | val | object 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] | val | floating-point value
  [in] | s | raw 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] | val | integer 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] | val | unsigned 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 > && |  | ) |

default noexcept

## 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] | position | the position in the input where the error occurs
  [in] | last_token | the last read token
  [in] | ex | an 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] | elements | number 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] | elements | number 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] | val | string 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:

- json.hpp