Public Member Functions | Public Attributes | Private Types | Static Private Attributes | List of all members
nlohmann::detail::serializer< BasicJsonType > Class Template Reference

#include <json.hpp>

Public Member Functions

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 More...
 
 for (std::size_t i=0;i< s.size();++i)
 
 if (JSON_HEDLEY_LIKELY(state==UTF8_ACCEPT))
 
serializeroperator= (const serializer &)=delete
 
serializeroperator= (serializer &&)=delete
 
 serializer (output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict)
 
 serializer (const serializer &)=delete
 
 serializer (serializer &&)=delete
 
 ~serializer ()=default
 

Public Attributes

JSON_PRIVATE_UNLESS_TESTED __pad0__: void dump_escaped(const string_t& s
 
std::size_t bytes = 0
 
std::size_t bytes_after_last_accept = 0
 
const char decimal_point = '\0'
 the locale's decimal point character More...
 
 else
 
JSON_PRIVATE_UNLESS_TESTED const bool ensure_ascii
 
const error_handler_t error_handler
 error_handler how to react on decoding errors More...
 
const char indent_char
 the indentation character More...
 
string_t indent_string
 the indentation string More...
 
const std::lconv * loc = nullptr
 the locale More...
 
std::array< char, 64 > number_buffer {{}}
 a (hopefully) large enough character buffer More...
 
std::uint8_t state = UTF8_ACCEPT
 
std::array< char, 512 > string_buffer {{}}
 string buffer More...
 
const char thousands_sep = '\0'
 the locale's thousand separator character More...
 
std::size_t undumped_chars = 0
 

Private Types

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

Static Private Attributes

static constexpr std::uint8_t UTF8_ACCEPT = 0
 
static constexpr std::uint8_t UTF8_REJECT = 1
 

Detailed Description

template<typename BasicJsonType>
class nlohmann::detail::serializer< BasicJsonType >

Definition at line 15551 of file json.hpp.

Member Typedef Documentation

template<typename BasicJsonType >
using nlohmann::detail::serializer< BasicJsonType >::binary_char_t = typename BasicJsonType::binary_t::value_type
private

Definition at line 15557 of file json.hpp.

template<typename BasicJsonType >
using nlohmann::detail::serializer< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
private

Definition at line 15554 of file json.hpp.

template<typename BasicJsonType >
using nlohmann::detail::serializer< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
private

Definition at line 15555 of file json.hpp.

template<typename BasicJsonType >
using nlohmann::detail::serializer< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
private

Definition at line 15556 of file json.hpp.

template<typename BasicJsonType >
using nlohmann::detail::serializer< BasicJsonType >::string_t = typename BasicJsonType::string_t
private

Definition at line 15553 of file json.hpp.

Constructor & Destructor Documentation

template<typename BasicJsonType >
nlohmann::detail::serializer< BasicJsonType >::serializer ( output_adapter_t< char >  s,
const char  ichar,
error_handler_t  error_handler_ = error_handler_t::strict 
)
inline
Parameters
[in]soutput stream to serialize to
[in]icharindentation character to use
[in]error_handler_how to react on decoding errors

Definition at line 15567 of file json.hpp.

template<typename BasicJsonType >
nlohmann::detail::serializer< BasicJsonType >::serializer ( const serializer< BasicJsonType > &  )
delete
template<typename BasicJsonType >
nlohmann::detail::serializer< BasicJsonType >::serializer ( serializer< BasicJsonType > &&  )
delete
template<typename BasicJsonType >
nlohmann::detail::serializer< BasicJsonType >::~serializer ( )
default

Member Function Documentation

template<typename BasicJsonType >
void nlohmann::detail::serializer< BasicJsonType >::dump ( const BasicJsonType &  val,
const bool  pretty_print,
const bool  ensure_ascii,
const unsigned int  indent_step,
const unsigned int  current_indent = 0 
)
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]valvalue to serialize
[in]pretty_printwhether the output shall be pretty-printed
[in]ensure_asciiIf 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_stepthe indent level
[in]current_indentthe current indent level (only used internally)

Definition at line 15607 of file json.hpp.

template<typename BasicJsonType >
nlohmann::detail::serializer< BasicJsonType >::for ( )
inline

Definition at line 15901 of file json.hpp.

template<typename BasicJsonType >
nlohmann::detail::serializer< BasicJsonType >::if ( JSON_HEDLEY_LIKELY(state==UTF8_ACCEPT )
inline

Definition at line 16090 of file json.hpp.

template<typename BasicJsonType >
serializer& nlohmann::detail::serializer< BasicJsonType >::operator= ( const serializer< BasicJsonType > &  )
delete
template<typename BasicJsonType >
serializer& nlohmann::detail::serializer< BasicJsonType >::operator= ( serializer< BasicJsonType > &&  )
delete

Member Data Documentation

template<typename BasicJsonType >
JSON_PRIVATE_UNLESS_TESTED nlohmann::detail::serializer< BasicJsonType >::__pad0__

Definition at line 15891 of file json.hpp.

template<typename BasicJsonType >
std::size_t nlohmann::detail::serializer< BasicJsonType >::bytes = 0

Definition at line 15895 of file json.hpp.

template<typename BasicJsonType >
std::size_t nlohmann::detail::serializer< BasicJsonType >::bytes_after_last_accept = 0

Definition at line 15898 of file json.hpp.

template<typename BasicJsonType >
const char nlohmann::detail::serializer< BasicJsonType >::decimal_point = '\0'

the locale's decimal point character

Definition at line 16445 of file json.hpp.

template<typename BasicJsonType >
nlohmann::detail::serializer< BasicJsonType >::else

Definition at line 16099 of file json.hpp.

template<typename BasicJsonType >
JSON_PRIVATE_UNLESS_TESTED const bool nlohmann::detail::serializer< BasicJsonType >::ensure_ascii
Initial value:
{
std::uint32_t codepoint

Definition at line 15892 of file json.hpp.

template<typename BasicJsonType >
const error_handler_t nlohmann::detail::serializer< BasicJsonType >::error_handler

error_handler how to react on decoding errors

Definition at line 16456 of file json.hpp.

template<typename BasicJsonType >
const char nlohmann::detail::serializer< BasicJsonType >::indent_char

the indentation character

Definition at line 16451 of file json.hpp.

template<typename BasicJsonType >
string_t nlohmann::detail::serializer< BasicJsonType >::indent_string

the indentation string

Definition at line 16453 of file json.hpp.

template<typename BasicJsonType >
const std::lconv* nlohmann::detail::serializer< BasicJsonType >::loc = nullptr

the locale

Definition at line 16441 of file json.hpp.

template<typename BasicJsonType >
std::array<char, 64> nlohmann::detail::serializer< BasicJsonType >::number_buffer {{}}

a (hopefully) large enough character buffer

Definition at line 16438 of file json.hpp.

template<typename BasicJsonType >
std::uint8_t nlohmann::detail::serializer< BasicJsonType >::state = UTF8_ACCEPT

Definition at line 15894 of file json.hpp.

template<typename BasicJsonType >
std::array<char, 512> nlohmann::detail::serializer< BasicJsonType >::string_buffer {{}}

string buffer

Definition at line 16448 of file json.hpp.

template<typename BasicJsonType >
const char nlohmann::detail::serializer< BasicJsonType >::thousands_sep = '\0'

the locale's thousand separator character

Definition at line 16443 of file json.hpp.

template<typename BasicJsonType >
std::size_t nlohmann::detail::serializer< BasicJsonType >::undumped_chars = 0

Definition at line 15899 of file json.hpp.

template<typename BasicJsonType >
constexpr std::uint8_t nlohmann::detail::serializer< BasicJsonType >::UTF8_ACCEPT = 0
staticprivate

Definition at line 15558 of file json.hpp.

template<typename BasicJsonType >
constexpr std::uint8_t nlohmann::detail::serializer< BasicJsonType >::UTF8_REJECT = 1
staticprivate

Definition at line 15559 of file json.hpp.


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


plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Dec 6 2020 04:02:51