10 #ifndef MSGPACK_V2_UNPACK_HPP 11 #define MSGPACK_V2_UNPACK_HPP 40 :parser_t(m_finalizer, initial_buffer_size),
41 detail::create_object_visitor(f, user_data, limit),
45 set_referenced(
false);
90 bool ret = parser_t::next();
93 result.
zone().reset( release_zone() );
98 result.
zone().reset();
106 return next(result, referenced);
119 m_finalizer.set_zone(*
m_z);
129 inline bool unpacker::flush_zone()
137 set_referenced(
false);
146 const char* data, std::size_t len, std::size_t& off,
bool& referenced,
154 std::size_t noff = off;
156 data, len, noff, *z, obj, referenced, f, user_data, limit);
172 const char* data, std::size_t len, std::size_t& off,
181 const char* data, std::size_t len,
bool& referenced,
190 const char* data, std::size_t len,
201 const char* data, std::size_t len, std::size_t& off,
bool& referenced,
208 std::size_t noff = off;
210 data, len, noff, *z, obj, referenced, f, user_data, limit);
230 const char* data, std::size_t len, std::size_t& off,
240 const char* data, std::size_t len,
bool& referenced,
250 const char* data, std::size_t len,
262 const char* data, std::size_t len, std::size_t& off,
bool& referenced,
267 std::size_t noff = off;
270 data, len, noff, z, obj, referenced, f, user_data, limit);
287 const char* data, std::size_t len, std::size_t& off,
297 const char* data, std::size_t len,
bool& referenced,
307 const char* data, std::size_t len,
319 unpack_imp(
const char* data, std::size_t len, std::size_t& off,
324 create_object_visitor v(f, user_data, limit);
325 v.set_zone(result_zone);
327 v.set_referenced(referenced);
329 referenced = v.referenced();
344 #endif // MSGPACK_V2_UNPACK_HPP bool next()
Unpack one msgpack::object.
Definition: parse.hpp:938
void incr_count(void *buffer)
Definition: unpack.hpp:248
Definition: unpack_decl.hpp:87
void set_zone(msgpack::zone &z)
Definition: unpack.hpp:25
msgpack::zone * m_z
Definition: unpack.hpp:29
#define MSGPACK_UNPACKER_INIT_BUFFER_SIZE
Definition: unpack_decl.hpp:43
parse_return
Definition: parse_return.hpp:23
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:1339
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)
Definition: unpack.hpp:228
void set(msgpack::object const &obj)
Definition: object.hpp:63
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
detail::create_object_visitor & visitor()
Definition: unpack.hpp:48
void operator()(char *buffer)
Definition: unpack.hpp:26
bool referenced() const
Definition: create_object_visitor.hpp:63
Definition: adaptor_base.hpp:15
Definition: cpp03_zone.hpp:22
unpacker(unpack_reference_func f=&unpacker::default_reference_func, void *user_data=MSGPACK_NULLPTR, std::size_t initial_buffer_size=MSGPACK_UNPACKER_INIT_BUFFER_SIZE, unpack_limit const &limit=unpack_limit())
Definition: unpack.hpp:36
Definition: unpack.hpp:23
object_type
Definition: object_fwd_decl.hpp:28
void push_finalizer(void(*func)(void *), void *data)
Definition: cpp03_zone.hpp:294
void reset_zone()
Definition: unpack.hpp:1278
msgpack::zone * release_zone()
Definition: unpack.hpp:1264
void clear()
Definition: cpp03_zone.hpp:305
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:1383
Object class that corresponding to MessagePack format object.
Definition: object_fwd.hpp:75
#define MSGPACK_API_VERSION_NAMESPACE(ns)
Definition: versioning.hpp:58
Definition: parse_return.hpp:24
parse_return parse_imp(const char *data, size_t len, size_t &off, Visitor &v)
Definition: parse.hpp:1025
Definition: parse_return.hpp:25
msgpack::unique_ptr< msgpack::zone > & zone()
Get unique_ptr reference of zone.
Definition: object.hpp:77
zone_push_finalizer(msgpack::zone &z)
Definition: unpack.hpp:24
void decr_count(void *buffer)
Definition: unpack.hpp:235
Unpacking class for a stream deserialization.
Definition: unpack.hpp:847
#define MSGPACK_NULLPTR
Definition: cpp_config_decl.hpp:35
Definition: create_object_visitor.hpp:25
Parsing class for a stream deserialization.
Definition: parse.hpp:618
The class holds object and zone.
Definition: object.hpp:43