cereal.hpp 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /*
  2. * Copyright (c) 2017-2023 zhllxt
  3. *
  4. * author : zhllxt
  5. * email : 37792738@qq.com
  6. *
  7. * Distributed under the Boost Software License, Version 1.0. (See accompanying
  8. * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  9. */
  10. #ifndef __ASIO2_CEREAL_HPP__
  11. #define __ASIO2_CEREAL_HPP__
  12. #if defined(_MSC_VER) && (_MSC_VER >= 1200)
  13. #pragma once
  14. #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
  15. #include <asio2/base/detail/push_options.hpp>
  16. #if defined(_MSC_VER)
  17. # pragma warning(disable:4389) // Signed / unsigned mismatch
  18. # pragma warning(disable:4018) // Signed / unsigned mismatch
  19. #endif
  20. #include <sstream>
  21. #ifndef CEREAL_RAPIDJSON_NAMESPACE
  22. #define CEREAL_RAPIDJSON_NAMESPACE cereal::rapidjson
  23. #endif
  24. #ifndef CEREAL_RAPIDJSON_NAMESPACE_BEGIN
  25. #define CEREAL_RAPIDJSON_NAMESPACE_BEGIN namespace CEREAL_RAPIDJSON_NAMESPACE {
  26. #endif
  27. #ifndef CEREAL_RAPIDJSON_NAMESPACE_END
  28. #define CEREAL_RAPIDJSON_NAMESPACE_END }
  29. #endif
  30. #include <cereal/cereal.hpp>
  31. #include <cereal/types/array.hpp>
  32. #include <cereal/types/atomic.hpp>
  33. #include <cereal/types/bitset.hpp>
  34. #include <cereal/types/chrono.hpp>
  35. #include <cereal/types/complex.hpp>
  36. #include <cereal/types/deque.hpp>
  37. #include <cereal/types/forward_list.hpp>
  38. #include <cereal/types/functional.hpp>
  39. #include <cereal/types/list.hpp>
  40. #include <cereal/types/map.hpp>
  41. #include <cereal/types/memory.hpp>
  42. #include <cereal/types/optional.hpp>
  43. #include <cereal/types/polymorphic.hpp>
  44. #include <cereal/types/queue.hpp>
  45. #include <cereal/types/set.hpp>
  46. #include <cereal/types/stack.hpp>
  47. #include <cereal/types/string.hpp>
  48. #include <cereal/types/tuple.hpp>
  49. #include <cereal/types/unordered_map.hpp>
  50. #include <cereal/types/unordered_set.hpp>
  51. #include <cereal/types/utility.hpp>
  52. #include <cereal/types/valarray.hpp>
  53. #include <cereal/types/variant.hpp>
  54. #include <cereal/types/vector.hpp>
  55. #include <cereal/archives/binary.hpp>
  56. #include <cereal/archives/json.hpp>
  57. #include <cereal/archives/xml.hpp>
  58. #include <cereal/archives/portable_binary.hpp>
  59. namespace cereal
  60. {
  61. using binary_oarchive = BinaryOutputArchive;
  62. using binary_iarchive = BinaryInputArchive;
  63. using json_oarchive = JSONOutputArchive;
  64. using json_iarchive = JSONInputArchive;
  65. using xml_oarchive = XMLOutputArchive;
  66. using xml_iarchive = XMLInputArchive;
  67. using pbinary_oarchive = PortableBinaryOutputArchive;
  68. using pbinary_iarchive = PortableBinaryInputArchive;
  69. using exception = Exception;
  70. }
  71. #include <asio2/base/detail/pop_options.hpp>
  72. #endif // !__ASIO2_CEREAL_HPP__