|
bool | parse_bson_internal () |
| Reads in a BSON-object and passes it to the SAX-parser. More...
|
|
bool | get_bson_cstr (string_t &result) |
| Parses a C-style string from the BSON input. More...
|
|
template<typename NumberType > |
bool | get_bson_string (const NumberType len, string_t &result) |
| Parses a zero-terminated string of length len from the BSON input. More...
|
|
template<typename NumberType > |
bool | get_bson_binary (const NumberType len, binary_t &result) |
| Parses a byte array input of length len from the BSON input. More...
|
|
bool | parse_bson_element_internal (const char_int_type element_type, const std::size_t element_type_parse_position) |
| Read a BSON document element of the given element_type. More...
|
|
bool | parse_bson_element_list (const bool is_array) |
| Read a BSON element list (as specified in the BSON-spec) More...
|
|
bool | parse_bson_array () |
| Reads an array from the BSON input and passes it to the SAX-parser. More...
|
|
bool | parse_cbor_internal (const bool get_char, const cbor_tag_handler_t tag_handler) |
|
bool | get_cbor_string (string_t &result) |
| reads a CBOR string More...
|
|
bool | get_cbor_binary (binary_t &result) |
| reads a CBOR byte array More...
|
|
bool | get_cbor_array (const std::size_t len, const cbor_tag_handler_t tag_handler) |
|
bool | get_cbor_object (const std::size_t len, const cbor_tag_handler_t tag_handler) |
|
bool | parse_msgpack_internal () |
|
bool | get_msgpack_string (string_t &result) |
| reads a MessagePack string More...
|
|
bool | get_msgpack_binary (binary_t &result) |
| reads a MessagePack byte array More...
|
|
bool | get_msgpack_array (const std::size_t len) |
|
bool | get_msgpack_object (const std::size_t len) |
|
bool | parse_ubjson_internal (const bool get_char=true) |
|
bool | get_ubjson_string (string_t &result, const bool get_char=true) |
| reads a UBJSON string More...
|
|
bool | get_ubjson_size_value (std::size_t &result) |
|
bool | get_ubjson_size_type (std::pair< std::size_t, char_int_type > &result) |
| determine the type and size for a container More...
|
|
bool | get_ubjson_value (const char_int_type prefix) |
|
bool | get_ubjson_array () |
|
bool | get_ubjson_object () |
|
bool | get_ubjson_high_precision_number () |
|
char_int_type | get () |
| get next character from the input More...
|
|
char_int_type | get_ignore_noop () |
|
template<typename NumberType , bool InputIsLittleEndian = false> |
bool | get_number (const input_format_t format, NumberType &result) |
|
template<typename NumberType > |
bool | get_string (const input_format_t format, const NumberType len, string_t &result) |
| create a string by reading characters from the input More...
|
|
template<typename NumberType > |
bool | get_binary (const input_format_t format, const NumberType len, binary_t &result) |
| create a byte array by reading bytes from the input More...
|
|
bool | unexpect_eof (const input_format_t format, const char *context) const |
|
std::string | get_token_string () const |
|
std::string | exception_message (const input_format_t format, const std::string &detail, const std::string &context) const |
|
template<typename BasicJsonType, typename InputAdapterType, typename SAX = json_sax_dom_parser<BasicJsonType>>
class nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >
deserialization of CBOR, MessagePack, and UBJSON values
Definition at line 8239 of file json.hpp.
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
get next character from the input
This function provides the interface to the used input adapter. It does not throw in case the input reached EOF, but returns a -'ve valued std::char_traits<char_type>::eof()
in that case.
- Returns
- character read from the input
Definition at line 10435 of file json.hpp.
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
template<typename NumberType >
create a byte array by reading bytes from the input
- Template Parameters
-
NumberType | the type of the number |
- Parameters
-
[in] | format | the current format (for diagnostics) |
[in] | len | number of bytes to read |
[out] | result | byte array created by reading len bytes |
- Returns
- whether byte array creation completed
- Note
- We can not reserve len bytes for the result, because len may be too large. Usually, unexpect_eof() detects the end of the input before we run out of memory.
Definition at line 10545 of file json.hpp.
References JSON_HEDLEY_NON_NULL, and JSON_HEDLEY_UNLIKELY.
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
template<typename NumberType >
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
template<typename NumberType >
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
reads a CBOR byte array
This function first reads starting bytes to determine the expected byte array length and then copies this number of bytes into the byte array. Additionally, CBOR's byte arrays with indefinite lengths are supported.
- Parameters
-
[out] | result | created byte array |
- Returns
- whether byte array creation completed
Definition at line 9127 of file json.hpp.
References nlohmann::detail::cbor, nlohmann::detail::parse_error::create(), and JSON_HEDLEY_UNLIKELY.
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
reads a MessagePack byte array
This function first reads starting bytes to determine the expected byte array length and then copies this number of bytes into a byte array.
- Parameters
-
[out] | result | created byte array |
- Returns
- whether byte array creation completed
Definition at line 9774 of file json.hpp.
References nlohmann::detail::msgpack.
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
template<typename NumberType >
create a string by reading characters from the input
- Template Parameters
-
NumberType | the type of the number |
- Parameters
-
[in] | format | the current format (for diagnostics) |
[in] | len | number of characters to read |
[out] | result | string created by reading len bytes |
- Returns
- whether string creation completed
- Note
- We can not reserve len bytes for the result, because len may be too large. Usually, unexpect_eof() detects the end of the input before we run out of string memory.
Definition at line 10512 of file json.hpp.
References JSON_HEDLEY_UNLIKELY.
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
reads a UBJSON string
This function is either called after reading the 'S' byte explicitly indicating a string, or in case of an object key where the 'S' byte can be left out.
- Parameters
-
[out] | result | created string |
[in] | get_char | whether a new character should be retrieved from the input (true, default) or whether the last read character should be considered instead |
- Returns
- whether string creation completed
Definition at line 9963 of file json.hpp.
References nlohmann::detail::parse_error::create(), JSON_HEDLEY_UNLIKELY, and nlohmann::detail::ubjson.
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
Read a BSON element list (as specified in the BSON-spec)
The same binary layout is used for objects and arrays, hence it must be indicated with the argument is_array which one is expected (true –> array, false –> object).
- Parameters
-
[in] | is_array | Determines if the element list being read is to be treated as an object (is_array == false), or as an array (is_array == true). |
- Returns
- whether a valid BSON-object/array was passed to the SAX parser
Definition at line 8518 of file json.hpp.
References nlohmann::detail::bson, JSON_HEDLEY_UNLIKELY, and nlohmann::detail::key.