MessagePack for C++
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
unpack.hpp File Reference
#include "msgpack/versioning.hpp"
#include "object.hpp"
#include "zone.hpp"
#include "unpack_define.h"
#include "cpp_config.hpp"
#include "sysdep.h"
#include <memory>
#include <stdexcept>

Go to the source code of this file.

Classes

struct  msgpack::unpack_error
 
struct  msgpack::parse_error
 
struct  msgpack::insufficient_bytes
 
struct  msgpack::size_overflow
 
struct  msgpack::array_size_overflow
 
struct  msgpack::map_size_overflow
 
struct  msgpack::str_size_overflow
 
struct  msgpack::bin_size_overflow
 
struct  msgpack::ext_size_overflow
 
struct  msgpack::depth_size_overflow
 
class  msgpack::unpack_limit
 
class  msgpack::detail::unpack_user
 
struct  msgpack::detail::unpack_array
 
struct  msgpack::detail::unpack_map
 
class  msgpack::detail::unpack_stack
 
struct  msgpack::detail::fix_tag
 
struct  msgpack::detail::value< T >
 
struct  msgpack::detail::value< fix_tag >
 
class  msgpack::detail::context
 
class  msgpack::unpacker
 Unpacking class for a stream deserialization. More...
 

Namespaces

 msgpack
 
 msgpack::detail
 

Macros

#define MSGPACK_UNPACKER_INIT_BUFFER_SIZE   (64*1024)
 
#define MSGPACK_UNPACKER_RESERVE_SIZE   (32*1024)
 
#define MSGPACK_UNPACKER_DEFAULT_INITIAL_BUFFER_SIZE   MSGPACK_UNPACKER_INIT_BUFFER_SIZE
 

Typedefs

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. More...
 
typedef object_handle msgpack::unpacked
 

Enumerations

enum  msgpack::unpack_return { msgpack::UNPACK_SUCCESS = 2, msgpack::UNPACK_EXTRA_BYTES = 1, msgpack::UNPACK_CONTINUE = 0, msgpack::UNPACK_PARSE_ERROR = -1 }
 

Functions

void msgpack::detail::unpack_uint8 (uint8_t d, msgpack::object &o)
 
void msgpack::detail::unpack_uint16 (uint16_t d, msgpack::object &o)
 
void msgpack::detail::unpack_uint32 (uint32_t d, msgpack::object &o)
 
void msgpack::detail::unpack_uint64 (uint64_t d, msgpack::object &o)
 
void msgpack::detail::unpack_int8 (int8_t d, msgpack::object &o)
 
void msgpack::detail::unpack_int16 (int16_t d, msgpack::object &o)
 
void msgpack::detail::unpack_int32 (int32_t d, msgpack::object &o)
 
void msgpack::detail::unpack_int64 (int64_t d, msgpack::object &o)
 
void msgpack::detail::unpack_float (float d, msgpack::object &o)
 
void msgpack::detail::unpack_double (double d, msgpack::object &o)
 
void msgpack::detail::unpack_nil (msgpack::object &o)
 
void msgpack::detail::unpack_true (msgpack::object &o)
 
void msgpack::detail::unpack_false (msgpack::object &o)
 
void msgpack::detail::unpack_array_item (msgpack::object &c, msgpack::object const &o)
 
void msgpack::detail::unpack_map_item (msgpack::object &c, msgpack::object const &k, msgpack::object const &v)
 
void msgpack::detail::unpack_str (unpack_user &u, const char *p, uint32_t l, msgpack::object &o)
 
void msgpack::detail::unpack_bin (unpack_user &u, const char *p, uint32_t l, msgpack::object &o)
 
void msgpack::detail::unpack_ext (unpack_user &u, const char *p, std::size_t l, msgpack::object &o)
 
void msgpack::detail::init_count (void *buffer)
 
void msgpack::detail::decr_count (void *buffer)
 
void msgpack::detail::incr_count (void *buffer)
 
_msgpack_atomic_counter_t msgpack::detail::get_count (void *buffer)
 
template<typename T >
void msgpack::detail::load (uint32_t &dst, const char *n, typename msgpack::enable_if< sizeof(T)==sizeof(fix_tag)>::type *=nullptr)
 
template<typename T >
void msgpack::detail::load (T &dst, const char *n, typename msgpack::enable_if< sizeof(T)==1 >::type *=nullptr)
 
template<typename T >
void msgpack::detail::load (T &dst, const char *n, typename msgpack::enable_if< sizeof(T)==2 >::type *=nullptr)
 
template<typename T >
void msgpack::detail::load (T &dst, const char *n, typename msgpack::enable_if< sizeof(T)==4 >::type *=nullptr)
 
template<typename T >
void msgpack::detail::load (T &dst, const char *n, typename msgpack::enable_if< sizeof(T)==8 >::type *=nullptr)
 
unpacked msgpack::unpack (const char *data, std::size_t len, std::size_t &off, bool &referenced, unpack_reference_func f=nullptr, void *user_data=nullptr, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
unpacked msgpack::unpack (const char *data, std::size_t len, std::size_t &off, unpack_reference_func f=nullptr, void *user_data=nullptr, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
unpacked msgpack::unpack (const char *data, std::size_t len, bool &referenced, unpack_reference_func f=nullptr, void *user_data=nullptr, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
unpacked msgpack::unpack (const char *data, std::size_t len, unpack_reference_func f=nullptr, void *user_data=nullptr, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
void msgpack::unpack (unpacked &result, const char *data, std::size_t len, std::size_t &off, bool &referenced, unpack_reference_func f=nullptr, void *user_data=nullptr, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
void msgpack::unpack (unpacked &result, const char *data, std::size_t len, std::size_t &off, unpack_reference_func f=nullptr, void *user_data=nullptr, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
void msgpack::unpack (unpacked &result, const char *data, std::size_t len, bool &referenced, unpack_reference_func f=nullptr, void *user_data=nullptr, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
void msgpack::unpack (unpacked &result, const char *data, std::size_t len, unpack_reference_func f=nullptr, void *user_data=nullptr, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
msgpack::object msgpack::unpack (msgpack::zone &z, const char *data, std::size_t len, std::size_t &off, bool &referenced, unpack_reference_func f=nullptr, void *user_data=nullptr, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
msgpack::object msgpack::unpack (msgpack::zone &z, const char *data, std::size_t len, std::size_t &off, unpack_reference_func f=nullptr, void *user_data=nullptr, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
msgpack::object msgpack::unpack (msgpack::zone &z, const char *data, std::size_t len, bool &referenced, unpack_reference_func f=nullptr, void *user_data=nullptr, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
msgpack::object msgpack::unpack (msgpack::zone &z, const char *data, std::size_t len, unpack_reference_func f=nullptr, void *user_data=nullptr, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. More...
 
void msgpack::unpack (unpacked *result, const char *data, std::size_t len, std::size_t *off=nullptr, bool *referenced=nullptr, unpack_reference_func f=nullptr, void *user_data=nullptr, unpack_limit const &limit=unpack_limit())
 Unpack msgpack::object from a buffer. [obsolete]. More...
 
unpack_return msgpack::detail::unpack_imp (const char *data, std::size_t len, std::size_t &off, msgpack::zone &result_zone, msgpack::object &result, bool &referenced, unpack_reference_func f=nullptr, void *user_data=nullptr, unpack_limit const &limit=unpack_limit())
 

Variables

const size_t COUNTER_SIZE = sizeof(_msgpack_atomic_counter_t)
 

Macro Definition Documentation

◆ MSGPACK_UNPACKER_DEFAULT_INITIAL_BUFFER_SIZE

#define MSGPACK_UNPACKER_DEFAULT_INITIAL_BUFFER_SIZE   MSGPACK_UNPACKER_INIT_BUFFER_SIZE

◆ MSGPACK_UNPACKER_INIT_BUFFER_SIZE

#define MSGPACK_UNPACKER_INIT_BUFFER_SIZE   (64*1024)

◆ MSGPACK_UNPACKER_RESERVE_SIZE

#define MSGPACK_UNPACKER_RESERVE_SIZE   (32*1024)

Variable Documentation

◆ COUNTER_SIZE

const size_t COUNTER_SIZE = sizeof(_msgpack_atomic_counter_t)