|
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_ndarray_size (std::vector< size_t > &dim) |
|
bool | get_ubjson_size_value (std::size_t &result, bool &is_ndarray, char_int_type prefix=0) |
|
bool | get_ubjson_size_type (std::pair< std::size_t, char_int_type > &result, bool inside_ndarray=false) |
| 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 detail::binary_reader< BasicJsonType, InputAdapterType, SAX >
deserialization of CBOR, MessagePack, and UBJSON values
Definition at line 9145 of file nlohmann_json.hpp.
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
template<typename NumberType >
bool detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_string |
( |
const NumberType |
len, |
|
|
string_t & |
result |
|
) |
| |
|
inlineprivate |
Parses a zero-terminated string of length len from the BSON input.
- Parameters
-
[in] | len | The length (including the zero-byte at the end) of the string to be read. |
[in,out] | result | A reference to the string variable where the read string is to be stored. |
- Template Parameters
-
NumberType | The type of the length len |
- Precondition
- len >= 1
- Returns
true
if the string was successfully parsed
Definition at line 9301 of file nlohmann_json.hpp.
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
template<typename NumberType >
bool detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_binary |
( |
const NumberType |
len, |
|
|
binary_t & |
result |
|
) |
| |
|
inlineprivate |
Parses a byte array input of length len from the BSON input.
- Parameters
-
[in] | len | The length of the byte array to be read. |
[in,out] | result | A reference to the binary variable where the read array is to be stored. |
- Template Parameters
-
NumberType | The type of the length len |
- Precondition
- len >= 0
- Returns
true
if the byte array was successfully parsed
Definition at line 9323 of file nlohmann_json.hpp.
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
bool detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_element_list |
( |
const bool |
is_array | ) |
|
|
inlineprivate |
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 9430 of file nlohmann_json.hpp.
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 10085 of file nlohmann_json.hpp.
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
bool detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_string |
( |
string_t & |
result | ) |
|
|
inlineprivate |
reads a MessagePack string
This function first reads starting bytes to determine the expected string length and then copies this number of bytes into a string.
- Parameters
-
[out] | result | created string |
- Returns
- whether string creation completed
Definition at line 10655 of file nlohmann_json.hpp.
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
bool detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_binary |
( |
binary_t & |
result | ) |
|
|
inlineprivate |
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 10738 of file nlohmann_json.hpp.
template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
bool detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_type |
( |
std::pair< std::size_t, char_int_type > & |
result, |
|
|
bool |
inside_ndarray = false |
|
) |
| |
|
inlineprivate |
determine the type and size for a container
In the optimized UBJSON format, a type and a size can be provided to allow for a more compact representation.
- Parameters
-
[out] | result | pair of the size and the type |
[in] | inside_ndarray | whether the parser is parsing an ND array dimensional vector |
- Returns
- whether pair creation completed
Definition at line 11310 of file nlohmann_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 11830 of file nlohmann_json.hpp.