MessagePack for C++
Namespaces | Classes | Typedefs | Enumerations | Functions
msgpack Namespace Reference

Namespaces

 adaptor
 
 detail
 
 type
 

Classes

class  packer
 The class template that supports continuous packing. More...
 
struct  container_size_overflow
 
struct  StdTuplePacker
 
struct  StdTuplePacker< Stream, Tuple, 0 >
 
struct  StdTupleAs
 
struct  StdTupleAsImpl
 
struct  StdTupleAs<>
 
struct  StdTupleConverter
 
struct  StdTupleConverter< Tuple, 0 >
 
struct  StdTupleToObjectWithZone
 
struct  StdTupleToObjectWithZone< Tuple, 0 >
 
struct  MsgpackTuplePacker
 
struct  MsgpackTuplePacker< Stream, Tuple, 1 >
 
struct  MsgpackTuplePacker< Stream, Tuple, 0 >
 
struct  MsgpackTupleAsImpl
 
struct  MsgpackTupleAs
 
struct  MsgpackTupleAs<>
 
struct  MsgpackTupleConverter
 
struct  MsgpackTupleConverter< Tuple, 1 >
 
struct  MsgpackTupleConverter< Tuple, 0 >
 
struct  MsgpackTupleToObjectWithZone
 
struct  MsgpackTupleToObjectWithZone< Tuple, 1 >
 
struct  MsgpackTupleToObjectWithZone< Tuple, 0 >
 
class  zone
 
class  fbuffer
 
struct  seq
 
struct  gen_seq
 
struct  gen_seq< 0, Is... >
 
struct  is_non_const_pointer
 
struct  object_kv
 
class  object_handle
 The class holds object and zone. More...
 
class  object_parser
 
struct  object_pack_visitor
 
struct  object_stringize_visitor
 
struct  aligned_zone_size_visitor
 
class  define
 
struct  object_equal_visitor
 
struct  object_array
 
struct  object_map
 
struct  object_str
 
struct  object_bin
 
struct  object_ext
 
struct  has_as
 
struct  object
 Object class that corresponding to MessagePack format object. More...
 
class  type_error
 
class  sbuffer
 
class  unpacker
 Unpacking class for a stream deserialization. More...
 
class  unpack_limit
 
struct  unpack_error
 
struct  parse_error
 
struct  insufficient_bytes
 
struct  size_overflow
 
struct  array_size_overflow
 
struct  map_size_overflow
 
struct  str_size_overflow
 
struct  bin_size_overflow
 
struct  ext_size_overflow
 
struct  depth_size_overflow
 
struct  iovec
 
class  vrefbuffer
 
class  zbuffer
 
struct  null_visitor
 
class  parser
 Parsing class for a stream deserialization. More...
 
class  basic_unpacker
 

Typedefs

template<template< class > class T, class... U>
using all_of = detail::all_of_imp< T< U >::value... >
 
template<template< class > class T, class... U>
using any_of = detail::any_of_imp<(T< U >::value)... >
 
typedef bool(* unpack_reference_func) (msgpack::type::object_type type, std::size_t size, void *user_data)
 The type of reference or copy judging function. More...
 
typedef object_handle unpacked
 

Enumerations

enum  parse_return {
  PARSE_SUCCESS = 2 , PARSE_EXTRA_BYTES = 1 , PARSE_CONTINUE = 0 , PARSE_PARSE_ERROR = -1 ,
  PARSE_SUCCESS = 2 , PARSE_EXTRA_BYTES = 1 , PARSE_CONTINUE = 0 , PARSE_PARSE_ERROR = -1 ,
  PARSE_STOP_VISITOR = -2
}
 
enum  parse_return {
  PARSE_SUCCESS = 2 , PARSE_EXTRA_BYTES = 1 , PARSE_CONTINUE = 0 , PARSE_PARSE_ERROR = -1 ,
  PARSE_SUCCESS = 2 , PARSE_EXTRA_BYTES = 1 , PARSE_CONTINUE = 0 , PARSE_PARSE_ERROR = -1 ,
  PARSE_STOP_VISITOR = -2
}
 

Functions

template<typename T >
msgpack::enable_if< !is_array< T >::value, msgpack::object const & >::type operator>> (msgpack::object const &o, T &v)
 
template<typename T , std::size_t N>
msgpack::object const & operator>> (msgpack::object const &o, T(&v)[N])
 
template<typename Stream , typename T >
msgpack::enable_if< !is_array< T >::value, msgpack::packer< Stream > & >::type operator<< (msgpack::packer< Stream > &o, T const &v)
 
template<typename Stream , typename T , std::size_t N>
msgpack::packer< Stream > & operator<< (msgpack::packer< Stream > &o, const T(&v)[N])
 
template<typename T >
msgpack::enable_if< !is_array< T >::value >::type operator<< (msgpack::object &o, T const &v)
 
template<typename T , std::size_t N>
void operator<< (msgpack::v1::object &o, const T(&v)[N])
 
template<typename T >
msgpack::enable_if< !is_array< T >::value >::type operator<< (msgpack::object::with_zone &o, T const &v)
 
template<typename T , std::size_t N>
void operator<< (msgpack::object::with_zone &o, const T(&v)[N])
 
template<typename T , std::size_t N>
void operator<< (msgpack::object &o, const T(&v)[N])
 
template<typename T >
uint32_t checked_get_container_size (T size)
 
std::size_t aligned_size (std::size_t size, std::size_t align)
 
msgpack::object_kvbegin (msgpack::object_map &map)
 
const msgpack::object_kvbegin (const msgpack::object_map &map)
 
msgpack::object_kvend (msgpack::object_map &map)
 
const msgpack::object_kvend (const msgpack::object_map &map)
 
msgpack::objectbegin (msgpack::object_array &array)
 
const msgpack::objectbegin (const msgpack::object_array &array)
 
msgpack::objectend (msgpack::object_array &array)
 
const msgpack::objectend (const msgpack::object_array &array)
 
std::size_t aligned_zone_size (msgpack::object const &obj)
 
object_handle clone (msgpack::object const &obj)
 clone object More...
 
bool operator== (const msgpack::object &x, const msgpack::object &y)
 
template<typename T >
bool operator== (const msgpack::object &x, const T &y)
 
bool operator!= (const msgpack::object &x, const msgpack::object &y)
 
template<typename T >
bool operator== (const T &y, const msgpack::object &x)
 
template<typename T >
bool operator!= (const msgpack::object &x, const T &y)
 
template<typename T >
bool operator!= (const T &y, const msgpack::object &x)
 
template<typename T >
void convert (T &v, msgpack::object const &o)
 
template<typename Stream , typename T >
void pack (msgpack::packer< Stream > &o, const T &v)
 
template<typename Stream , typename T >
void pack_copy (msgpack::packer< Stream > &o, T v)
 
template<typename Stream >
msgpack::packer< Stream > & operator<< (msgpack::packer< Stream > &o, const msgpack::object &v)
 
template<typename Stream >
msgpack::packer< Stream > & operator<< (msgpack::packer< Stream > &o, const msgpack::object::with_zone &v)
 
std::ostream & operator<< (std::ostream &s, const msgpack::object &v)
 
template<typename Stream , typename T >
void pack (Stream *s, const T &v)
 Pack the value as MessagePack format into the stream. More...
 
template<typename Stream , typename T >
void pack (Stream &s, const T &v)
 Pack the value as MessagePack format into the stream. More...
 
msgpack::object_handle unpack (const char *data, std::size_t len, std::size_t &off, bool &referenced, unpack_reference_func f=MSGPACK_NULLPTR, void *user_data=MSGPACK_NULLPTR, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
msgpack::object_handle unpack (const char *data, std::size_t len, std::size_t &off, unpack_reference_func f=MSGPACK_NULLPTR, void *user_data=MSGPACK_NULLPTR, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
msgpack::object_handle unpack (const char *data, std::size_t len, bool &referenced, unpack_reference_func f=MSGPACK_NULLPTR, void *user_data=MSGPACK_NULLPTR, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
msgpack::object_handle unpack (const char *data, std::size_t len, unpack_reference_func f=MSGPACK_NULLPTR, void *user_data=MSGPACK_NULLPTR, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
void unpack (object_handle &result, const char *data, std::size_t len, std::size_t &off, bool &referenced, unpack_reference_func f=MSGPACK_NULLPTR, void *user_data=MSGPACK_NULLPTR, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
void unpack (object_handle &result, const char *data, std::size_t len, std::size_t &off, unpack_reference_func f=MSGPACK_NULLPTR, void *user_data=MSGPACK_NULLPTR, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
void unpack (object_handle &result, const char *data, std::size_t len, bool &referenced, unpack_reference_func f=MSGPACK_NULLPTR, void *user_data=MSGPACK_NULLPTR, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
void unpack (object_handle &result, const char *data, std::size_t len, unpack_reference_func f=MSGPACK_NULLPTR, void *user_data=MSGPACK_NULLPTR, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
msgpack::object unpack (msgpack::zone &z, const char *data, std::size_t len, std::size_t &off, bool &referenced, unpack_reference_func f=MSGPACK_NULLPTR, void *user_data=MSGPACK_NULLPTR, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
msgpack::object unpack (msgpack::zone &z, const char *data, std::size_t len, std::size_t &off, unpack_reference_func f=MSGPACK_NULLPTR, void *user_data=MSGPACK_NULLPTR, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
msgpack::object unpack (msgpack::zone &z, const char *data, std::size_t len, bool &referenced, unpack_reference_func f=MSGPACK_NULLPTR, void *user_data=MSGPACK_NULLPTR, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
msgpack::object unpack (msgpack::zone &z, const char *data, std::size_t len, unpack_reference_func f=MSGPACK_NULLPTR, void *user_data=MSGPACK_NULLPTR, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
void unpack (object_handle *result, const char *data, std::size_t len, std::size_t *off=MSGPACK_NULLPTR, bool *referenced=MSGPACK_NULLPTR, unpack_reference_func f=MSGPACK_NULLPTR, void *user_data=MSGPACK_NULLPTR, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. [obsolete]. More...
 
template<typename Visitor >
bool parse (const char *data, size_t len, size_t &off, Visitor &v)
 Unpack msgpack formatted data via a visitor. More...
 
template<typename Visitor >
bool parse (const char *data, size_t len, Visitor &v)
 Unpack msgpack formatted data via a visitor. More...
 
void unpack (msgpack::object_handle &result, const char *data, std::size_t len, std::size_t &off, msgpack::v3::unpack_reference_func f, void *user_data, msgpack::unpack_limit const &limit)
 

Typedef Documentation

◆ all_of

template<template< class > class T, class... U>
using msgpack::all_of = typedef detail::all_of_imp<T<U>::value...>

◆ any_of

template<template< class > class T, class... U>
using msgpack::any_of = typedef detail::any_of_imp<(T<U>::value)...>

◆ unpack_reference_func

typedef bool(* msgpack::unpack_reference_func) (msgpack::type::object_type type, std::size_t size, void *user_data)

The type of reference or copy judging function.

Parameters
typemsgpack data type.
sizemsgpack data size.
user_dataThe user_data that is set by msgpack::unpack functions.
Returns
If the data should be referenced, then return true, otherwise (should be copied) false.

This function is called when unpacking STR, BIN, or EXT.

◆ unpacked

Enumeration Type Documentation

◆ parse_return [1/2]

Enumerator
PARSE_SUCCESS 
PARSE_EXTRA_BYTES 
PARSE_CONTINUE 
PARSE_PARSE_ERROR 
PARSE_SUCCESS 
PARSE_EXTRA_BYTES 
PARSE_CONTINUE 
PARSE_PARSE_ERROR 
PARSE_STOP_VISITOR 

◆ parse_return [2/2]

Enumerator
PARSE_SUCCESS 
PARSE_EXTRA_BYTES 
PARSE_CONTINUE 
PARSE_PARSE_ERROR 
PARSE_SUCCESS 
PARSE_EXTRA_BYTES 
PARSE_CONTINUE 
PARSE_PARSE_ERROR 
PARSE_STOP_VISITOR 

Function Documentation

◆ aligned_size()

std::size_t msgpack::aligned_size ( std::size_t  size,
std::size_t  align 
)
inline

◆ aligned_zone_size()

std::size_t msgpack::aligned_zone_size ( msgpack::object const &  obj)
inline

References msgpack::object_parser::parse().

Referenced by clone().

◆ begin() [1/4]

const msgpack::object * msgpack::begin ( const msgpack::object_array array)
inline

◆ begin() [2/4]

const msgpack::object_kv * msgpack::begin ( const msgpack::object_map map)
inline

◆ begin() [3/4]

msgpack::object * msgpack::begin ( msgpack::object_array array)
inline

◆ begin() [4/4]

msgpack::object_kv * msgpack::begin ( msgpack::object_map map)
inline

◆ checked_get_container_size()

template<typename T >
uint32_t msgpack::checked_get_container_size ( size)
inline

References msgpack::type::size().

Referenced by msgpack::adaptor::object< const char * >::operator()(), msgpack::adaptor::object< char[N]>::operator()(), msgpack::adaptor::object< const char[N]>::operator()(), msgpack::adaptor::object< std::array< char, N > >::operator()(), msgpack::adaptor::object< std::array< unsigned char, N > >::operator()(), msgpack::adaptor::object< std::string >::operator()(), msgpack::adaptor::object< std::vector< char, Alloc > >::operator()(), msgpack::adaptor::object< std::vector< unsigned char, Alloc > >::operator()(), msgpack::adaptor::as< T, typename msgpack::enable_if< detail::is_seq_no_pair_no_tuple< T >::value &&boost::mpl::fold< T, boost::mpl::bool_< true >, boost::mpl::if_< boost::mpl::or_< boost::mpl::_1, msgpack::has_as< boost::mpl::_2 > >, boost::mpl::bool_< true >, boost::mpl::bool_< false > > >::type::value >::type >::operator()(), msgpack::adaptor::convert< T, typename msgpack::enable_if< detail::is_seq_no_pair_no_tuple< T >::value >::type >::operator()(), msgpack::adaptor::object_with_zone< const char * >::operator()(), msgpack::adaptor::object_with_zone< char[N]>::operator()(), msgpack::adaptor::object_with_zone< const char[N]>::operator()(), msgpack::adaptor::object_with_zone< msgpack::type::array_ref< T > >::operator()(), msgpack::adaptor::object_with_zone< msgpack::type::array_ref< T[N]> >::operator()(), msgpack::adaptor::object_with_zone< std::array< char, N > >::operator()(), msgpack::adaptor::object_with_zone< std::array< T, N > >::operator()(), msgpack::adaptor::object_with_zone< std::array< unsigned char, N > >::operator()(), msgpack::adaptor::object_with_zone< std::deque< T, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::forward_list< T, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::list< T, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::map< K, V, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::multimap< K, V, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::multiset< T, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::set< T, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::string >::operator()(), msgpack::adaptor::object_with_zone< std::unordered_map< K, V, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::unordered_multimap< K, V, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::unordered_multiset< Key, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::unordered_set< Key, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::vector< bool, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::vector< char, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::vector< T, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::vector< unsigned char, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::wstring >::operator()(), msgpack::adaptor::object_with_zone< T, typename msgpack::enable_if< detail::is_seq_no_pair_no_tuple< T >::value >::type >::operator()(), msgpack::adaptor::object_with_zone< T[N]>::operator()(), msgpack::adaptor::object_with_zone< type::assoc_vector< K, V, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< unsigned char[N]>::operator()(), msgpack::adaptor::object_with_zone< const unsigned char[N]>::operator()(), msgpack::adaptor::object_with_zone< std::tuple< Args... > >::operator()(), msgpack::adaptor::pack< const char * >::operator()(), msgpack::adaptor::pack< char[N]>::operator()(), msgpack::adaptor::pack< const char[N]>::operator()(), msgpack::adaptor::pack< msgpack::type::array_ref< T > >::operator()(), msgpack::adaptor::pack< msgpack::type::array_ref< T[N]> >::operator()(), msgpack::adaptor::pack< std::array< char, N > >::operator()(), msgpack::adaptor::pack< std::array< T, N > >::operator()(), msgpack::adaptor::pack< std::array< unsigned char, N > >::operator()(), msgpack::adaptor::pack< std::deque< T, Alloc > >::operator()(), msgpack::adaptor::pack< std::forward_list< T, Alloc > >::operator()(), msgpack::adaptor::pack< std::list< T, Alloc > >::operator()(), msgpack::adaptor::pack< std::map< K, V, Compare, Alloc > >::operator()(), msgpack::adaptor::pack< std::multimap< K, V, Compare, Alloc > >::operator()(), msgpack::adaptor::pack< std::multiset< T, Compare, Alloc > >::operator()(), msgpack::adaptor::pack< std::set< T, Compare, Alloc > >::operator()(), msgpack::adaptor::pack< std::string >::operator()(), msgpack::adaptor::pack< std::tuple< Args... > >::operator()(), msgpack::adaptor::pack< std::unordered_map< K, V, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::pack< std::unordered_multimap< K, V, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::pack< std::unordered_multiset< Key, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::pack< std::unordered_set< Key, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::pack< std::vector< bool, Alloc > >::operator()(), msgpack::adaptor::pack< std::vector< char, Alloc > >::operator()(), msgpack::adaptor::pack< std::vector< T, Alloc > >::operator()(), msgpack::adaptor::pack< std::vector< unsigned char, Alloc > >::operator()(), msgpack::adaptor::pack< std::wstring >::operator()(), msgpack::adaptor::pack< T, typename msgpack::enable_if< detail::is_seq_no_pair_no_tuple< T >::value >::type >::operator()(), msgpack::adaptor::pack< T[N]>::operator()(), msgpack::adaptor::pack< type::assoc_vector< K, V, Compare, Alloc > >::operator()(), msgpack::adaptor::pack< unsigned char[N]>::operator()(), and msgpack::adaptor::pack< const unsigned char[N]>::operator()().

◆ clone()

object_handle msgpack::clone ( msgpack::object const &  obj)
inline

clone object

Clone (deep copy) object. The copied object is located on newly allocated zone.

Parameters
objcopy source object
Returns
object_handle that holds deep copied object and zone.

References aligned_zone_size(), MSGPACK_NULLPTR, and msgpack::type::size().

◆ convert()

template<typename T >
void msgpack::convert ( T &  v,
msgpack::object const &  o 
)
inline

◆ end() [1/4]

const msgpack::object * msgpack::end ( const msgpack::object_array array)
inline

◆ end() [2/4]

const msgpack::object_kv * msgpack::end ( const msgpack::object_map map)
inline

◆ end() [3/4]

msgpack::object * msgpack::end ( msgpack::object_array array)
inline

◆ end() [4/4]

msgpack::object_kv * msgpack::end ( msgpack::object_map map)
inline

◆ operator!=() [1/3]

bool msgpack::operator!= ( const msgpack::object x,
const msgpack::object y 
)
inline

◆ operator!=() [2/3]

template<typename T >
bool msgpack::operator!= ( const msgpack::object x,
const T &  y 
)
inline

◆ operator!=() [3/3]

template<typename T >
bool msgpack::operator!= ( const T &  y,
const msgpack::object x 
)
inline

◆ operator<<() [1/10]

template<typename T , std::size_t N>
void msgpack::operator<< ( msgpack::object o,
const T(&)  v[N] 
)

◆ operator<<() [2/10]

template<typename T >
msgpack::enable_if< !is_array< T >::value >::type msgpack::operator<< ( msgpack::object o,
T const &  v 
)
inline

◆ operator<<() [3/10]

template<typename T , std::size_t N>
void msgpack::operator<< ( msgpack::object::with_zone o,
const T(&)  v[N] 
)
inline

◆ operator<<() [4/10]

template<typename T >
msgpack::enable_if< !is_array< T >::value >::type msgpack::operator<< ( msgpack::object::with_zone o,
T const &  v 
)
inline

◆ operator<<() [5/10]

template<typename Stream >
msgpack::packer< Stream > & msgpack::operator<< ( msgpack::packer< Stream > &  o,
const msgpack::object v 
)
inline

References pack().

◆ operator<<() [6/10]

template<typename Stream >
msgpack::packer< Stream > & msgpack::operator<< ( msgpack::packer< Stream > &  o,
const msgpack::object::with_zone v 
)
inline

◆ operator<<() [7/10]

template<typename Stream , typename T , std::size_t N>
msgpack::packer< Stream > & msgpack::operator<< ( msgpack::packer< Stream > &  o,
const T(&)  v[N] 
)
inline

◆ operator<<() [8/10]

template<typename Stream , typename T >
msgpack::enable_if< !is_array< T >::value, msgpack::packer< Stream > & >::type msgpack::operator<< ( msgpack::packer< Stream > &  o,
T const &  v 
)
inline

◆ operator<<() [9/10]

template<typename T , std::size_t N>
void msgpack::operator<< ( msgpack::v1::object &  o,
const T(&)  v[N] 
)
inline

◆ operator<<() [10/10]

std::ostream & msgpack::operator<< ( std::ostream &  s,
const msgpack::object v 
)
inline

◆ operator==() [1/3]

bool msgpack::operator== ( const msgpack::object x,
const msgpack::object y 
)
inline

◆ operator==() [2/3]

template<typename T >
bool msgpack::operator== ( const msgpack::object x,
const T &  y 
)
inline

◆ operator==() [3/3]

template<typename T >
bool msgpack::operator== ( const T &  y,
const msgpack::object x 
)
inline

◆ operator>>() [1/2]

template<typename T >
msgpack::enable_if< !is_array< T >::value, msgpack::object const & >::type msgpack::operator>> ( msgpack::object const &  o,
T &  v 
)
inline

◆ operator>>() [2/2]

template<typename T , std::size_t N>
msgpack::object const & msgpack::operator>> ( msgpack::object const &  o,
T(&)  v[N] 
)
inline

◆ pack() [1/3]

template<typename Stream , typename T >
void msgpack::pack ( msgpack::packer< Stream > &  o,
const T &  v 
)
inline

◆ pack() [2/3]

template<typename Stream , typename T >
void msgpack::pack ( Stream &  s,
const T &  v 
)
inline

Pack the value as MessagePack format into the stream.

Template Parameters
StreamAny type that have a member function Stream write(const char*, size_t s)
TAny type that is adapted to MessagePack
Parameters
sPacking destination stream
vPacking value

References msgpack::packer< Stream >::pack().

◆ pack() [3/3]

template<typename Stream , typename T >
void msgpack::pack ( Stream *  s,
const T &  v 
)
inline

Pack the value as MessagePack format into the stream.

This function template is left for compatibility. Use void pack(Stream& s, const T& v) instead of the function template.

Template Parameters
StreamAny type that have a member function Stream write(const char*, size_t s)
TAny type that is adapted to MessagePack
Parameters
sThe pointer to packing destination stream
vPacking value

References msgpack::packer< Stream >::pack().

◆ pack_copy()

template<typename Stream , typename T >
void msgpack::pack_copy ( msgpack::packer< Stream > &  o,
v 
)
inline

◆ parse() [1/2]

template<typename Visitor >
bool msgpack::parse ( const char *  data,
size_t  len,
size_t &  off,
Visitor &  v 
)

Unpack msgpack formatted data via a visitor.

Parameters
dataThe pointer to the buffer.
lenThe length of the buffer.
offThe offset position of the buffer. It is read and overwritten.
vThe visitor that satisfies visitor concept. https://github.com/msgpack/msgpack-c/wiki/v2_0_cpp_visitor#visitor-concept
Returns
if unpacking process finishes without error then return true, otherwise return false.

◆ parse() [2/2]

template<typename Visitor >
bool msgpack::parse ( const char *  data,
size_t  len,
Visitor &  v 
)

Unpack msgpack formatted data via a visitor.

Parameters
dataThe pointer to the buffer.
lenThe length of the buffer.
vThe visitor that satisfies visitor concept. https://github.com/msgpack/msgpack-c/wiki/v2_0_cpp_visitor#visitor-concept
Returns
if unpacking process finishes without error then return true, otherwise return false.

◆ unpack() [1/14]

msgpack::object_handle msgpack::unpack ( const char *  data,
std::size_t  len,
bool &  referenced,
unpack_reference_func  f = MSGPACK_NULLPTR,
void *  user_data = MSGPACK_NULLPTR,
unpack_limit const &  limit = unpack_limit() 
)
inline

Unpack msgpack::object from a buffer.

Parameters
dataThe pointer to the buffer.
lenThe length of the buffer.
referencedIf the unpacked object contains reference of the buffer, then set as true, otherwise false.
fA judging function that msgpack::object refer to the buffer.
user_dataThis parameter is passed to f.
limitThe size limit information of msgpack::object.
Returns
object_handle that contains unpacked data.

References unpack().

◆ unpack() [2/14]

msgpack::object_handle msgpack::unpack ( const char *  data,
std::size_t  len,
std::size_t &  off,
bool &  referenced,
unpack_reference_func  f = MSGPACK_NULLPTR,
void *  user_data = MSGPACK_NULLPTR,
unpack_limit const &  limit = unpack_limit() 
)
inline

Unpack msgpack::object from a buffer.

Parameters
dataThe pointer to the buffer.
lenThe length of the buffer.
offThe offset position of the buffer. It is read and overwritten.
referencedIf the unpacked object contains reference of the buffer, then set as true, otherwise false.
fA judging function that msgpack::object refer to the buffer.
user_dataThis parameter is passed to f.
limitThe size limit information of msgpack::object.
Returns
object_handle that contains unpacked data.

References PARSE_CONTINUE, PARSE_EXTRA_BYTES, PARSE_PARSE_ERROR, PARSE_SUCCESS, and msgpack::detail::unpack_imp().

Referenced by msgpack::type::define_array< Args >::msgpack_unpack(), msgpack::type::define_map< Args >::msgpack_unpack(), and unpack().

◆ unpack() [3/14]

msgpack::object_handle msgpack::unpack ( const char *  data,
std::size_t  len,
std::size_t &  off,
unpack_reference_func  f = MSGPACK_NULLPTR,
void *  user_data = MSGPACK_NULLPTR,
unpack_limit const &  limit = unpack_limit() 
)
inline

Unpack msgpack::object from a buffer.

Parameters
dataThe pointer to the buffer.
lenThe length of the buffer.
offThe offset position of the buffer. It is read and overwritten.
fA judging function that msgpack::object refer to the buffer.
user_dataThis parameter is passed to f.
limitThe size limit information of msgpack::object.
Returns
object_handle that contains unpacked data.

References unpack().

◆ unpack() [4/14]

msgpack::object_handle msgpack::unpack ( const char *  data,
std::size_t  len,
unpack_reference_func  f = MSGPACK_NULLPTR,
void *  user_data = MSGPACK_NULLPTR,
unpack_limit const &  limit = unpack_limit() 
)
inline

Unpack msgpack::object from a buffer.

Parameters
dataThe pointer to the buffer.
lenThe length of the buffer.
fA judging function that msgpack::object refer to the buffer.
user_dataThis parameter is passed to f.
limitThe size limit information of msgpack::object.
Returns
object_handle that contains unpacked data.

References unpack().

◆ unpack() [5/14]

void msgpack::unpack ( msgpack::object_handle result,
const char *  data,
std::size_t  len,
std::size_t &  off,
msgpack::v3::unpack_reference_func  f,
void *  user_data,
msgpack::unpack_limit const &  limit 
)
inline

◆ unpack() [6/14]

msgpack::object msgpack::unpack ( msgpack::zone z,
const char *  data,
std::size_t  len,
bool &  referenced,
unpack_reference_func  f = MSGPACK_NULLPTR,
void *  user_data = MSGPACK_NULLPTR,
unpack_limit const &  limit = unpack_limit() 
)
inline

Unpack msgpack::object from a buffer.

Parameters
zThe msgpack::zone that is used as a memory of unpacked msgpack objects.
dataThe pointer to the buffer.
lenThe length of the buffer.
referencedIf the unpacked object contains reference of the buffer, then set as true, otherwise false.
fA judging function that msgpack::object refer to the buffer.
user_dataThis parameter is passed to f.
limitThe size limit information of msgpack::object.
Returns
msgpack::object that contains unpacked data.

References unpack().

◆ unpack() [7/14]

msgpack::object msgpack::unpack ( msgpack::zone z,
const char *  data,
std::size_t  len,
std::size_t &  off,
bool &  referenced,
unpack_reference_func  f = MSGPACK_NULLPTR,
void *  user_data = MSGPACK_NULLPTR,
unpack_limit const &  limit = unpack_limit() 
)
inline

Unpack msgpack::object from a buffer.

Parameters
zThe msgpack::zone that is used as a memory of unpacked msgpack objects.
dataThe pointer to the buffer.
lenThe length of the buffer.
offThe offset position of the buffer. It is read and overwritten.
referencedIf the unpacked object contains reference of the buffer, then set as true, otherwise false.
fA judging function that msgpack::object refer to the buffer.
user_dataThis parameter is passed to f.
limitThe size limit information of msgpack::object.
Returns
msgpack::object that contains unpacked data.

References PARSE_CONTINUE, PARSE_EXTRA_BYTES, PARSE_PARSE_ERROR, PARSE_SUCCESS, and msgpack::detail::unpack_imp().

◆ unpack() [8/14]

msgpack::object msgpack::unpack ( msgpack::zone z,
const char *  data,
std::size_t  len,
std::size_t &  off,
unpack_reference_func  f = MSGPACK_NULLPTR,
void *  user_data = MSGPACK_NULLPTR,
unpack_limit const &  limit = unpack_limit() 
)
inline

Unpack msgpack::object from a buffer.

Parameters
zThe msgpack::zone that is used as a memory of unpacked msgpack objects.
dataThe pointer to the buffer.
lenThe length of the buffer.
offThe offset position of the buffer. It is read and overwritten.
fA judging function that msgpack::object refer to the buffer.
user_dataThis parameter is passed to f.
limitThe size limit information of msgpack::object.
Returns
msgpack::object that contains unpacked data.

References unpack().

◆ unpack() [9/14]

msgpack::object msgpack::unpack ( msgpack::zone z,
const char *  data,
std::size_t  len,
unpack_reference_func  f = MSGPACK_NULLPTR,
void *  user_data = MSGPACK_NULLPTR,
unpack_limit const &  limit = unpack_limit() 
)
inline

Unpack msgpack::object from a buffer.

Parameters
zThe msgpack::zone that is used as a memory of unpacked msgpack objects.
dataThe pointer to the buffer.
lenThe length of the buffer.
fA judging function that msgpack::object refer to the buffer.
user_dataThis parameter is passed to f.
limitThe size limit information of msgpack::object.
Returns
msgpack::object that contains unpacked data.

References unpack().

◆ unpack() [10/14]

void msgpack::unpack ( object_handle result,
const char *  data,
std::size_t  len,
bool &  referenced,
unpack_reference_func  f = MSGPACK_NULLPTR,
void *  user_data = MSGPACK_NULLPTR,
unpack_limit const &  limit = unpack_limit() 
)
inline

Unpack msgpack::object from a buffer.

Parameters
resultThe object_handle that contains unpacked data.
dataThe pointer to the buffer.
lenThe length of the buffer.
referencedIf the unpacked object contains reference of the buffer, then set as true, otherwise false.
fA judging function that msgpack::object refer to the buffer.
user_dataThis parameter is passed to f.
limitThe size limit information of msgpack::object.

References unpack().

◆ unpack() [11/14]

void msgpack::unpack ( object_handle result,
const char *  data,
std::size_t  len,
std::size_t &  off,
bool &  referenced,
unpack_reference_func  f = MSGPACK_NULLPTR,
void *  user_data = MSGPACK_NULLPTR,
unpack_limit const &  limit = unpack_limit() 
)
inline

Unpack msgpack::object from a buffer.

Parameters
resultThe object_handle that contains unpacked data.
dataThe pointer to the buffer.
lenThe length of the buffer.
offThe offset position of the buffer. It is read and overwritten.
referencedIf the unpacked object contains reference of the buffer, then set as true, otherwise false.
fA judging function that msgpack::object refer to the buffer.
user_dataThis parameter is passed to f.
limitThe size limit information of msgpack::object.

References PARSE_CONTINUE, PARSE_EXTRA_BYTES, PARSE_PARSE_ERROR, PARSE_SUCCESS, msgpack::object_handle::set(), msgpack::detail::unpack_imp(), and msgpack::object_handle::zone().

◆ unpack() [12/14]

void msgpack::unpack ( object_handle result,
const char *  data,
std::size_t  len,
std::size_t &  off,
unpack_reference_func  f = MSGPACK_NULLPTR,
void *  user_data = MSGPACK_NULLPTR,
unpack_limit const &  limit = unpack_limit() 
)
inline

Unpack msgpack::object from a buffer.

Parameters
resultThe object_handle that contains unpacked data.
dataThe pointer to the buffer.
lenThe length of the buffer.
offThe offset position of the buffer. It is read and overwritten.
fA judging function that msgpack::object refer to the buffer.
user_dataThis parameter is passed to f.
limitThe size limit information of msgpack::object.

References unpack().

◆ unpack() [13/14]

void msgpack::unpack ( object_handle result,
const char *  data,
std::size_t  len,
unpack_reference_func  f = MSGPACK_NULLPTR,
void *  user_data = MSGPACK_NULLPTR,
unpack_limit const &  limit = unpack_limit() 
)
inline

Unpack msgpack::object from a buffer.

Parameters
resultThe object_handle that contains unpacked data.
dataThe pointer to the buffer.
lenThe length of the buffer.
fA judging function that msgpack::object refer to the buffer.
user_dataThis parameter is passed to f.
limitThe size limit information of msgpack::object.

References unpack().

◆ unpack() [14/14]

void msgpack::unpack ( object_handle result,
const char *  data,
std::size_t  len,
std::size_t *  off = MSGPACK_NULLPTR,
bool *  referenced = MSGPACK_NULLPTR,
unpack_reference_func  f = MSGPACK_NULLPTR,
void *  user_data = MSGPACK_NULLPTR,
unpack_limit const &  limit = unpack_limit() 
)
inline

Unpack msgpack::object from a buffer. [obsolete].

Parameters
resultThe object_handle that contains unpacked data.
dataThe pointer to the buffer.
lenThe length of the buffer.
offThe offset position of the buffer. It is read and overwritten.
referencedIf the unpacked object contains reference of the buffer, then set as true, otherwise false.
fA judging function that msgpack::object refer to the buffer.
user_dataThis parameter is passed to f.
limitThe size limit information of msgpack::object.

This function is obsolete. Use the reference inteface version of unpack functions instead of the pointer interface version.

References unpack().