MessagePack for C++
Loading...
Searching...
No Matches
unpack_decl.hpp
Go to the documentation of this file.
1//
2// MessagePack for C++ deserializing routine
3//
4// Copyright (C) 2016 KONDO Takatoshi
5//
6// Distributed under the Boost Software License, Version 1.0.
7// (See accompanying file LICENSE_1_0.txt or copy at
8// http://www.boost.org/LICENSE_1_0.txt)
9//
10#ifndef MSGPACK_V2_UNPACK_DECL_HPP
11#define MSGPACK_V2_UNPACK_DECL_HPP
12
14
15namespace msgpack {
16
20
21using v1::unpack_reference_func;
22
23using v1::unpack_error;
24using v1::parse_error;
25using v1::insufficient_bytes;
26using v1::size_overflow;
27using v1::array_size_overflow;
28using v1::map_size_overflow;
29using v1::str_size_overflow;
30using v1::bin_size_overflow;
31using v1::ext_size_overflow;
32using v1::depth_size_overflow;
33using v1::unpack_limit;
34
35namespace detail {
36
37using v1::detail::unpack_user;
38
39using v1::detail::unpack_uint8;
40using v1::detail::unpack_uint16;
41using v1::detail::unpack_uint32;
42using v1::detail::unpack_uint64;
43
44using v1::detail::unpack_int8;
45using v1::detail::unpack_int16;
46using v1::detail::unpack_int32;
47using v1::detail::unpack_int64;
48
49using v1::detail::unpack_float;
50using v1::detail::unpack_double;
51
52using v1::detail::unpack_nil;
53
54using v1::detail::unpack_true;
55using v1::detail::unpack_false;
56
57using v1::detail::unpack_array;
58using v1::detail::unpack_array_item;
59using v1::detail::unpack_map;
60using v1::detail::unpack_map_item;
61using v1::detail::unpack_str;
62using v1::detail::unpack_bin;
63using v1::detail::unpack_ext;
64
65using v1::detail::unpack_stack;
66
67using v1::detail::init_count;
68using v1::detail::decr_count;
69using v1::detail::incr_count;
70
71using v1::detail::get_count;
72
73using v1::detail::fix_tag;
74
75using v1::detail::value;
76
77using v1::detail::load;
78
79} // detail
80
81
82using v1::unpacked;
83
85class unpacker;
86
87template <typename unpack_visitor, typename referenced_buffer_hook>
89
91
104 const char* data, std::size_t len, std::size_t& off, bool& referenced,
105 unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, unpack_limit const& limit = unpack_limit());
106
108
120 const char* data, std::size_t len, std::size_t& off,
121 unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, unpack_limit const& limit = unpack_limit());
122
124
136 const char* data, std::size_t len, bool& referenced,
137 unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, unpack_limit const& limit = unpack_limit());
138
140
151 const char* data, std::size_t len,
152 unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, unpack_limit const& limit = unpack_limit());
153
154
156
168void unpack(
170 const char* data, std::size_t len, std::size_t& off, bool& referenced,
171 unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, unpack_limit const& limit = unpack_limit());
172
174
185void unpack(
187 const char* data, std::size_t len, std::size_t& off,
188 unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, unpack_limit const& limit = unpack_limit());
189
191
202void unpack(
204 const char* data, std::size_t len, bool& referenced,
205 unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, unpack_limit const& limit = unpack_limit());
206
208
218void unpack(
220 const char* data, std::size_t len,
221 unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, unpack_limit const& limit = unpack_limit());
222
224
238 msgpack::zone& z,
239 const char* data, std::size_t len, std::size_t& off, bool& referenced,
240 unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, unpack_limit const& limit = unpack_limit());
241
243
256 msgpack::zone& z,
257 const char* data, std::size_t len, std::size_t& off,
258 unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, unpack_limit const& limit = unpack_limit());
259
261
274 msgpack::zone& z,
275 const char* data, std::size_t len, bool& referenced,
276 unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, unpack_limit const& limit = unpack_limit());
277
279
291 msgpack::zone& z,
292 const char* data, std::size_t len,
293 unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, unpack_limit const& limit = unpack_limit());
294
295namespace detail {
296
298unpack_imp(const char* data, std::size_t len, std::size_t& off,
299 msgpack::zone& result_zone, msgpack::object& result, bool& referenced,
300 unpack_reference_func f, void* user_data,
301 unpack_limit const& limit);
302
303
304} // detail
305
307} // MSGPACK_API_VERSION_NAMESPACE(v2)
309
310} // namespace msgpack
311
312#endif // MSGPACK_V2_UNPACK_DECL_HPP
Definition unpack_decl.hpp:88
The class holds object and zone.
Definition object.hpp:44
Definition unpack_decl.hpp:87
Definition cpp03_zone.hpp:30
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
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
Object class that corresponding to MessagePack format object.
Definition object_fwd.hpp:75
#define MSGPACK_NULLPTR
Definition cpp_config_decl.hpp:85
#define MSGPACK_API_VERSION_NAMESPACE(ns)
Definition versioning.hpp:66