object_fwd_decl.hpp 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. //
  2. // MessagePack for C++ static resolution routine
  3. //
  4. // Copyright (C) 2008-2016 FURUHASHI Sadayuki and 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_V1_OBJECT_FWD_DECL_HPP
  11. #define MSGPACK_V1_OBJECT_FWD_DECL_HPP
  12. #include "msgpack/versioning.hpp"
  13. #include "msgpack/zone.hpp"
  14. #include "msgpack/object.h"
  15. #include <typeinfo>
  16. namespace msgpack {
  17. /// @cond
  18. MSGPACK_API_VERSION_NAMESPACE(v1) {
  19. /// @endcond
  20. namespace type {
  21. enum object_type {
  22. NIL = MSGPACK_OBJECT_NIL,
  23. BOOLEAN = MSGPACK_OBJECT_BOOLEAN,
  24. POSITIVE_INTEGER = MSGPACK_OBJECT_POSITIVE_INTEGER,
  25. NEGATIVE_INTEGER = MSGPACK_OBJECT_NEGATIVE_INTEGER,
  26. FLOAT32 = MSGPACK_OBJECT_FLOAT32,
  27. FLOAT64 = MSGPACK_OBJECT_FLOAT64,
  28. FLOAT = MSGPACK_OBJECT_FLOAT,
  29. #if defined(MSGPACK_USE_LEGACY_NAME_AS_FLOAT)
  30. DOUBLE = MSGPACK_DEPRECATED("please use FLOAT64 instead") MSGPACK_OBJECT_DOUBLE, // obsolete
  31. #endif // MSGPACK_USE_LEGACY_NAME_AS_FLOAT
  32. STR = MSGPACK_OBJECT_STR,
  33. BIN = MSGPACK_OBJECT_BIN,
  34. ARRAY = MSGPACK_OBJECT_ARRAY,
  35. MAP = MSGPACK_OBJECT_MAP,
  36. EXT = MSGPACK_OBJECT_EXT
  37. };
  38. }
  39. struct object;
  40. struct object_kv;
  41. struct object_array;
  42. struct object_map;
  43. struct object_str;
  44. struct object_bin;
  45. struct object_ext;
  46. #if !defined(MSGPACK_USE_CPP03)
  47. namespace adaptor {
  48. template <typename T, typename Enabler = void>
  49. struct as;
  50. } // namespace adaptor
  51. template <typename T>
  52. struct has_as;
  53. #endif // !defined(MSGPACK_USE_CPP03)
  54. class type_error;
  55. /// @cond
  56. } // MSGPACK_API_VERSION_NAMESPACE(v1)
  57. /// @endcond
  58. } // namespace msgpack
  59. #endif // MSGPACK_V1_OBJECT_FWD_DECL_HPP