123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312 |
- //
- // MessagePack for C++ deserializing routine
- //
- // Copyright (C) 2016 KONDO Takatoshi
- //
- // Distributed under the Boost Software License, Version 1.0.
- // (See accompanying file LICENSE_1_0.txt or copy at
- // http://www.boost.org/LICENSE_1_0.txt)
- //
- #ifndef MSGPACK_V2_UNPACK_DECL_HPP
- #define MSGPACK_V2_UNPACK_DECL_HPP
- #include "msgpack/v1/unpack_decl.hpp"
- namespace msgpack {
- /// @cond
- MSGPACK_API_VERSION_NAMESPACE(v2) {
- /// @endcond
- using v1::unpack_reference_func;
- using v1::unpack_error;
- using v1::parse_error;
- using v1::insufficient_bytes;
- using v1::size_overflow;
- using v1::array_size_overflow;
- using v1::map_size_overflow;
- using v1::str_size_overflow;
- using v1::bin_size_overflow;
- using v1::ext_size_overflow;
- using v1::depth_size_overflow;
- using v1::unpack_limit;
- namespace detail {
- using v1::detail::unpack_user;
- using v1::detail::unpack_uint8;
- using v1::detail::unpack_uint16;
- using v1::detail::unpack_uint32;
- using v1::detail::unpack_uint64;
- using v1::detail::unpack_int8;
- using v1::detail::unpack_int16;
- using v1::detail::unpack_int32;
- using v1::detail::unpack_int64;
- using v1::detail::unpack_float;
- using v1::detail::unpack_double;
- using v1::detail::unpack_nil;
- using v1::detail::unpack_true;
- using v1::detail::unpack_false;
- using v1::detail::unpack_array;
- using v1::detail::unpack_array_item;
- using v1::detail::unpack_map;
- using v1::detail::unpack_map_item;
- using v1::detail::unpack_str;
- using v1::detail::unpack_bin;
- using v1::detail::unpack_ext;
- using v1::detail::unpack_stack;
- using v1::detail::init_count;
- using v1::detail::decr_count;
- using v1::detail::incr_count;
- using v1::detail::get_count;
- using v1::detail::fix_tag;
- using v1::detail::value;
- using v1::detail::load;
- } // detail
- using v1::unpacked;
- /// Unpacking class for a stream deserialization.
- class unpacker;
- template <typename unpack_visitor, typename referenced_buffer_hook>
- class basic_unpacker;
- /// Unpack msgpack::object from a buffer.
- /**
- * @param data The pointer to the buffer.
- * @param len The length of the buffer.
- * @param off The offset position of the buffer. It is read and overwritten.
- * @param referenced If the unpacked object contains reference of the buffer, then set as true, otherwise false.
- * @param f A judging function that msgpack::object refer to the buffer.
- * @param user_data This parameter is passed to f.
- * @param limit The size limit information of msgpack::object.
- *
- * @return object_handle that contains unpacked data.
- *
- */
- 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.
- /**
- * @param data The pointer to the buffer.
- * @param len The length of the buffer.
- * @param off The offset position of the buffer. It is read and overwritten.
- * @param f A judging function that msgpack::object refer to the buffer.
- * @param user_data This parameter is passed to f.
- * @param limit The size limit information of msgpack::object.
- *
- * @return object_handle that contains unpacked data.
- *
- */
- 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.
- /**
- * @param data The pointer to the buffer.
- * @param len The length of the buffer.
- * @param referenced If the unpacked object contains reference of the buffer, then set as true, otherwise false.
- * @param f A judging function that msgpack::object refer to the buffer.
- * @param user_data This parameter is passed to f.
- * @param limit The size limit information of msgpack::object.
- *
- * @return object_handle that contains unpacked data.
- *
- */
- 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.
- /**
- * @param data The pointer to the buffer.
- * @param len The length of the buffer.
- * @param f A judging function that msgpack::object refer to the buffer.
- * @param user_data This parameter is passed to f.
- * @param limit The size limit information of msgpack::object.
- *
- * @return object_handle that contains unpacked data.
- *
- */
- 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.
- /**
- * @param result The object_handle that contains unpacked data.
- * @param data The pointer to the buffer.
- * @param len The length of the buffer.
- * @param off The offset position of the buffer. It is read and overwritten.
- * @param referenced If the unpacked object contains reference of the buffer, then set as true, otherwise false.
- * @param f A judging function that msgpack::object refer to the buffer.
- * @param user_data This parameter is passed to f.
- * @param limit The size limit information of msgpack::object.
- *
- *
- */
- void unpack(
- msgpack::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.
- /**
- * @param result The object_handle that contains unpacked data.
- * @param data The pointer to the buffer.
- * @param len The length of the buffer.
- * @param off The offset position of the buffer. It is read and overwritten.
- * @param f A judging function that msgpack::object refer to the buffer.
- * @param user_data This parameter is passed to f.
- * @param limit The size limit information of msgpack::object.
- *
- *
- */
- void unpack(
- msgpack::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.
- /**
- * @param result The object_handle that contains unpacked data.
- * @param data The pointer to the buffer.
- * @param len The length of the buffer.
- * @param referenced If the unpacked object contains reference of the buffer, then set as true, otherwise false.
- * @param f A judging function that msgpack::object refer to the buffer.
- * @param user_data This parameter is passed to f.
- * @param limit The size limit information of msgpack::object.
- *
- *
- */
- void unpack(
- msgpack::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.
- /**
- * @param result The object_handle that contains unpacked data.
- * @param data The pointer to the buffer.
- * @param len The length of the buffer.
- * @param f A judging function that msgpack::object refer to the buffer.
- * @param user_data This parameter is passed to f.
- * @param limit The size limit information of msgpack::object.
- *
- *
- */
- void unpack(
- msgpack::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.
- /**
- * @param z The msgpack::zone that is used as a memory of unpacked msgpack objects.
- * @param data The pointer to the buffer.
- * @param len The length of the buffer.
- * @param off The offset position of the buffer. It is read and overwritten.
- * @param referenced If the unpacked object contains reference of the buffer, then set as true, otherwise false.
- * @param f A judging function that msgpack::object refer to the buffer.
- * @param user_data This parameter is passed to f.
- * @param limit The size limit information of msgpack::object.
- *
- * @return msgpack::object that contains unpacked data.
- *
- */
- 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.
- /**
- * @param z The msgpack::zone that is used as a memory of unpacked msgpack objects.
- * @param data The pointer to the buffer.
- * @param len The length of the buffer.
- * @param off The offset position of the buffer. It is read and overwritten.
- * @param f A judging function that msgpack::object refer to the buffer.
- * @param user_data This parameter is passed to f.
- * @param limit The size limit information of msgpack::object.
- *
- * @return msgpack::object that contains unpacked data.
- *
- */
- 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.
- /**
- * @param z The msgpack::zone that is used as a memory of unpacked msgpack objects.
- * @param data The pointer to the buffer.
- * @param len The length of the buffer.
- * @param referenced If the unpacked object contains reference of the buffer, then set as true, otherwise false.
- * @param f A judging function that msgpack::object refer to the buffer.
- * @param user_data This parameter is passed to f.
- * @param limit The size limit information of msgpack::object.
- *
- * @return msgpack::object that contains unpacked data.
- *
- */
- 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.
- /**
- * @param z The msgpack::zone that is used as a memory of unpacked msgpack objects.
- * @param data The pointer to the buffer.
- * @param len The length of the buffer.
- * @param f A judging function that msgpack::object refer to the buffer.
- * @param user_data This parameter is passed to f.
- * @param limit The size limit information of msgpack::object.
- *
- * @return msgpack::object that contains unpacked data.
- *
- */
- 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());
- namespace detail {
- 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, void* user_data,
- unpack_limit const& limit);
- } // detail
- /// @cond
- } // MSGPACK_API_VERSION_NAMESPACE(v2)
- /// @endcond
- } // namespace msgpack
- #endif // MSGPACK_V2_UNPACK_DECL_HPP
|