Ditto 4.8.0-rc.2
Loading...
Searching...
No Matches
detail::binary_writer< BasicJsonType, CharType > Class Template Reference

serialization to CBOR and MessagePack values More...

#include <json.hpp>

Public Member Functions

 binary_writer (output_adapter_t< CharType > adapter)
 create a binary writer
 
void write_bson (const BasicJsonType &j)
 
void write_cbor (const BasicJsonType &j)
 
void write_msgpack (const BasicJsonType &j)
 
void write_ubjson (const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true, const bool use_bjdata=false)
 

Static Public Member Functions

template<typename C = CharType, enable_if_t< std::is_signed< C >::value &&std::is_signed< char >::value > * = nullptr>
static constexpr CharType to_char_type (std::uint8_t x) noexcept
 
template<typename C = CharType, enable_if_t< std::is_signed< C >::value &&std::is_unsigned< char >::value > * = nullptr>
static CharType to_char_type (std::uint8_t x) noexcept
 
template<typename C = CharType, enable_if_t< std::is_unsigned< C >::value > * = nullptr>
static constexpr CharType to_char_type (std::uint8_t x) noexcept
 
template<typename InputCharType , typename C = CharType, enable_if_t< std::is_signed< C >::value &&std::is_signed< char >::value &&std::is_same< char, typename std::remove_cv< InputCharType >::type >::value > * = nullptr>
static constexpr CharType to_char_type (InputCharType x) noexcept
 

Detailed Description

template<typename BasicJsonType, typename CharType>
class detail::binary_writer< BasicJsonType, CharType >

serialization to CBOR and MessagePack values

Constructor & Destructor Documentation

◆ binary_writer()

template<typename BasicJsonType , typename CharType >
detail::binary_writer< BasicJsonType, CharType >::binary_writer ( output_adapter_t< CharType > adapter)
inlineexplicit

create a binary writer

Parameters
[in]adapteroutput adapter to write to

Member Function Documentation

◆ write_bson()

template<typename BasicJsonType , typename CharType >
void detail::binary_writer< BasicJsonType, CharType >::write_bson ( const BasicJsonType & j)
inline
Parameters
[in]jJSON value to serialize
Precondition
j.type() == value_t::object

◆ write_cbor()

template<typename BasicJsonType , typename CharType >
void detail::binary_writer< BasicJsonType, CharType >::write_cbor ( const BasicJsonType & j)
inline
Parameters
[in]jJSON value to serialize

◆ write_msgpack()

template<typename BasicJsonType , typename CharType >
void detail::binary_writer< BasicJsonType, CharType >::write_msgpack ( const BasicJsonType & j)
inline
Parameters
[in]jJSON value to serialize

◆ write_ubjson()

template<typename BasicJsonType , typename CharType >
void detail::binary_writer< BasicJsonType, CharType >::write_ubjson ( const BasicJsonType & j,
const bool use_count,
const bool use_type,
const bool add_prefix = true,
const bool use_bjdata = false )
inline
Parameters
[in]jJSON value to serialize
[in]use_countwhether to use '#' prefixes (optimized format)
[in]use_typewhether to use '$' prefixes (optimized format)
[in]add_prefixwhether prefixes need to be used for this value
[in]use_bjdatawhether write in BJData format, default is false