cpp-msgpack-light 0.3.0
A light library to serialize MessagePack.
|
Class of buffers to serialize data. More...
#include <msgpack_light/serialization_buffer.h>
Public Member Functions | |
Initialization and finalization. | |
serialization_buffer (output_stream &stream) | |
Constructor. | |
serialization_buffer (const serialization_buffer &)=delete | |
serialization_buffer (serialization_buffer &&)=delete | |
serialization_buffer & | operator= (const serialization_buffer &)=delete |
serialization_buffer & | operator= (serialization_buffer &&)=delete |
~serialization_buffer () noexcept | |
Destructor. | |
void | flush () |
Flush the internal buffer in this instance. | |
Serialization of Nil in MessagePack. | |
void | serialize_nil () |
Serialize a nli value. | |
Serialization of Boolean in MessagePack. | |
void | serialize_bool (bool value) |
Serialize a boolean value. | |
Serialization of Integer in MessagePack. | |
These functions implements serialization of integers in formats in MessagePack specification. To serialize integers with automatic selection of formats, use serialize() function. | |
void | serialize_positive_fixint (std::uint8_t value) |
Serialize a value in positive fixint format. | |
void | serialize_negative_fixint (std::int8_t value) |
Serialize a value in negative fixint format. | |
void | serialize_uint8 (std::uint8_t value) |
Serialize a value in uint 8 format. | |
void | serialize_uint16 (std::uint16_t value) |
Serialize a value in uint 16 format. | |
void | serialize_uint32 (std::uint32_t value) |
Serialize a value in uint 32 format. | |
void | serialize_uint64 (std::uint64_t value) |
Serialize a value in uint 64 format. | |
void | serialize_int8 (std::int8_t value) |
Serialize a value in int 8 format. | |
void | serialize_int16 (std::int16_t value) |
Serialize a value in int 16 format. | |
void | serialize_int32 (std::int32_t value) |
Serialize a value in int 32 format. | |
void | serialize_int64 (std::int64_t value) |
Serialize a value in int 64 format. | |
Serialization of Float in MessagePack. | |
void | serialize_float32 (float value) |
Serialize a value in float 32 format. | |
void | serialize_float64 (double value) |
Serialize a value in float 64 format. | |
Serialization of sizes in String in MessagePack. | |
To serialize sizes with automatic selection of formats, use serialize_str_size() function. | |
void | serialize_fixstr_size (std::uint8_t size) |
Serialize a size of fixstr format. | |
void | serialize_str8_size (std::uint8_t size) |
Serialize a size of str 8 format. | |
void | serialize_str16_size (std::uint16_t size) |
Serialize a size of str 16 format. | |
void | serialize_str32_size (std::uint32_t size) |
Serialize a size of str 32 format. | |
void | serialize_str_size (std::size_t size) |
Serialize a size of a string. | |
Serialization of sizes in Binary in MessagePack. | |
To serialize sizes with automatic selection of formats, use serialize_bin_size() function. | |
void | serialize_bin8_size (std::uint8_t size) |
Serialize a size of bin 8 format. | |
void | serialize_bin16_size (std::uint16_t size) |
Serialize a size of bin 16 format. | |
void | serialize_bin32_size (std::uint32_t size) |
Serialize a size of bin 32 format. | |
void | serialize_bin_size (std::size_t size) |
Serialize a size of a binary. | |
Serialization of sizes in Array in MessagePack. | |
To serialize sizes with automatic selection of formats, use serialize_array_size() function. | |
void | serialize_fixarray_size (std::uint8_t size) |
Serialize a size of fixarray format. | |
void | serialize_array16_size (std::uint16_t size) |
Serialize a size of array 16 format. | |
void | serialize_array32_size (std::uint32_t size) |
Serialize a size of array 32 format. | |
void | serialize_array_size (std::size_t size) |
Serialize a size of an array. | |
Serialization of sizes in Map in MessagePack. | |
To serialize sizes with automatic selection of formats, use serialize_map_size() function. | |
void | serialize_fixmap_size (std::uint8_t size) |
Serialize a size of fixmap format. | |
void | serialize_map16_size (std::uint16_t size) |
Serialize a size of map 16 format. | |
void | serialize_map32_size (std::uint32_t size) |
Serialize a size of map 32 format. | |
void | serialize_map_size (std::size_t size) |
Serialize a size of a map. | |
Serialization of sizes and types in Extension in MessagePack. | |
To serialize sizes with automatic selection of formats, use serialize_ext_header() function. | |
void | serialize_fixext1_header (std::int8_t ext_type) |
Serialize the size and type of an extension value in fixext 1 format. | |
void | serialize_fixext2_header (std::int8_t ext_type) |
Serialize the size and type of an extension value in fixext 2 format. | |
void | serialize_fixext4_header (std::int8_t ext_type) |
Serialize the size and type of an extension value in fixext 4 format. | |
void | serialize_fixext8_header (std::int8_t ext_type) |
Serialize the size and type of an extension value in fixext 8 format. | |
void | serialize_fixext16_header (std::int8_t ext_type) |
Serialize the size and type of an extension value in fixext 16 format. | |
void | serialize_ext8_header (std::int8_t ext_type, std::uint8_t data_size) |
Serialize the size and type of an extension value in ext 8 format. | |
void | serialize_ext16_header (std::int8_t ext_type, std::uint16_t data_size) |
Serialize the size and type of an extension value in ext 16 format. | |
void | serialize_ext32_header (std::int8_t ext_type, std::uint32_t data_size) |
Serialize the size and type of an extension value in ext 32 format. | |
void | serialize_ext_header (std::int8_t ext_type, std::size_t data_size) |
Serialize the size and type of an extension value. | |
Serialization of general types. | |
template<typename T> | |
void | serialize (const T &data) |
Serialize data. | |
Functions to write data directly. | |
void | write (const unsigned char *data, std::size_t size) |
Write data. | |
void | put (unsigned char data) |
Write a byte of data. | |
template<typename... T> | |
void | write_in_big_endian (T... values) |
Write values in big endian. |
Private Attributes | |
details::serialization_buffer_impl | buffer_ |
Instance to perform internal processing. |
Class of buffers to serialize data.
Definition at line 41 of file serialization_buffer.h.
|
inlineexplicit |
Constructor.
[out] | stream | Stream to write output to. |
Definition at line 55 of file serialization_buffer.h.
|
inlinenoexcept |
Destructor.
Definition at line 67 of file serialization_buffer.h.
|
inline |
Flush the internal buffer in this instance.
Definition at line 75 of file serialization_buffer.h.
|
inline |
Write a byte of data.
[in] | data | Data. |
Definition at line 787 of file serialization_buffer.h.
|
inline |
Serialize data.
T | Type of data. |
[in] | data | Data. |
Definition at line 758 of file serialization_buffer.h.
|
inline |
Serialize a size of array 16 format.
[in] | size | Size. |
Definition at line 454 of file serialization_buffer.h.
|
inline |
Serialize a size of array 32 format.
[in] | size | Size. |
Definition at line 464 of file serialization_buffer.h.
|
inline |
Serialize a size of an array.
[in] | size | Size. |
Definition at line 474 of file serialization_buffer.h.
|
inline |
Serialize a size of bin 16 format.
[in] | size | Size. |
Definition at line 382 of file serialization_buffer.h.
|
inline |
Serialize a size of bin 32 format.
[in] | size | Size. |
Definition at line 392 of file serialization_buffer.h.
|
inline |
Serialize a size of bin 8 format.
[in] | size | Size. |
Definition at line 372 of file serialization_buffer.h.
|
inline |
Serialize a size of a binary.
[in] | size | Size. |
Definition at line 402 of file serialization_buffer.h.
|
inline |
Serialize a boolean value.
[in] | value | Value. |
Definition at line 104 of file serialization_buffer.h.
|
inline |
Serialize the size and type of an extension value in ext 16 format.
[in] | ext_type | Extension type. |
[in] | data_size | Size of the data. |
Definition at line 664 of file serialization_buffer.h.
|
inline |
Serialize the size and type of an extension value in ext 32 format.
[in] | ext_type | Extension type. |
[in] | data_size | Size of the data. |
Definition at line 678 of file serialization_buffer.h.
|
inline |
Serialize the size and type of an extension value in ext 8 format.
[in] | ext_type | Extension type. |
[in] | data_size | Size of the data. |
Definition at line 650 of file serialization_buffer.h.
|
inline |
Serialize the size and type of an extension value.
[in] | ext_type | Extension type. |
[in] | data_size | Size of the data. |
Definition at line 691 of file serialization_buffer.h.
|
inline |
Serialize a size of fixarray format.
[in] | size | Size. |
Definition at line 444 of file serialization_buffer.h.
|
inline |
Serialize the size and type of an extension value in fixext 16 format.
[in] | ext_type | Extension type. |
Definition at line 637 of file serialization_buffer.h.
|
inline |
Serialize the size and type of an extension value in fixext 1 format.
[in] | ext_type | Extension type. |
Definition at line 585 of file serialization_buffer.h.
|
inline |
Serialize the size and type of an extension value in fixext 2 format.
[in] | ext_type | Extension type. |
Definition at line 598 of file serialization_buffer.h.
|
inline |
Serialize the size and type of an extension value in fixext 4 format.
[in] | ext_type | Extension type. |
Definition at line 611 of file serialization_buffer.h.
|
inline |
Serialize the size and type of an extension value in fixext 8 format.
[in] | ext_type | Extension type. |
Definition at line 624 of file serialization_buffer.h.
|
inline |
Serialize a size of fixmap format.
[in] | size | Size. |
Definition at line 514 of file serialization_buffer.h.
|
inline |
Serialize a size of fixstr format.
[in] | size | Size. |
Definition at line 286 of file serialization_buffer.h.
|
inline |
Serialize a value in float 32 format.
[in] | value | Value. |
Definition at line 242 of file serialization_buffer.h.
|
inline |
Serialize a value in float 64 format.
[in] | value | Value. |
Definition at line 257 of file serialization_buffer.h.
|
inline |
Serialize a value in int 16 format.
[in] | value | Value. |
Definition at line 205 of file serialization_buffer.h.
|
inline |
Serialize a value in int 32 format.
[in] | value | Value. |
Definition at line 215 of file serialization_buffer.h.
|
inline |
Serialize a value in int 64 format.
[in] | value | Value. |
Definition at line 225 of file serialization_buffer.h.
|
inline |
Serialize a value in int 8 format.
[in] | value | Value. |
Definition at line 195 of file serialization_buffer.h.
|
inline |
Serialize a size of map 16 format.
[in] | size | Size. |
Definition at line 524 of file serialization_buffer.h.
|
inline |
Serialize a size of map 32 format.
[in] | size | Size. |
Definition at line 534 of file serialization_buffer.h.
|
inline |
Serialize a size of a map.
[in] | size | Size. |
Definition at line 544 of file serialization_buffer.h.
|
inline |
Serialize a value in negative fixint format.
[in] | value | Value. |
Definition at line 146 of file serialization_buffer.h.
|
inline |
Serialize a nli value.
Definition at line 87 of file serialization_buffer.h.
|
inline |
Serialize a value in positive fixint format.
[in] | value | Value. |
Definition at line 134 of file serialization_buffer.h.
|
inline |
Serialize a size of str 16 format.
[in] | size | Size. |
Definition at line 306 of file serialization_buffer.h.
|
inline |
Serialize a size of str 32 format.
[in] | size | Size. |
Definition at line 316 of file serialization_buffer.h.
|
inline |
Serialize a size of str 8 format.
[in] | size | Size. |
Definition at line 296 of file serialization_buffer.h.
|
inline |
Serialize a size of a string.
[in] | size | Size. |
Definition at line 326 of file serialization_buffer.h.
|
inline |
Serialize a value in uint 16 format.
[in] | value | Value. |
Definition at line 165 of file serialization_buffer.h.
|
inline |
Serialize a value in uint 32 format.
[in] | value | Value. |
Definition at line 175 of file serialization_buffer.h.
|
inline |
Serialize a value in uint 64 format.
[in] | value | Value. |
Definition at line 185 of file serialization_buffer.h.
|
inline |
Serialize a value in uint 8 format.
[in] | value | Value. |
Definition at line 155 of file serialization_buffer.h.
|
inline |
Write data.
[in] | data | Pointer to the data. |
[in] | size | Size of the data. |
Definition at line 778 of file serialization_buffer.h.
|
inline |
Write values in big endian.
T | Types of the values. |
[in] | values | Values. |
Definition at line 796 of file serialization_buffer.h.
|
private |
Instance to perform internal processing.
Definition at line 804 of file serialization_buffer.h.