x3_unpack_decl.hpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. //
  2. // MessagePack for C++ deserializing routine
  3. //
  4. // Copyright (C) 2018 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_X3_UNPACK_DECL_HPP
  11. #define MSGPACK_V2_X3_UNPACK_DECL_HPP
  12. #if defined(MSGPACK_USE_X3_PARSE)
  13. #include "msgpack/versioning.hpp"
  14. namespace msgpack {
  15. /// @cond
  16. MSGPACK_API_VERSION_NAMESPACE(v2) {
  17. /// @endcond
  18. namespace detail {
  19. template <typename Iterator>
  20. void
  21. unpack_imp(Iterator&& begin, Iterator&& end,
  22. msgpack::zone& result_zone, msgpack::object& result, bool& referenced,
  23. unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR,
  24. unpack_limit const& limit = unpack_limit());
  25. } // namespace detail
  26. template <typename Iterator>
  27. msgpack::object_handle unpack(
  28. Iterator&& begin, Iterator&& end,
  29. bool& referenced,
  30. unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR,
  31. unpack_limit const& limit = unpack_limit());
  32. template <typename Iterator>
  33. msgpack::object_handle unpack(
  34. Iterator&& begin, Iterator&& end,
  35. unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR,
  36. unpack_limit const& limit = unpack_limit());
  37. template <typename Iterator>
  38. msgpack::object unpack(
  39. msgpack::zone& z,
  40. Iterator&& begin, Iterator&& end,
  41. bool& referenced,
  42. unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR,
  43. unpack_limit const& limit = unpack_limit());
  44. template <typename Iterator>
  45. msgpack::object unpack(
  46. msgpack::zone& z,
  47. Iterator&& begin, Iterator&& end,
  48. unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR,
  49. unpack_limit const& limit = unpack_limit());
  50. /// @cond
  51. } // MSGPACK_API_VERSION_NAMESPACE(v2)
  52. /// @endcond
  53. } // namespace msgpack
  54. #endif // defined(MSGPACK_USE_X3_PARSE)
  55. #endif // MSGPACK_V2_X3_UNPACK_DECL_HPP