Template
|
detail::serializer< BasicJsonType > Class Template Reference
#include <json.hpp>
Public Member Functions | |
serializer (output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict) | |
serializer (const serializer &)=delete | |
serializer & | operator= (const serializer &)=delete |
serializer (serializer &&)=delete | |
serializer & | operator= (serializer &&)=delete |
~serializer ()=default | |
void | dump (const BasicJsonType &val, const bool pretty_print, const bool ensure_ascii, const unsigned int indent_step, const unsigned int current_indent=0) |
internal implementation of the serialization function | |
for (std::size_t i=0;i< s.size();++i) | |
if (JSON_HEDLEY_LIKELY(state==UTF8_ACCEPT)) | |
Public Attributes | |
JSON_PRIVATE_UNLESS_TESTED | : void dump_escaped(const string_t& s |
JSON_PRIVATE_UNLESS_TESTED const bool | ensure_ascii |
std::uint8_t | state = UTF8_ACCEPT |
std::size_t | bytes = 0 |
std::size_t | bytes_after_last_accept = 0 |
std::size_t | undumped_chars = 0 |
else | |
std::array< char, 64 > | number_buffer {{}} |
a (hopefully) large enough character buffer | |
const std::lconv * | loc = nullptr |
the locale | |
const char | thousands_sep = '\0' |
the locale's thousand separator character | |
const char | decimal_point = '\0' |
the locale's decimal point character | |
std::array< char, 512 > | string_buffer {{}} |
string buffer | |
const char | indent_char |
the indentation character | |
string_t | indent_string |
the indentation string | |
const error_handler_t | error_handler |
error_handler how to react on decoding errors | |
Detailed Description
template<typename BasicJsonType>
class detail::serializer< BasicJsonType >
class detail::serializer< BasicJsonType >
Constructor & Destructor Documentation
◆ serializer() [1/3]
template<typename BasicJsonType >
|
inline |
◆ serializer() [2/3]
template<typename BasicJsonType >
|
delete |
◆ serializer() [3/3]
template<typename BasicJsonType >
|
delete |
◆ ~serializer()
template<typename BasicJsonType >
|
default |
Member Function Documentation
◆ dump()
template<typename BasicJsonType >
|
inline |
internal implementation of the serialization function
This function is called by the public member function dump and organizes the serialization internally. The indentation level is propagated as additional parameter. In case of arrays and objects, the function is called recursively.
- strings and object keys are escaped using
escape_string()
- integer numbers are converted implicitly via
operator<<
- floating-point numbers are converted to a string using
"%g"
format - binary values are serialized as objects containing the subtype and the byte array
- Parameters
-
[in] val value to serialize [in] pretty_print whether the output shall be pretty-printed [in] ensure_ascii If ensure_ascii is true, all non-ASCII characters in the output are escaped with \uXXXX
sequences, and the result consists of ASCII characters only.[in] indent_step the indent level [in] current_indent the current indent level (only used internally)
◆ for()
template<typename BasicJsonType >
|
inline |
◆ if()
template<typename BasicJsonType >
|
inline |
◆ operator=() [1/2]
template<typename BasicJsonType >
|
delete |
◆ operator=() [2/2]
template<typename BasicJsonType >
|
delete |
Member Data Documentation
◆ __pad0__
template<typename BasicJsonType >
JSON_PRIVATE_UNLESS_TESTED detail::serializer< BasicJsonType >::__pad0__ |
◆ bytes
template<typename BasicJsonType >
std::size_t detail::serializer< BasicJsonType >::bytes = 0 |
◆ bytes_after_last_accept
template<typename BasicJsonType >
std::size_t detail::serializer< BasicJsonType >::bytes_after_last_accept = 0 |
◆ decimal_point
template<typename BasicJsonType >
const char detail::serializer< BasicJsonType >::decimal_point = '\0' |
◆ else
template<typename BasicJsonType >
detail::serializer< BasicJsonType >::else |
◆ ensure_ascii
template<typename BasicJsonType >
JSON_PRIVATE_UNLESS_TESTED const bool detail::serializer< BasicJsonType >::ensure_ascii |
◆ error_handler
template<typename BasicJsonType >
const error_handler_t detail::serializer< BasicJsonType >::error_handler |
◆ indent_char
template<typename BasicJsonType >
const char detail::serializer< BasicJsonType >::indent_char |
◆ indent_string
template<typename BasicJsonType >
string_t detail::serializer< BasicJsonType >::indent_string |
◆ loc
template<typename BasicJsonType >
const std::lconv* detail::serializer< BasicJsonType >::loc = nullptr |
◆ number_buffer
template<typename BasicJsonType >
std::array<char, 64> detail::serializer< BasicJsonType >::number_buffer {{}} |
◆ state
template<typename BasicJsonType >
std::uint8_t detail::serializer< BasicJsonType >::state = UTF8_ACCEPT |
◆ string_buffer
template<typename BasicJsonType >
std::array<char, 512> detail::serializer< BasicJsonType >::string_buffer {{}} |
◆ thousands_sep
template<typename BasicJsonType >
const char detail::serializer< BasicJsonType >::thousands_sep = '\0' |
◆ undumped_chars
template<typename BasicJsonType >
std::size_t detail::serializer< BasicJsonType >::undumped_chars = 0 |
The documentation for this class was generated from the following file:
- include/nlohmann/json.hpp
Generated by 1.9.8