msgpack Namespace Reference

## Namespaces

| adaptor
| detail
| type

## Classes

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

## Typedefs

typedef integral_constant< bool, true > | true_type
typedef integral_constant< bool, false > | false_type
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)
template<typename T >
T & | move (T &t)
template<typename T >
T const & | move (T const &t)
std::size_t | aligned_size (std::size_t size, std::size_t align)
msgpack::object_kv * | begin (msgpack::object_map &map)
const msgpack::object_kv * | begin (const msgpack::object_map &map)
msgpack::object_kv * | end (msgpack::object_map &map)
const msgpack::object_kv * | end (const msgpack::object_map &map)
msgpack::object * | begin (msgpack::object_array &array)
const msgpack::object * | begin (const msgpack::object_array &array)
msgpack::object * | end (msgpack::object_array &array)
const msgpack::object * | end (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)
void | operator<< (msgpack::object &o, const msgpack_object &v)
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 &o)
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::v2::unpack_reference_func f, void *user_data, 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)...>

## false_type

typedef integral_constant<bool, false> msgpack::false_type

## true_type

typedef integral_constant<bool, true> msgpack::true_type

## 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

  type | msgpack data type.
  size | msgpack data size.
  user_data | The 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

typedef object_handle msgpack::unpacked

## Enumeration Type Documentation

## parse_return [1/2]

enum msgpack::parse_return

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]

enum msgpack::parse_return

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

References msgpack::zone::allocate(), msgpack::zone::allocate_align(), and MSGPACK_ZONE_ALIGNOF.

Referenced by aligned_zone_size(), and msgpack::zone::allocate().

## aligned_zone_size()

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

inline

References msgpack::detail::add_ext_type_size(), aligned_size(), msgpack::type::ARRAY, msgpack::object::union_type::array, msgpack::type::BIN, msgpack::object::union_type::bin, msgpack::type::EXT, msgpack::object::union_type::ext, msgpack::object_kv::key, msgpack::type::MAP, msgpack::object::union_type::map, MSGPACK_ZONE_ALIGNOF, msgpack::object_array::ptr, msgpack::object_map::ptr, msgpack::object_array::size, msgpack::object_map::size, msgpack::object_str::size, msgpack::object_bin::size, msgpack::object_ext::size, msgpack::type::STR, msgpack::object::union_type::str, msgpack::object::type, msgpack::object_kv::val, and msgpack::object::via.

Referenced by clone().

## begin() [1/4]

msgpack::object_kv * msgpack::begin | ( | msgpack::object_map & | map | ) |

inline

References msgpack::object_map::ptr.

## begin() [2/4]

const msgpack::object_kv * msgpack::begin | ( | const msgpack::object_map & | map | ) |

inline

References msgpack::object_map::ptr.

## begin() [3/4]

msgpack::object * msgpack::begin | ( | msgpack::object_array & | array | ) |

inline

References msgpack::object_array::ptr.

## begin() [4/4]

const msgpack::object * msgpack::begin | ( | const msgpack::object_array & | array | ) |

inline

References msgpack::object_array::ptr.

## checked_get_container_size()

template<typename T >

uint32_t msgpack::checked_get_container_size | ( | T | size | ) |

inline

References msgpack::type::size().

Referenced by msgpack::adaptor::pack< const char * >::operator()(), msgpack::adaptor::object_with_zone< const char * >::operator()(), msgpack::adaptor::pack< std::vector< bool, Alloc > >::operator()(), msgpack::adaptor::pack< std::string >::operator()(), msgpack::adaptor::pack< std::tuple< Args... > >::operator()(), msgpack::adaptor::object< const char * >::operator()(), msgpack::adaptor::pack< std::array< unsigned char, N > >::operator()(), msgpack::adaptor::pack< std::array< char, N > >::operator()(), msgpack::adaptor::object< std::string >::operator()(), msgpack::adaptor::pack< std::forward_list< T, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::vector< bool, Alloc > >::operator()(), msgpack::adaptor::pack< std::unordered_set< Key, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::pack< std::unordered_map< K, V, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::pack< std::list< T, Alloc > >::operator()(), msgpack::adaptor::pack< std::deque< T, Alloc > >::operator()(), msgpack::adaptor::pack< std::vector< char, Alloc > >::operator()(), msgpack::adaptor::pack< std::vector< unsigned char, Alloc > >::operator()(), msgpack::adaptor::object< std::array< char, N > >::operator()(), msgpack::adaptor::pack< std::set< T, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::string >::operator()(), msgpack::adaptor::object< std::array< unsigned char, N > >::operator()(), msgpack::adaptor::object_with_zone< std::forward_list< T, Alloc > >::operator()(), msgpack::adaptor::pack< std::vector< T, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::unordered_set< Key, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::list< T, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::unordered_map< K, V, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::deque< T, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::array< char, N > >::operator()(), msgpack::adaptor::object_with_zone< std::array< unsigned char, N > >::operator()(), msgpack::adaptor::object< std::vector< char, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::set< T, Compare, Alloc > >::operator()(), msgpack::adaptor::object< std::vector< unsigned char, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::vector< T, Alloc > >::operator()(), msgpack::adaptor::pack< T[N]>::operator()(), msgpack::adaptor::pack< type::assoc_vector< K, V, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::vector< unsigned char, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::vector< char, Alloc > >::operator()(), msgpack::adaptor::pack< char[N]>::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::object_with_zone< type::assoc_vector< K, V, Compare, Alloc > >::operator()(), msgpack::adaptor::pack< std::array< T, N > >::operator()(), msgpack::adaptor::pack< const char[N]>::operator()(), msgpack::adaptor::object_with_zone< std::array< T, N > >::operator()(), msgpack::adaptor::pack< unsigned char[N]>::operator()(), msgpack::adaptor::convert< T, typename msgpack::enable_if< detail::is_seq_no_pair_no_tuple< T >::value >::type >::operator()(), msgpack::adaptor::pack< std::unordered_multiset< Key, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::pack< std::unordered_multimap< K, V, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::pack< const unsigned char[N]>::operator()(), msgpack::adaptor::object_with_zone< std::unordered_multiset< Key, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::pack< std::multiset< T, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< std::unordered_multimap< K, V, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< T[N]>::operator()(), msgpack::adaptor::pack< T, typename msgpack::enable_if< detail::is_seq_no_pair_no_tuple< T >::value >::type >::operator()(), msgpack::adaptor::object_with_zone< std::tuple< Args... > >::operator()(), msgpack::adaptor::object_with_zone< std::multiset< T, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< char[N]>::operator()(), msgpack::adaptor::pack< std::map< K, V, Compare, Alloc > >::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< const char[N]>::operator()(), msgpack::adaptor::object_with_zone< std::map< 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::pack< msgpack::type::array_ref< T > >::operator()(), msgpack::adaptor::object< char[N]>::operator()(), msgpack::adaptor::pack< msgpack::type::array_ref< T[N]> >::operator()(), msgpack::adaptor::object< const char[N]>::operator()(), msgpack::adaptor::object_with_zone< msgpack::type::array_ref< T > >::operator()(), msgpack::adaptor::pack< std::multimap< K, V, Compare, Alloc > >::operator()(), msgpack::adaptor::object_with_zone< msgpack::type::array_ref< T[N]> >::operator()(), and msgpack::adaptor::object_with_zone< std::multimap< K, V, Compare, Alloc > >::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

  obj | copy source object

Returns
  object_handle that holds deep copied object and zone.

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

## convert()

template<typename T >

void msgpack::convert | ( | T & | v,
|  | msgpack::object const & | o
| ) |  |

inline

References msgpack::object::convert().

Referenced by msgpack::object::as(), msgpack::object::convert(), msgpack::object::convert_if_not_nil(), msgpack::type::detail::convert_integer(), msgpack::object::is_nil(), msgpack::adaptor::convert< std::tuple< Args... > >::operator()(), msgpack::adaptor::object_with_zone< std::tuple< Args... > >::operator()(), msgpack::adaptor::convert< msgpack::type::tuple< Args... > >::operator()(), and msgpack::adaptor::object_with_zone< msgpack::type::tuple< Args... > >::operator()().

## end() [1/4]

msgpack::object_kv * msgpack::end | ( | msgpack::object_map & | map | ) |

inline

References msgpack::object_map::ptr, and msgpack::object_map::size.

Referenced by msgpack::adaptor::convert< std::vector< bool, Alloc > >::operator()().

## end() [2/4]

const msgpack::object_kv * msgpack::end | ( | const msgpack::object_map & | map | ) |

inline

References msgpack::object_map::ptr, and msgpack::object_map::size.

## end() [3/4]

msgpack::object * msgpack::end | ( | msgpack::object_array & | array | ) |

inline

References msgpack::object_array::ptr, and msgpack::object_array::size.

## end() [4/4]

const msgpack::object * msgpack::end | ( | const msgpack::object_array & | array | ) |

inline

References msgpack::object_array::ptr, and msgpack::object_array::size.

## move() [1/2]

template<typename T >

T& msgpack::move | ( | T & | t | ) |

Referenced by clone(), msgpack::adaptor::detail::array::concat(), msgpack::adaptor::convert< std::unordered_set< Key, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::convert< std::unordered_map< K, V, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::convert< std::set< T, Compare, Alloc > >::operator()(), msgpack::adaptor::convert< std::unordered_multiset< Key, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::convert< std::unordered_multimap< K, V, Hash, Compare, Alloc > >::operator()(), msgpack::adaptor::convert< std::multiset< T, Compare, Alloc > >::operator()(), msgpack::adaptor::convert< std::map< K, V, Compare, Alloc > >::operator()(), msgpack::adaptor::convert< std::multimap< K, V, Compare, Alloc > >::operator()(), msgpack::detail::create_object_visitor::operator=(), msgpack::parser< unpacker, zone_push_finalizer >::operator=(), msgpack::unpacker::operator=(), unpack(), msgpack::unpacker::visitor(), and msgpack::object_handle::zone().

## move() [2/2]

template<typename T >

T const& msgpack::move | ( | T const & | t | ) |

## 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/11]

template<typename T , std::size_t N>

void msgpack::operator<< | ( | msgpack::object & | o,
|  | const T(&) | v[N]
| ) |  |

## operator<<() [2/11]

template<typename Stream , typename T , std::size_t N>

msgpack::packer< Stream > & msgpack::operator<< | ( | msgpack::packer< Stream > & | o,
|  | const T(&) | v[N]
| ) |  |

inline

## operator<<() [3/11]

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

Referenced by msgpack::object::object(), msgpack::adaptor::pack< msgpack::object >::operator()(), operator<<(), and msgpack::packer< Stream >::pack().

## operator<<() [4/11]

template<typename T >

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

inline

## operator<<() [5/11]

template<typename T , std::size_t N>

void msgpack::operator<< | ( | msgpack::v1::object & | o,
|  | const T(&) | v[N]
| ) |  |

inline

## operator<<() [6/11]

template<typename T >

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

inline

## operator<<() [7/11]

template<typename T , std::size_t N>

void msgpack::operator<< | ( | msgpack::object::with_zone & | o,
|  | const T(&) | v[N]
| ) |  |

inline

## operator<<() [8/11]

void msgpack::operator<< | ( | msgpack::object & | o,
|  | const msgpack_object & | v
| ) |  |

inline

## operator<<() [9/11]

template<typename Stream >

msgpack::packer< Stream > & msgpack::operator<< | ( | msgpack::packer< Stream > & | o,
|  | const msgpack::object & | v
| ) |  |

inline

References msgpack::type::ARRAY, msgpack::type::BIN, msgpack::type::BOOLEAN, msgpack::type::EXT, msgpack::type::FLOAT32, msgpack::type::FLOAT64, msgpack::type::MAP, msgpack::type::NEGATIVE_INTEGER, msgpack::type::NIL, operator<<(), msgpack::packer< Stream >::pack_array(), msgpack::packer< Stream >::pack_bin(), msgpack::packer< Stream >::pack_bin_body(), msgpack::packer< Stream >::pack_double(), msgpack::packer< Stream >::pack_ext(), msgpack::packer< Stream >::pack_ext_body(), msgpack::packer< Stream >::pack_false(), msgpack::packer< Stream >::pack_float(), msgpack::packer< Stream >::pack_int64(), msgpack::packer< Stream >::pack_map(), msgpack::packer< Stream >::pack_nil(), msgpack::packer< Stream >::pack_str(), msgpack::packer< Stream >::pack_str_body(), msgpack::packer< Stream >::pack_true(), msgpack::packer< Stream >::pack_uint64(), msgpack::type::POSITIVE_INTEGER, and msgpack::type::STR.

## operator<<() [10/11]

template<typename Stream >

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

inline

## operator<<() [11/11]

std::ostream & msgpack::operator<< | ( | std::ostream & | s,
|  | const msgpack::object & | o
| ) |  |

inline

References msgpack::type::ARRAY, msgpack::object::union_type::array, msgpack::type::BIN, msgpack::object::union_type::bin, msgpack::type::BOOLEAN, msgpack::object::union_type::boolean, msgpack::type::EXT, msgpack::object::union_type::f64, msgpack::type::FLOAT32, msgpack::type::FLOAT64, msgpack::object::union_type::i64, msgpack::object_kv::key, msgpack::type::MAP, msgpack::object::union_type::map, msgpack::type::NEGATIVE_INTEGER, msgpack::type::NIL, msgpack::type::POSITIVE_INTEGER, msgpack::object_array::ptr, msgpack::object_map::ptr, msgpack::object_str::ptr, msgpack::object_bin::ptr, msgpack::object_array::size, msgpack::object_map::size, msgpack::object_str::size, msgpack::object_bin::size, msgpack::type::STR, msgpack::object::union_type::str, msgpack::object::type, msgpack::object::union_type::u64, msgpack::object_kv::val, and msgpack::object::via.

## operator==() [1/3]

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

inline

References msgpack::type::ARRAY, msgpack::object::union_type::array, msgpack::type::BIN, msgpack::object::union_type::bin, msgpack::type::BOOLEAN, msgpack::object::union_type::boolean, msgpack::type::EXT, msgpack::object::union_type::ext, msgpack::object::union_type::f64, msgpack::type::FLOAT32, msgpack::type::FLOAT64, msgpack::object::union_type::i64, msgpack::object_kv::key, msgpack::type::MAP, msgpack::object::union_type::map, msgpack::type::NEGATIVE_INTEGER, msgpack::type::NIL, msgpack::type::POSITIVE_INTEGER, msgpack::object_array::ptr, msgpack::object_map::ptr, msgpack::object_str::ptr, msgpack::object_bin::ptr, msgpack::object_ext::ptr, msgpack::object_array::size, msgpack::object_map::size, msgpack::object_str::size, msgpack::object_bin::size, msgpack::object_ext::size, msgpack::type::STR, msgpack::object::union_type::str, msgpack::object::type, msgpack::object::union_type::u64, msgpack::object_kv::val, and msgpack::object::via.

## 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

Referenced by msgpack::object::convert(), and msgpack::define< Type >::msgpack_unpack().

## 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 | ( | 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

  Stream | Any type that have a member function `Stream write(const char*, size_t s)`
  T | Any type that is adapted to MessagePack

Parameters

  s | The pointer to packing destination stream
  v | Packing value

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

## 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

  Stream | Any type that have a member function `Stream write(const char*, size_t s)`
  T | Any type that is adapted to MessagePack

Parameters

  s | Packing destination stream
  v | Packing value

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

## pack() [3/3]

template<typename Stream , typename T >

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

inline

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

Referenced by msgpack::adaptor::pack< msgpack::type::tuple< Args... > >::operator()(), and pack_copy().

## pack_copy()

template<typename Stream , typename T >

void msgpack::pack_copy | ( | msgpack::packer< Stream > & | o,
|  | T | v
| ) |  |

inline

References pack().

## parse() [1/2]

template<typename Visitor >

bool msgpack::parse | ( | const char * | data,
|  | size_t | len,
|  | size_t & | off,
|  | Visitor & | v
| ) |  |

inline

Unpack msgpack formatted data via a visitor.

Parameters

  data | The pointer to the buffer.
  len | The length of the buffer.
  off | The offset position of the buffer. It is read and overwritten.
  v | The visitor that satisfies visitor concept. https://github.com/msgpack/msgpack-c/wiki/v2_0_cpp_visitor#visitor-concept

Returns
  if unpacking process finishs without error then return true, otherwise return false.

References PARSE_EXTRA_BYTES, msgpack::detail::parse_imp(), and PARSE_SUCCESS.

## parse() [2/2]

template<typename Visitor >

bool msgpack::parse | ( | const char * | data,
|  | size_t | len,
|  | Visitor & | v
| ) |  |

inline

Unpack msgpack formatted data via a visitor.

Parameters

  data | The pointer to the buffer.
  len | The length of the buffer.
  v | The visitor that satisfies visitor concept. https://github.com/msgpack/msgpack-c/wiki/v2_0_cpp_visitor#visitor-concept

Returns
  if unpacking process finishs without error then return true, otherwise return false.

## unpack() [1/14]

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

inline

References MSGPACK_NULLPTR, PARSE_EXTRA_BYTES, msgpack::detail::parse_imp(), PARSE_SUCCESS, unpack(), and msgpack::detail::unpack_imp().

Referenced by msgpack::unpacker::visitor().

## unpack() [2/14]

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

  data | The pointer to the buffer.
  len | The length of the buffer.
  off | The offset position of the buffer. It is read and overwritten.
  referenced | If the unpacked object contains reference of the buffer, then set as true, otherwise false.
  f | A judging function that msgpack::object refer to the buffer.
  user_data | This parameter is passed to f.
  limit | The size limit information of msgpack::object.

Returns
  object_handle that contains unpacked data.

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

Referenced by unpack(), and msgpack::unpacker::visitor().

## unpack() [3/14]

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

  data | The pointer to the buffer.
  len | The length of the buffer.
  off | The offset position of the buffer. It is read and overwritten.
  f | A judging function that msgpack::object refer to the buffer.
  user_data | This parameter is passed to f.
  limit | The size limit information of msgpack::object.

Returns
  object_handle that contains unpacked data.

References msgpack::detail::create_object_visitor::referenced(), and unpack().

## unpack() [4/14]

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

  data | The pointer to the buffer.
  len | The length of the buffer.
  referenced | If the unpacked object contains reference of the buffer, then set as true, otherwise false.
  f | A judging function that msgpack::object refer to the buffer.
  user_data | This parameter is passed to f.
  limit | The size limit information of msgpack::object.

Returns
  object_handle that contains unpacked data.

References unpack().

## unpack() [5/14]

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

  data | The pointer to the buffer.
  len | The length of the buffer.
  f | A judging function that msgpack::object refer to the buffer.
  user_data | This parameter is passed to f.
  limit | The size limit information of msgpack::object.

Returns
  object_handle that contains unpacked data.

References msgpack::detail::create_object_visitor::referenced(), and unpack().

## unpack() [6/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

  result | The object_handle that contains unpacked data.
  data | The pointer to the buffer.
  len | The length of the buffer.
  off | The offset position of the buffer. It is read and overwritten.
  referenced | If the unpacked object contains reference of the buffer, then set as true, otherwise false.
  f | A judging function that msgpack::object refer to the buffer.
  user_data | This parameter is passed to f.
  limit | The size limit information of msgpack::object.

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

## unpack() [7/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

  result | The object_handle that contains unpacked data.
  data | The pointer to the buffer.
  len | The length of the buffer.
  off | The offset position of the buffer. It is read and overwritten.
  f | A judging function that msgpack::object refer to the buffer.
  user_data | This parameter is passed to f.
  limit | The size limit information of msgpack::object.

References msgpack::detail::create_object_visitor::referenced(), and unpack().

## unpack() [8/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

  result | The object_handle that contains unpacked data.
  data | The pointer to the buffer.
  len | The length of the buffer.
  referenced | If the unpacked object contains reference of the buffer, then set as true, otherwise false.
  f | A judging function that msgpack::object refer to the buffer.
  user_data | This parameter is passed to f.
  limit | The size limit information of msgpack::object.

References unpack().

## unpack() [9/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

  result | The object_handle that contains unpacked data.
  data | The pointer to the buffer.
  len | The length of the buffer.
  f | A judging function that msgpack::object refer to the buffer.
  user_data | This parameter is passed to f.
  limit | The size limit information of msgpack::object.

References msgpack::detail::create_object_visitor::referenced(), and unpack().

## unpack() [10/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

  z | The msgpack::zone that is used as a memory of unpacked msgpack objects.
  data | The pointer to the buffer.
  len | The length of the buffer.
  off | The offset position of the buffer. It is read and overwritten.
  referenced | If the unpacked object contains reference of the buffer, then set as true, otherwise false.
  f | A judging function that msgpack::object refer to the buffer.
  user_data | This parameter is passed to f.
  limit | The 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() [11/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

  z | The msgpack::zone that is used as a memory of unpacked msgpack objects.
  data | The pointer to the buffer.
  len | The length of the buffer.
  off | The offset position of the buffer. It is read and overwritten.
  f | A judging function that msgpack::object refer to the buffer.
  user_data | This parameter is passed to f.
  limit | The size limit information of msgpack::object.

Returns
  msgpack::object that contains unpacked data.

References msgpack::detail::create_object_visitor::referenced(), and unpack().

## unpack() [12/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

  z | The msgpack::zone that is used as a memory of unpacked msgpack objects.
  data | The pointer to the buffer.
  len | The length of the buffer.
  referenced | If the unpacked object contains reference of the buffer, then set as true, otherwise false.
  f | A judging function that msgpack::object refer to the buffer.
  user_data | This parameter is passed to f.
  limit | The size limit information of msgpack::object.

Returns
  msgpack::object that contains unpacked data.

References unpack().

## unpack() [13/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

  z | The msgpack::zone that is used as a memory of unpacked msgpack objects.
  data | The pointer to the buffer.
  len | The length of the buffer.
  f | A judging function that msgpack::object refer to the buffer.
  user_data | This parameter is passed to f.
  limit | The size limit information of msgpack::object.

Returns
  msgpack::object that contains unpacked data.

References MSGPACK_DEPRECATED, msgpack::detail::create_object_visitor::referenced(), and 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

  result | The object_handle that contains unpacked data.
  data | The pointer to the buffer.
  len | The length of the buffer.
  off | The offset position of the buffer. It is read and overwritten.
  referenced | If the unpacked object contains reference of the buffer, then set as true, otherwise false.
  f | A judging function that msgpack::object refer to the buffer.
  user_data | This parameter is passed to f.
  limit | The 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().