10#ifndef MSGPACK_V3_UNPACK_HPP
11#define MSGPACK_V3_UNPACK_HPP
23inline msgpack::object_handle
unpack(
24 const char* data, std::size_t len, std::size_t& off,
bool& referenced,
26 msgpack::unpack_limit
const& limit
30 msgpack::unique_ptr<msgpack::zone> z(
new msgpack::zone);
33 data, len, off, *z, obj, referenced, f, user_data, limit);
37 return msgpack::object_handle(obj, msgpack::move(z));
39 return msgpack::object_handle(obj, msgpack::move(z));
43 return msgpack::object_handle();
46inline msgpack::object_handle
unpack(
47 const char* data, std::size_t len, std::size_t& off,
49 msgpack::unpack_limit
const& limit)
52 return msgpack::v3::unpack(data, len, off, referenced, f, user_data, limit);
55inline msgpack::object_handle
unpack(
56 const char* data, std::size_t len,
bool& referenced,
58 msgpack::unpack_limit
const& limit)
61 return msgpack::v3::unpack(data, len, off, referenced, f, user_data, limit);
64inline msgpack::object_handle
unpack(
65 const char* data, std::size_t len,
67 msgpack::unpack_limit
const& limit)
71 return msgpack::v3::unpack(data, len, off, referenced, f, user_data, limit);
75 msgpack::object_handle& result,
76 const char* data, std::size_t len, std::size_t& off,
bool& referenced,
78 msgpack::unpack_limit
const& limit)
81 msgpack::unique_ptr<msgpack::zone> z(
new msgpack::zone);
84 data, len, off, *z, obj, referenced, f, user_data, limit);
89 result.
zone() = msgpack::move(z);
93 result.
zone() = msgpack::move(z);
102 const char* data, std::size_t len, std::size_t& off,
103 msgpack::v3::unpack_reference_func f,
void* user_data,
107 msgpack::v3::unpack(result, data, len, off, referenced, f, user_data, limit);
112 const char* data, std::size_t len,
bool& referenced,
117 msgpack::v3::unpack(result, data, len, off, referenced, f, user_data, limit);
121 msgpack::object_handle& result,
122 const char* data, std::size_t len,
124 msgpack::unpack_limit
const& limit)
128 msgpack::v3::unpack(result, data, len, off, referenced, f, user_data, limit);
132inline msgpack::object
unpack(
134 const char* data, std::size_t len, std::size_t& off,
bool& referenced,
136 msgpack::unpack_limit
const& limit)
141 data, len, off, z, obj, referenced, f, user_data, limit);
154inline msgpack::object
unpack(
156 const char* data, std::size_t len, std::size_t& off,
158 msgpack::unpack_limit
const& limit)
161 return msgpack::v3::unpack(z, data, len, off, referenced, f, user_data, limit);
164inline msgpack::object
unpack(
166 const char* data, std::size_t len,
bool& referenced,
168 msgpack::unpack_limit
const& limit)
171 return msgpack::v3::unpack(z, data, len, off, referenced, f, user_data, limit);
174inline msgpack::object
unpack(
176 const char* data, std::size_t len,
178 msgpack::unpack_limit
const& limit)
182 return msgpack::v3::unpack(z, data, len, off, referenced, f, user_data, limit);
The class holds object and zone.
Definition object.hpp:44
void set(msgpack::object const &obj)
Definition object.hpp:64
msgpack::unique_ptr< msgpack::zone > & zone()
Get unique_ptr reference of zone.
Definition object.hpp:90
Definition unpack_decl.hpp:87
parse_return 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=MSGPACK_NULLPTR, void *user_data=MSGPACK_NULLPTR, unpack_limit const &limit=unpack_limit())
Definition unpack.hpp:1352
Definition adaptor_base.hpp:15
bool(* unpack_reference_func)(msgpack::type::object_type type, std::size_t size, void *user_data)
The type of reference or copy judging function.
Definition unpack_decl.hpp:74
parse_return
Definition parse_return.hpp:23
@ PARSE_EXTRA_BYTES
Definition parse_return.hpp:25
@ PARSE_SUCCESS
Definition parse_return.hpp:24
msgpack::object_handle unpack(const char *data, std::size_t len, std::size_t &off, bool &referenced, unpack_reference_func f, void *user_data, unpack_limit const &limit)
Unpack msgpack::object from a buffer.
Definition unpack.hpp:1396
#define MSGPACK_API_VERSION_NAMESPACE(ns)
Definition versioning.hpp:66