소스 검색

增加工程

johnclot69 6 일 전
부모
커밋
2fe563388a
100개의 변경된 파일2210개의 추가작업 그리고 0개의 파일을 삭제
  1. 17 0
      CMakeLists.txt
  2. 3 0
      deps/CMakeLists.txt
  3. 54 0
      deps/boost/CMakeLists.txt
  4. 8 0
      deps/msgpack/CMakeLists.txt
  5. 22 0
      deps/msgpack/include/msgpack.hpp
  6. 19 0
      deps/msgpack/include/msgpack/adaptor/adaptor_base.hpp
  7. 17 0
      deps/msgpack/include/msgpack/adaptor/adaptor_base_decl.hpp
  8. 17 0
      deps/msgpack/include/msgpack/adaptor/array_ref.hpp
  9. 17 0
      deps/msgpack/include/msgpack/adaptor/array_ref_decl.hpp
  10. 15 0
      deps/msgpack/include/msgpack/adaptor/bool.hpp
  11. 15 0
      deps/msgpack/include/msgpack/adaptor/boost/fusion.hpp
  12. 18 0
      deps/msgpack/include/msgpack/adaptor/boost/msgpack_variant.hpp
  13. 17 0
      deps/msgpack/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp
  14. 15 0
      deps/msgpack/include/msgpack/adaptor/boost/optional.hpp
  15. 15 0
      deps/msgpack/include/msgpack/adaptor/boost/string_ref.hpp
  16. 15 0
      deps/msgpack/include/msgpack/adaptor/boost/string_view.hpp
  17. 15 0
      deps/msgpack/include/msgpack/adaptor/carray.hpp
  18. 15 0
      deps/msgpack/include/msgpack/adaptor/char_ptr.hpp
  19. 17 0
      deps/msgpack/include/msgpack/adaptor/check_container_size.hpp
  20. 17 0
      deps/msgpack/include/msgpack/adaptor/check_container_size_decl.hpp
  21. 15 0
      deps/msgpack/include/msgpack/adaptor/complex.hpp
  22. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp11/array.hpp
  23. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp11/array_char.hpp
  24. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp11/array_unsigned_char.hpp
  25. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp11/chrono.hpp
  26. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp11/forward_list.hpp
  27. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp11/reference_wrapper.hpp
  28. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp11/shared_ptr.hpp
  29. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp11/timespec.hpp
  30. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp11/tuple.hpp
  31. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp11/unique_ptr.hpp
  32. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp11/unordered_map.hpp
  33. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp11/unordered_set.hpp
  34. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp17/array_byte.hpp
  35. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp17/byte.hpp
  36. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp17/carray_byte.hpp
  37. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp17/optional.hpp
  38. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp17/string_view.hpp
  39. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp17/variant.hpp
  40. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp17/vector_byte.hpp
  41. 16 0
      deps/msgpack/include/msgpack/adaptor/cpp20/span.hpp
  42. 17 0
      deps/msgpack/include/msgpack/adaptor/define.hpp
  43. 204 0
      deps/msgpack/include/msgpack/adaptor/define_decl.hpp
  44. 15 0
      deps/msgpack/include/msgpack/adaptor/deque.hpp
  45. 17 0
      deps/msgpack/include/msgpack/adaptor/ext.hpp
  46. 17 0
      deps/msgpack/include/msgpack/adaptor/ext_decl.hpp
  47. 17 0
      deps/msgpack/include/msgpack/adaptor/fixint.hpp
  48. 17 0
      deps/msgpack/include/msgpack/adaptor/fixint_decl.hpp
  49. 15 0
      deps/msgpack/include/msgpack/adaptor/float.hpp
  50. 17 0
      deps/msgpack/include/msgpack/adaptor/int.hpp
  51. 17 0
      deps/msgpack/include/msgpack/adaptor/int_decl.hpp
  52. 15 0
      deps/msgpack/include/msgpack/adaptor/list.hpp
  53. 18 0
      deps/msgpack/include/msgpack/adaptor/map.hpp
  54. 17 0
      deps/msgpack/include/msgpack/adaptor/map_decl.hpp
  55. 17 0
      deps/msgpack/include/msgpack/adaptor/msgpack_tuple.hpp
  56. 17 0
      deps/msgpack/include/msgpack/adaptor/msgpack_tuple_decl.hpp
  57. 17 0
      deps/msgpack/include/msgpack/adaptor/nil.hpp
  58. 17 0
      deps/msgpack/include/msgpack/adaptor/nil_decl.hpp
  59. 15 0
      deps/msgpack/include/msgpack/adaptor/pair.hpp
  60. 17 0
      deps/msgpack/include/msgpack/adaptor/raw.hpp
  61. 17 0
      deps/msgpack/include/msgpack/adaptor/raw_decl.hpp
  62. 15 0
      deps/msgpack/include/msgpack/adaptor/set.hpp
  63. 17 0
      deps/msgpack/include/msgpack/adaptor/size_equal_only.hpp
  64. 17 0
      deps/msgpack/include/msgpack/adaptor/size_equal_only_decl.hpp
  65. 15 0
      deps/msgpack/include/msgpack/adaptor/string.hpp
  66. 172 0
      deps/msgpack/include/msgpack/adaptor/tr1/unordered_map.hpp
  67. 166 0
      deps/msgpack/include/msgpack/adaptor/tr1/unordered_set.hpp
  68. 17 0
      deps/msgpack/include/msgpack/adaptor/v4raw.hpp
  69. 17 0
      deps/msgpack/include/msgpack/adaptor/v4raw_decl.hpp
  70. 15 0
      deps/msgpack/include/msgpack/adaptor/vector.hpp
  71. 15 0
      deps/msgpack/include/msgpack/adaptor/vector_bool.hpp
  72. 15 0
      deps/msgpack/include/msgpack/adaptor/vector_char.hpp
  73. 15 0
      deps/msgpack/include/msgpack/adaptor/vector_unsigned_char.hpp
  74. 15 0
      deps/msgpack/include/msgpack/adaptor/wstring.hpp
  75. 26 0
      deps/msgpack/include/msgpack/assert.hpp
  76. 17 0
      deps/msgpack/include/msgpack/cpp_config.hpp
  77. 17 0
      deps/msgpack/include/msgpack/cpp_config_decl.hpp
  78. 18 0
      deps/msgpack/include/msgpack/cpp_version.hpp
  79. 17 0
      deps/msgpack/include/msgpack/create_object_visitor.hpp
  80. 16 0
      deps/msgpack/include/msgpack/create_object_visitor_decl.hpp
  81. 17 0
      deps/msgpack/include/msgpack/fbuffer.hpp
  82. 17 0
      deps/msgpack/include/msgpack/fbuffer_decl.hpp
  83. 30 0
      deps/msgpack/include/msgpack/gcc_atomic.hpp
  84. 18 0
      deps/msgpack/include/msgpack/iterator.hpp
  85. 18 0
      deps/msgpack/include/msgpack/iterator_decl.hpp
  86. 18 0
      deps/msgpack/include/msgpack/meta.hpp
  87. 18 0
      deps/msgpack/include/msgpack/meta_decl.hpp
  88. 17 0
      deps/msgpack/include/msgpack/null_visitor.hpp
  89. 16 0
      deps/msgpack/include/msgpack/null_visitor_decl.hpp
  90. 18 0
      deps/msgpack/include/msgpack/object.hpp
  91. 18 0
      deps/msgpack/include/msgpack/object_decl.hpp
  92. 20 0
      deps/msgpack/include/msgpack/object_fwd.hpp
  93. 18 0
      deps/msgpack/include/msgpack/object_fwd_decl.hpp
  94. 17 0
      deps/msgpack/include/msgpack/pack.hpp
  95. 17 0
      deps/msgpack/include/msgpack/pack_decl.hpp
  96. 18 0
      deps/msgpack/include/msgpack/parse.hpp
  97. 16 0
      deps/msgpack/include/msgpack/parse_decl.hpp
  98. 17 0
      deps/msgpack/include/msgpack/parse_return.hpp
  99. 24 0
      deps/msgpack/include/msgpack/predef.h
  100. 33 0
      deps/msgpack/include/msgpack/predef/architecture.h

+ 17 - 0
CMakeLists.txt

@@ -0,0 +1,17 @@
+cmake_minimum_required(VERSION 3.30)
+project(incubatorGame)
+
+set(CMAKE_CXX_STANDARD 20)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+# 设置所有可执行文件的默认输出目录为 cmake-build-debug/bin
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
+foreach(OUTPUTCONFIG DEBUG RELEASE RELWITHDEBINFO MINSIZEREL)
+    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/bin)
+endforeach()
+
+# 添加依赖库目录(例如 deps 目录)
+add_subdirectory(deps)
+
+# 添加 src 目录
+add_subdirectory(src)

+ 3 - 0
deps/CMakeLists.txt

@@ -0,0 +1,3 @@
+# 管理所有依赖库,这里仅添加 boost 子目录
+add_subdirectory(boost)
+add_subdirectory(msgpack)

+ 54 - 0
deps/boost/CMakeLists.txt

@@ -0,0 +1,54 @@
+if(WIN32)
+    if(DEFINED ENV{BOOST_ROOT})
+        set(BOOST_ROOT $ENV{BOOST_ROOT})
+    endif()
+
+    set(Boost_USE_STATIC_LIBS        ON)
+    set(Boost_USE_MULTITHREADED      ON)
+    set(Boost_USE_STATIC_RUNTIME     OFF)
+endif()
+
+set(Boost_NO_WARN_NEW_VERSIONS ON)
+set(BOOST_REQUIRED_VERSION 1.87)
+
+find_package(Boost ${BOOST_REQUIRED_VERSION} REQUIRED COMPONENTS
+        system
+        filesystem
+        program_options
+        iostreams
+        regex
+        random
+)
+
+if(NOT Boost_FOUND)
+    message(FATAL_ERROR "Boost not found! 请确认 BOOST_ROOT 环境变量是否正确设置。")
+endif()
+
+# 创建一个 INTERFACE 库,封装 Boost 相关设置
+add_library(boost INTERFACE)
+
+# 使用 Boost 的 imported targets 链接各个组件,
+# 这样其它目标在链接 boost 时会自动获得对应组件库的链接信息
+target_link_libraries(boost
+        INTERFACE
+        ${Boost_LIBRARIES}
+)
+
+# 指定 Boost 的包含目录
+target_include_directories(boost
+        INTERFACE
+        ${Boost_INCLUDE_DIRS}
+)
+
+# 定义一些编译选项,避免自动链接某些库
+target_compile_definitions(boost
+        INTERFACE
+        -DBOOST_DATE_TIME_NO_LIB
+        -DBOOST_REGEX_NO_LIB
+        -DBOOST_CHRONO_NO_LIB
+        -DBOOST_SERIALIZATION_NO_LIB
+        -DBOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE
+        -DBOOST_ASIO_NO_DEPRECATED
+        -DBOOST_SYSTEM_USE_UTF8
+        -DBOOST_BIND_NO_PLACEHOLDERS
+)

+ 8 - 0
deps/msgpack/CMakeLists.txt

@@ -0,0 +1,8 @@
+# 将 msgpack 定义为 INTERFACE 库(头文件库)
+add_library(msgpack INTERFACE)
+
+# 指定 msgpack 的头文件所在目录
+target_include_directories(msgpack
+        INTERFACE
+        ${CMAKE_CURRENT_SOURCE_DIR}/include
+)

+ 22 - 0
deps/msgpack/include/msgpack.hpp

@@ -0,0 +1,22 @@
+//
+// MessagePack for C++
+//
+// Copyright (C) 2008-2009 FURUHASHI Sadayuki
+//
+//    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)
+//
+#include "msgpack/object.hpp"
+#include "msgpack/iterator.hpp"
+#include "msgpack/zone.hpp"
+#include "msgpack/pack.hpp"
+#include "msgpack/null_visitor.hpp"
+#include "msgpack/parse.hpp"
+#include "msgpack/unpack.hpp"
+#include "msgpack/x3_parse.hpp"
+#include "msgpack/x3_unpack.hpp"
+#include "msgpack/sbuffer.hpp"
+#include "msgpack/vrefbuffer.hpp"
+#include "msgpack/version.hpp"
+#include "msgpack/type.hpp"

+ 19 - 0
deps/msgpack/include/msgpack/adaptor/adaptor_base.hpp

@@ -0,0 +1,19 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2015-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_ADAPTOR_BASE_HPP
+#define MSGPACK_ADAPTOR_BASE_HPP
+
+#include "msgpack/adaptor/adaptor_base_decl.hpp"
+
+#include "msgpack/v1/adaptor/adaptor_base.hpp"
+#include "msgpack/v2/adaptor/adaptor_base.hpp"
+#include "msgpack/v3/adaptor/adaptor_base.hpp"
+
+#endif // MSGPACK_ADAPTOR_BASE_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/adaptor_base_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution 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_ADAPTOR_BASE_DECL_HPP
+#define MSGPACK_ADAPTOR_BASE_DECL_HPP
+
+#include "msgpack/v1/adaptor/adaptor_base_decl.hpp"
+#include "msgpack/v2/adaptor/adaptor_base_decl.hpp"
+#include "msgpack/v3/adaptor/adaptor_base_decl.hpp"
+
+#endif // MSGPACK_ADAPTOR_BASE_DECL_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/array_ref.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2008-2016 FURUHASHI Sadayuki and 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_TYPE_ARRAY_REF_HPP
+#define MSGPACK_TYPE_ARRAY_REF_HPP
+
+#include "msgpack/adaptor/array_ref_decl.hpp"
+
+#include "msgpack/v1/adaptor/array_ref.hpp"
+
+#endif // MSGPACK_TYPE_ARRAY_REFL_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/array_ref_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2008-2016 FURUHASHI Sadayuki and 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_TYPE_ARRAY_REF_DECL_HPP
+#define MSGPACK_TYPE_ARRAY_REF_DECL_HPP
+
+#include "msgpack/v1/adaptor/array_ref_decl.hpp"
+#include "msgpack/v2/adaptor/array_ref_decl.hpp"
+#include "msgpack/v3/adaptor/array_ref_decl.hpp"
+
+#endif // MSGPACK_TYPE_ARRAY_REF_DECL_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/bool.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2008-2016 FURUHASHI Sadayuki and 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_TYPE_BOOL_HPP
+#define MSGPACK_TYPE_BOOL_HPP
+
+#include "msgpack/v1/adaptor/bool.hpp"
+
+#endif // MSGPACK_TYPE_BOOL_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/boost/fusion.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2015 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_TYPE_BOOST_FUSION_HPP
+#define MSGPACK_TYPE_BOOST_FUSION_HPP
+
+#include "msgpack/v1/adaptor/boost/fusion.hpp"
+
+#endif // MSGPACK_TYPE_BOOST_FUSION_HPP

+ 18 - 0
deps/msgpack/include/msgpack/adaptor/boost/msgpack_variant.hpp

@@ -0,0 +1,18 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2015-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_TYPE_BOOST_MSGPACK_VARIANT_HPP
+#define MSGPACK_TYPE_BOOST_MSGPACK_VARIANT_HPP
+
+#include "msgpack/adaptor/boost/msgpack_variant_decl.hpp"
+
+#include "msgpack/v1/adaptor/boost/msgpack_variant.hpp"
+//#inc "msgpack/v2/adaptor/boost/msgpack_variant.hpp"
+
+#endif // MSGPACK_TYPE_BOOST_MSGPACK_VARIANT_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP
+#define MSGPACK_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP
+
+#include "msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp"
+#include "msgpack/v2/adaptor/boost/msgpack_variant_decl.hpp"
+#include "msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp"
+
+#endif // MSGPACK_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/boost/optional.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_BOOST_OPTIONAL_HPP
+#define MSGPACK_TYPE_BOOST_OPTIONAL_HPP
+
+#include "msgpack/v1/adaptor/boost/optional.hpp"
+
+#endif // MSGPACK_TYPE_BOOST_OPTIONAL_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/boost/string_ref.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_BOOST_STRING_REF_HPP
+#define MSGPACK_TYPE_BOOST_STRING_REF_HPP
+
+#include "msgpack/v1/adaptor/boost/string_ref.hpp"
+
+#endif // MSGPACK_TYPE_BOOST_STRING_REF_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/boost/string_view.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2017 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_TYPE_BOOST_STRING_VIEW_HPP
+#define MSGPACK_TYPE_BOOST_STRING_VIEW_HPP
+
+#include "msgpack/v1/adaptor/boost/string_view.hpp"
+
+#endif // MSGPACK_TYPE_BOOST_STRING_VIEW_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/carray.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_CARRAY_HPP
+#define MSGPACK_TYPE_CARRAY_HPP
+
+#include "msgpack/v1/adaptor/carray.hpp"
+
+#endif // MSGPACK_TYPE_CARRAY_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/char_ptr.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_CHAR_PTR_HPP
+#define MSGPACK_TYPE_CHAR_PTR_HPP
+
+#include "msgpack/v1/adaptor/char_ptr.hpp"
+
+#endif // MSGPACK_TYPE_CHAR_PTR_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/check_container_size.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2015-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_CHECK_CONTAINER_SIZE_HPP
+#define MSGPACK_CHECK_CONTAINER_SIZE_HPP
+
+#include "msgpack/adaptor/check_container_size_decl.hpp"
+
+#include "msgpack/v1/adaptor/check_container_size.hpp"
+
+#endif // MSGPACK_CHECK_CONTAINER_SIZE_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/check_container_size_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution 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_CHECK_CONTAINER_SIZE_DECL_HPP
+#define MSGPACK_CHECK_CONTAINER_SIZE_DECL_HPP
+
+#include "msgpack/v1/adaptor/check_container_size_decl.hpp"
+#include "msgpack/v2/adaptor/check_container_size_decl.hpp"
+#include "msgpack/v3/adaptor/check_container_size_decl.hpp"
+
+#endif // MSGPACK_CHECK_CONTAINER_SIZE_DECL_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/complex.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2020 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_TYPE_COMPLEX_HPP
+#define MSGPACK_TYPE_COMPLEX_HPP
+
+#include "msgpack/v1/adaptor/complex.hpp"
+
+#endif // MSGPACK_TYPE_COMPLEX_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp11/array.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_CPP11_ARRAY_HPP
+#define MSGPACK_TYPE_CPP11_ARRAY_HPP
+
+#include "msgpack/v1/adaptor/cpp11/array.hpp"
+
+#endif // MSGPACK_TYPE_CPP11_ARRAY_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp11/array_char.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_CPP11_ARRAY_CHAR_HPP
+#define MSGPACK_TYPE_CPP11_ARRAY_CHAR_HPP
+
+#include "msgpack/v1/adaptor/cpp11/array_char.hpp"
+
+#endif // MSGPACK_TYPE_CPP11_ARRAY_CHAR_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp11/array_unsigned_char.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_CPP11_ARRAY_UNSIGNED_CHAR_HPP
+#define MSGPACK_TYPE_CPP11_ARRAY_UNSIGNED_CHAR_HPP
+
+#include "msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp"
+
+#endif // MSGPACK_TYPE_CPP11_ARRAY_UNSIGNED_CHAR_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp11/chrono.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2017 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_TYPE_CPP11_CHRONO_HPP
+#define MSGPACK_TYPE_CPP11_CHRONO_HPP
+
+#include "msgpack/v1/adaptor/cpp11/chrono.hpp"
+
+#endif // MSGPACK_TYPE_CPP11_CHRONO_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp11/forward_list.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_CPP11_FORWARD_LIST_HPP
+#define MSGPACK_TYPE_CPP11_FORWARD_LIST_HPP
+
+#include "msgpack/v1/adaptor/cpp11/forward_list.hpp"
+
+#endif // MSGPACK_TYPE_CPP11_FORWARD_LIST_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp11/reference_wrapper.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_CPP11_REFERENCE_WRAPPER_HPP
+#define MSGPACK_TYPE_CPP11_REFERENCE_WRAPPER_HPP
+
+#include "msgpack/v1/adaptor/cpp11/reference_wrapper.hpp"
+
+#endif // MSGPACK_TYPE_CPP11_REFERENCE_WRAPPER_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp11/shared_ptr.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_CPP11_SHARED_PTR_HPP
+#define MSGPACK_TYPE_CPP11_SHARED_PTR_HPP
+
+#include "msgpack/v1/adaptor/cpp11/shared_ptr.hpp"
+
+#endif // MSGPACK_TYPE_CPP11_SHARED_PTR_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp11/timespec.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2019 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_TYPE_CPP11_TIMESPEC_HPP
+#define MSGPACK_TYPE_CPP11_TIMESPEC_HPP
+
+#include "msgpack/v1/adaptor/cpp11/timespec.hpp"
+
+#endif // MSGPACK_TYPE_CPP11_TIMESPEC_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp11/tuple.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_CPP11_TUPLE_HPP
+#define MSGPACK_TYPE_CPP11_TUPLE_HPP
+
+#include "msgpack/v1/adaptor/cpp11/tuple.hpp"
+
+#endif // MSGPACK_TYPE_CPP11_TUPLE_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp11/unique_ptr.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_CPP11_UNIQUE_PTR_HPP
+#define MSGPACK_TYPE_CPP11_UNIQUE_PTR_HPP
+
+#include "msgpack/v1/adaptor/cpp11/unique_ptr.hpp"
+
+#endif // MSGPACK_TYPE_CPP11_UNIQUE_PTR_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp11/unordered_map.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_CPP11_UNORDERED_MAP_HPP
+#define MSGPACK_TYPE_CPP11_UNORDERED_MAP_HPP
+
+#include "msgpack/v1/adaptor/cpp11/unordered_map.hpp"
+
+#endif // MSGPACK_TYPE_CPP11_UNORDERED_MAP_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp11/unordered_set.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_CPP11_UNORDERED_SET_HPP
+#define MSGPACK_TYPE_CPP11_UNORDERED_SET_HPP
+
+#include "msgpack/v1/adaptor/cpp11/unordered_set.hpp"
+
+#endif // MSGPACK_TYPE_CPP11_UNORDERED_SET_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp17/array_byte.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2021 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_TYPE_CPP17_ARRAY_BYTE_HPP
+#define MSGPACK_TYPE_CPP17_ARRAY_BYTE_HPP
+
+#include "msgpack/v1/adaptor/cpp17/array_byte.hpp"
+
+#endif // MSGPACK_TYPE_CPP17_ARRAY_BYTE_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp17/byte.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2018 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_TYPE_CPP17_BYTE_HPP
+#define MSGPACK_TYPE_CPP17_BYTE_HPP
+
+#include "msgpack/v1/adaptor/cpp17/byte.hpp"
+
+#endif // MSGPACK_TYPE_CPP17_BYTE_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp17/carray_byte.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2018 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_TYPE_CPP17_CARRAY_BYTE_HPP
+#define MSGPACK_TYPE_CPP17_CARRAY_BYTE_HPP
+
+#include "msgpack/v1/adaptor/cpp17/carray_byte.hpp"
+
+#endif // MSGPACK_TYPE_CPP17_CARRAY_BYTE_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp17/optional.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2017 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_TYPE_CPP17_OPTIONAL_HPP
+#define MSGPACK_TYPE_CPP17_OPTIONAL_HPP
+
+#include "msgpack/v1/adaptor/cpp17/optional.hpp"
+
+#endif // MSGPACK_TYPE_CPP17_OPTIONAL_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp17/string_view.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2017 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_TYPE_CPP17_STRING_VIEW_HPP
+#define MSGPACK_TYPE_CPP17_STRING_VIEW_HPP
+
+#include "msgpack/v1/adaptor/cpp17/string_view.hpp"
+
+#endif // MSGPACK_TYPE_CPP17_STRING_VIEW_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp17/variant.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2023 Uy Ha
+//
+//    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_TYPE_CPP17_VARIANT_HPP
+#define MSGPACK_TYPE_CPP17_VARIANT_HPP
+
+#include "msgpack/v1/adaptor/cpp17/variant.hpp"
+
+#endif // MSGPACK_TYPE_CPP17_VARIANT_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp17/vector_byte.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2018 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_TYPE_CPP17_VECTOR_BYTE_HPP
+#define MSGPACK_TYPE_CPP17_VECTOR_BYTE_HPP
+
+#include "msgpack/v1/adaptor/cpp17/vector_byte.hpp"
+
+#endif // MSGPACK_TYPE_CPP17_VECTOR_BYTE_HPP

+ 16 - 0
deps/msgpack/include/msgpack/adaptor/cpp20/span.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2021 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_TYPE_CPP20_SPAN_HPP
+#define MSGPACK_TYPE_CPP20_SPAN_HPP
+
+#include "msgpack/v1/adaptor/cpp20/span.hpp"
+
+#endif // MSGPACK_TYPE_CPP20_SPAN_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/define.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2008-2016 FURUHASHI Sadayuki and 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_DEFINE_HPP
+#define MSGPACK_DEFINE_HPP
+
+#include "msgpack/adaptor/define_decl.hpp"
+
+#include "msgpack/v1/adaptor/define.hpp"
+
+#endif // MSGPACK_DEFINE_HPP

+ 204 - 0
deps/msgpack/include/msgpack/adaptor/define_decl.hpp

@@ -0,0 +1,204 @@
+//
+// MessagePack for C++ static resolution 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_DEFINE_DECL_HPP
+#define MSGPACK_DEFINE_DECL_HPP
+
+#if defined(MSGPACK_NO_BOOST)
+
+// MSGPACK_PP_VARIADICS is defined in msgpack/preprocessor/config/config.hpp
+// http://www.boost.org/libs/preprocessor/doc/ref/variadics.html
+// However, supporting compiler detection is not complete. msgpack requires
+// variadic macro arguments support. So MSGPACK_PP_VARIADICS is defined here explicitly.
+#if !defined(MSGPACK_PP_VARIADICS)
+#define MSGPACK_PP_VARIADICS
+#endif
+
+#include <msgpack/preprocessor.hpp>
+
+#define MSGPACK_BASE_ARRAY(base) (*const_cast<base *>(static_cast<base const*>(this)))
+#define MSGPACK_NVP(name, value) (name) (value)
+
+#define MSGPACK_DEFINE_MAP_EACH_PROC(r, data, elem) \
+    MSGPACK_PP_IF( \
+        MSGPACK_PP_IS_BEGIN_PARENS(elem), \
+        elem, \
+        (MSGPACK_PP_STRINGIZE(elem))(elem) \
+    )
+
+#define MSGPACK_DEFINE_MAP_IMPL(...) \
+    MSGPACK_PP_SEQ_TO_TUPLE( \
+        MSGPACK_PP_SEQ_FOR_EACH( \
+            MSGPACK_DEFINE_MAP_EACH_PROC, \
+            0, \
+            MSGPACK_PP_VARIADIC_TO_SEQ(__VA_ARGS__) \
+        ) \
+    )
+
+#define MSGPACK_DEFINE_MAP(...) \
+    template <typename Packer> \
+    void msgpack_pack(Packer& msgpack_pk) const \
+    { \
+        msgpack::type::make_define_map \
+            MSGPACK_DEFINE_MAP_IMPL(__VA_ARGS__) \
+            .msgpack_pack(msgpack_pk); \
+    } \
+    void msgpack_unpack(msgpack::object const& msgpack_o) \
+    { \
+        msgpack::type::make_define_map \
+            MSGPACK_DEFINE_MAP_IMPL(__VA_ARGS__) \
+            .msgpack_unpack(msgpack_o); \
+    }\
+    template <typename MSGPACK_OBJECT> \
+    void msgpack_object(MSGPACK_OBJECT* msgpack_o, msgpack::zone& msgpack_z) const \
+    { \
+        msgpack::type::make_define_map \
+            MSGPACK_DEFINE_MAP_IMPL(__VA_ARGS__) \
+            .msgpack_object(msgpack_o, msgpack_z); \
+    }
+
+#define MSGPACK_BASE_MAP(base) \
+    (MSGPACK_PP_STRINGIZE(base))(*const_cast<base *>(static_cast<base const*>(this)))
+
+#else  // defined(MSGPACK_NO_BOOST)
+
+// BOOST_PP_VARIADICS is defined in boost/preprocessor/config/config.hpp
+// http://www.boost.org/libs/preprocessor/doc/ref/variadics.html
+// However, supporting compiler detection is not complete. msgpack requires
+// variadic macro arguments support. So BOOST_PP_VARIADICS is defined here explicitly.
+#if !defined(BOOST_PP_VARIADICS)
+#define BOOST_PP_VARIADICS
+#endif
+
+#include <boost/preprocessor.hpp>
+
+#define MSGPACK_BASE_ARRAY(base) (*const_cast<base *>(static_cast<base const*>(this)))
+#define MSGPACK_NVP(name, value) (name) (value)
+
+#define MSGPACK_DEFINE_MAP_EACH_PROC(r, data, elem) \
+    BOOST_PP_IF( \
+        BOOST_PP_IS_BEGIN_PARENS(elem), \
+        elem, \
+        (BOOST_PP_STRINGIZE(elem))(elem) \
+    )
+
+#define MSGPACK_DEFINE_MAP_IMPL(...) \
+    BOOST_PP_SEQ_TO_TUPLE( \
+        BOOST_PP_SEQ_FOR_EACH( \
+            MSGPACK_DEFINE_MAP_EACH_PROC, \
+            0, \
+            BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__) \
+        ) \
+    )
+
+#define MSGPACK_DEFINE_MAP(...) \
+    template <typename Packer> \
+    void msgpack_pack(Packer& msgpack_pk) const \
+    { \
+        msgpack::type::make_define_map \
+            MSGPACK_DEFINE_MAP_IMPL(__VA_ARGS__) \
+            .msgpack_pack(msgpack_pk); \
+    } \
+    void msgpack_unpack(msgpack::object const& msgpack_o) \
+    { \
+        msgpack::type::make_define_map \
+            MSGPACK_DEFINE_MAP_IMPL(__VA_ARGS__) \
+            .msgpack_unpack(msgpack_o); \
+    }\
+    template <typename MSGPACK_OBJECT> \
+    void msgpack_object(MSGPACK_OBJECT* msgpack_o, msgpack::zone& msgpack_z) const \
+    { \
+        msgpack::type::make_define_map \
+            MSGPACK_DEFINE_MAP_IMPL(__VA_ARGS__) \
+            .msgpack_object(msgpack_o, msgpack_z); \
+    }
+
+#define MSGPACK_BASE_MAP(base) \
+    (BOOST_PP_STRINGIZE(base))(*const_cast<base *>(static_cast<base const*>(this)))
+
+#endif // defined(MSGPACK_NO_BOOST)
+
+#include "msgpack/versioning.hpp"
+
+// for MSGPACK_ADD_ENUM
+#include "msgpack/adaptor/int.hpp"
+
+#define MSGPACK_DEFINE_ARRAY(...) \
+    template <typename Packer> \
+    void msgpack_pack(Packer& msgpack_pk) const \
+    { \
+        msgpack::type::make_define_array(__VA_ARGS__).msgpack_pack(msgpack_pk); \
+    } \
+    void msgpack_unpack(msgpack::object const& msgpack_o) \
+    { \
+        msgpack::type::make_define_array(__VA_ARGS__).msgpack_unpack(msgpack_o); \
+    }\
+    template <typename MSGPACK_OBJECT> \
+    void msgpack_object(MSGPACK_OBJECT* msgpack_o, msgpack::zone& msgpack_z) const \
+    { \
+        msgpack::type::make_define_array(__VA_ARGS__).msgpack_object(msgpack_o, msgpack_z); \
+    }
+
+// MSGPACK_ADD_ENUM must be used in the global namespace.
+#define MSGPACK_ADD_ENUM(enum_name) \
+  namespace msgpack { \
+  /** @cond */ \
+  MSGPACK_API_VERSION_NAMESPACE(MSGPACK_DEFAULT_API_NS) { \
+  /** @endcond */ \
+  namespace adaptor { \
+    template<> \
+    struct convert<enum_name> { \
+      msgpack::object const& operator()(msgpack::object const& msgpack_o, enum_name& msgpack_v) const { \
+        msgpack::underlying_type<enum_name>::type tmp; \
+        msgpack::operator>>(msgpack_o, tmp);                   \
+        msgpack_v = static_cast<enum_name>(tmp);   \
+        return msgpack_o; \
+      } \
+    }; \
+    template<> \
+    struct object<enum_name> { \
+      void operator()(msgpack::object& msgpack_o, const enum_name& msgpack_v) const { \
+        msgpack::underlying_type<enum_name>::type tmp = static_cast<msgpack::underlying_type<enum_name>::type>(msgpack_v); \
+        msgpack::operator<<(msgpack_o, tmp);                                    \
+      } \
+    }; \
+    template<> \
+    struct object_with_zone<enum_name> { \
+      void operator()(msgpack::object::with_zone& msgpack_o, const enum_name& msgpack_v) const {  \
+        msgpack::underlying_type<enum_name>::type tmp = static_cast<msgpack::underlying_type<enum_name>::type>(msgpack_v); \
+        msgpack::operator<<(msgpack_o, tmp);                                    \
+      } \
+    }; \
+    template <> \
+    struct pack<enum_name> { \
+      template <typename Stream> \
+      msgpack::packer<Stream>& operator()(msgpack::packer<Stream>& msgpack_o, const enum_name& msgpack_v) const { \
+          return msgpack::operator<<(msgpack_o, static_cast<msgpack::underlying_type<enum_name>::type>(msgpack_v)); \
+      } \
+    }; \
+  } \
+  /** @cond */ \
+  } \
+  /** @endcond */ \
+  }
+
+#if defined(MSGPACK_USE_DEFINE_MAP)
+#define MSGPACK_DEFINE MSGPACK_DEFINE_MAP
+#define MSGPACK_BASE MSGPACK_BASE_MAP
+#else  // defined(MSGPACK_USE_DEFINE_MAP)
+#define MSGPACK_DEFINE MSGPACK_DEFINE_ARRAY
+#define MSGPACK_BASE MSGPACK_BASE_ARRAY
+#endif // defined(MSGPACK_USE_DEFINE_MAP)
+
+
+#include "msgpack/v1/adaptor/define_decl.hpp"
+#include "msgpack/v2/adaptor/define_decl.hpp"
+#include "msgpack/v3/adaptor/define_decl.hpp"
+
+#endif // MSGPACK_DEFINE_DECL_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/deque.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_DEQUE_HPP
+#define MSGPACK_TYPE_DEQUE_HPP
+
+#include "msgpack/v1/adaptor/deque.hpp"
+
+#endif // MSGPACK_TYPE_DEQUE_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/ext.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2015 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_TYPE_EXT_HPP
+#define MSGPACK_TYPE_EXT_HPP
+
+#include "msgpack/adaptor/ext_decl.hpp"
+
+#include "msgpack/v1/adaptor/ext.hpp"
+
+#endif //  MSGPACK_TYPE_EXT_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/ext_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_EXT_DECL_HPP
+#define MSGPACK_TYPE_EXT_DECL_HPP
+
+#include "msgpack/v1/adaptor/ext_decl.hpp"
+#include "msgpack/v2/adaptor/ext_decl.hpp"
+#include "msgpack/v3/adaptor/ext_decl.hpp"
+
+#endif // MSGPACK_TYPE_EXT_DECL_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/fixint.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2016 FURUHASHI Sadayuki and 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_TYPE_FIXINT_HPP
+#define MSGPACK_TYPE_FIXINT_HPP
+
+#include "msgpack/adaptor/fixint_decl.hpp"
+
+#include "msgpack/v1/adaptor/fixint.hpp"
+
+#endif // MSGPACK_TYPE_FIXINT_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/fixint_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2016 FURUHASHI Sadayuki and 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_TYPE_FIXINT_DECL_HPP
+#define MSGPACK_TYPE_FIXINT_DECL_HPP
+
+#include "msgpack/v1/adaptor/fixint_decl.hpp"
+#include "msgpack/v2/adaptor/fixint_decl.hpp"
+#include "msgpack/v3/adaptor/fixint_decl.hpp"
+
+#endif // MSGPACK_TYPE_FIXINT_DECL_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/float.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_FLOAT_HPP
+#define MSGPACK_TYPE_FLOAT_HPP
+
+#include "msgpack/v1/adaptor/float.hpp"
+
+#endif // MSGPACK_TYPE_FLOAT_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/int.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_INT_HPP
+#define MSGPACK_TYPE_INT_HPP
+
+#include "msgpack/adaptor/int_decl.hpp"
+
+#include "msgpack/v1/adaptor/int.hpp"
+
+#endif // MSGPACK_TYPE_INT_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/int_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_INT_DECL_HPP
+#define MSGPACK_TYPE_INT_DECL_HPP
+
+#include "msgpack/v1/adaptor/int_decl.hpp"
+#include "msgpack/v2/adaptor/int_decl.hpp"
+#include "msgpack/v3/adaptor/int_decl.hpp"
+
+#endif // MSGPACK_TYPE_INT_DECL_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/list.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_LIST_HPP
+#define MSGPACK_TYPE_LIST_HPP
+
+#include "msgpack/v1/adaptor/list.hpp"
+
+#endif // MSGPACK_TYPE_LIST_HPP

+ 18 - 0
deps/msgpack/include/msgpack/adaptor/map.hpp

@@ -0,0 +1,18 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2008-2016 FURUHASHI Sadayuki and 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_TYPE_MAP_HPP
+#define MSGPACK_TYPE_MAP_HPP
+
+#include "msgpack/adaptor/map_decl.hpp"
+
+#include "msgpack/v1/adaptor/map.hpp"
+
+
+#endif // MSGPACK_TYPE_MAP_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/map_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2008-2016 FURUHASHI Sadayuki and 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_TYPE_MAP_DECL_HPP
+#define MSGPACK_TYPE_MAP_DECL_HPP
+
+#include "msgpack/v1/adaptor/map_decl.hpp"
+#include "msgpack/v2/adaptor/map_decl.hpp"
+#include "msgpack/v3/adaptor/map_decl.hpp"
+
+#endif // MSGPACK_TYPE_MAP_DECL_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/msgpack_tuple.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2008-2014 FURUHASHI Sadayuki and 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_MSGPACK_TUPLE_HPP
+#define MSGPACK_MSGPACK_TUPLE_HPP
+
+#include "msgpack/adaptor/msgpack_tuple_decl.hpp"
+
+#include "msgpack/v1/adaptor/msgpack_tuple.hpp"
+
+#endif // MSGPACK_MSGPACK_TUPLE_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/msgpack_tuple_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution 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_MSGPACK_TUPLE_DECL_HPP
+#define MSGPACK_MSGPACK_TUPLE_DECL_HPP
+
+#include "msgpack/v1/adaptor/msgpack_tuple_decl.hpp"
+#include "msgpack/v2/adaptor/msgpack_tuple_decl.hpp"
+#include "msgpack/v3/adaptor/msgpack_tuple_decl.hpp"
+
+#endif // MSGPACK_MSGPACK_TUPLE_DECL_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/nil.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2008-2016 FURUHASHI Sadayuki and 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_TYPE_NIL_HPP
+#define MSGPACK_TYPE_NIL_HPP
+
+#include "msgpack/adaptor/nil_decl.hpp"
+
+#include "msgpack/v1/adaptor/nil.hpp"
+
+#endif // MSGPACK_TYPE_NIL_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/nil_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_NIL_DECL_HPP
+#define MSGPACK_TYPE_NIL_DECL_HPP
+
+#include "msgpack/v1/adaptor/nil_decl.hpp"
+#include "msgpack/v2/adaptor/nil_decl.hpp"
+#include "msgpack/v3/adaptor/nil_decl.hpp"
+
+#endif // MSGPACK_TYPE_NIL_DECL_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/pair.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_PAIR_HPP
+#define MSGPACK_TYPE_PAIR_HPP
+
+#include "msgpack/v1/adaptor/pair.hpp"
+
+#endif // MSGPACK_TYPE_PAIR_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/raw.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2008-2016 FURUHASHI Sadayuki and 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_TYPE_RAW_HPP
+#define MSGPACK_TYPE_RAW_HPP
+
+#include "msgpack/adaptor/raw_decl.hpp"
+
+#include "msgpack/v1/adaptor/raw.hpp"
+
+#endif // MSGPACK_TYPE_RAW_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/raw_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_RAW_DECL_HPP
+#define MSGPACK_TYPE_RAW_DECL_HPP
+
+#include "msgpack/v1/adaptor/raw_decl.hpp"
+#include "msgpack/v2/adaptor/raw_decl.hpp"
+#include "msgpack/v3/adaptor/raw_decl.hpp"
+
+#endif // MSGPACK_TYPE_RAW_DECL_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/set.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_SET_HPP
+#define MSGPACK_TYPE_SET_HPP
+
+#include "msgpack/v1/adaptor/set.hpp"
+
+#endif // MSGPACK_TYPE_SET_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/size_equal_only.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_SIZE_EQUAL_ONLY_HPP
+#define MSGPACK_TYPE_SIZE_EQUAL_ONLY_HPP
+
+#include "msgpack/adaptor/size_equal_only_decl.hpp"
+
+#include "msgpack/v1/adaptor/size_equal_only.hpp"
+
+#endif // MSGPACK_TYPE_SIZE_EQUAL_ONLYL_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/size_equal_only_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_SIZE_EQUAL_ONLY_DECL_HPP
+#define MSGPACK_TYPE_SIZE_EQUAL_ONLY_DECL_HPP
+
+#include "msgpack/v1/adaptor/size_equal_only_decl.hpp"
+#include "msgpack/v2/adaptor/size_equal_only_decl.hpp"
+#include "msgpack/v3/adaptor/size_equal_only_decl.hpp"
+
+#endif // MSGPACK_TYPE_SIZE_EQUAL_ONLY_DECL_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/string.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_STRING_HPP
+#define MSGPACK_TYPE_STRING_HPP
+
+#include "msgpack/v1/adaptor/string.hpp"
+
+#endif // MSGPACK_TYPE_STRING_HPP

+ 172 - 0
deps/msgpack/include/msgpack/adaptor/tr1/unordered_map.hpp

@@ -0,0 +1,172 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2008-2015 FURUHASHI Sadayuki
+//
+//    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_TYPE_TR1_UNORDERED_MAP_HPP
+#define MSGPACK_TYPE_TR1_UNORDERED_MAP_HPP
+
+#include "msgpack/versioning.hpp"
+#include "msgpack/adaptor/adaptor_base.hpp"
+#include "msgpack/object.hpp"
+#include "msgpack/adaptor/check_container_size.hpp"
+
+#if defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700)
+
+#define MSGPACK_HAS_STD_UNORDERED_MAP
+#include <unordered_map>
+#define MSGPACK_STD_TR1 std
+
+#else   // defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700)
+
+#if __GNUC__ >= 4
+
+#define MSGPACK_HAS_STD_TR1_UNORDERED_MAP
+
+#include <tr1/unordered_map>
+#define MSGPACK_STD_TR1 std::tr1
+
+#endif // __GNUC__ >= 4
+
+#endif  // defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700)
+
+#if defined(MSGPACK_STD_TR1)
+
+namespace msgpack {
+
+/// @cond
+MSGPACK_API_VERSION_NAMESPACE(v1) {
+/// @endcond
+
+namespace adaptor {
+
+template <typename K, typename V, typename Hash, typename Pred, typename Alloc>
+struct convert<MSGPACK_STD_TR1::unordered_map<K, V, Hash, Pred, Alloc> > {
+    msgpack::object const& operator()(msgpack::object const& o, MSGPACK_STD_TR1::unordered_map<K, V, Hash, Pred, Alloc>& v) const {
+        if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
+        msgpack::object_kv* p(o.via.map.ptr);
+        msgpack::object_kv* const pend(o.via.map.ptr + o.via.map.size);
+        MSGPACK_STD_TR1::unordered_map<K, V, Hash, Pred, Alloc> tmp;
+        for(; p != pend; ++p) {
+            K key;
+            p->key.convert(key);
+            p->val.convert(tmp[key]);
+        }
+        tmp.swap(v);
+        return o;
+    }
+};
+
+template <typename K, typename V, typename Hash, typename Pred, typename Alloc>
+struct pack<MSGPACK_STD_TR1::unordered_map<K, V, Hash, Pred, Alloc> > {
+    template <typename Stream>
+    msgpack::packer<Stream>& operator()(msgpack::packer<Stream>& o, const MSGPACK_STD_TR1::unordered_map<K, V, Hash, Pred, Alloc>& v) const {
+        uint32_t size = checked_get_container_size(v.size());
+        o.pack_map(size);
+        for(typename MSGPACK_STD_TR1::unordered_map<K, V, Hash, Pred, Alloc>::const_iterator it(v.begin()), it_end(v.end());
+            it != it_end; ++it) {
+            o.pack(it->first);
+            o.pack(it->second);
+        }
+        return o;
+    }
+};
+
+template <typename K, typename V, typename Hash, typename Pred, typename Alloc>
+struct object_with_zone<MSGPACK_STD_TR1::unordered_map<K, V, Hash, Pred, Alloc> > {
+    void operator()(msgpack::object::with_zone& o, const MSGPACK_STD_TR1::unordered_map<K, V, Hash, Pred, Alloc>& v) const {
+        o.type = msgpack::type::MAP;
+        if(v.empty()) {
+            o.via.map.ptr  = MSGPACK_NULLPTR;
+            o.via.map.size = 0;
+        } else {
+            uint32_t size = checked_get_container_size(v.size());
+            msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
+            msgpack::object_kv* const pend = p + size;
+            o.via.map.ptr  = p;
+            o.via.map.size = size;
+            typename MSGPACK_STD_TR1::unordered_map<K, V, Hash, Pred, Alloc>::const_iterator it(v.begin());
+            do {
+                p->key = msgpack::object(it->first, o.zone);
+                p->val = msgpack::object(it->second, o.zone);
+                ++p;
+                ++it;
+            } while(p < pend);
+        }
+    }
+};
+
+template <typename K, typename V, typename Hash, typename Pred, typename Alloc>
+struct convert<MSGPACK_STD_TR1::unordered_multimap<K, V, Hash, Pred, Alloc> > {
+    msgpack::object const& operator()(msgpack::object const& o, MSGPACK_STD_TR1::unordered_multimap<K, V, Hash, Pred, Alloc>& v) const {
+        if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); }
+        msgpack::object_kv* p(o.via.map.ptr);
+        msgpack::object_kv* const pend(o.via.map.ptr + o.via.map.size);
+        MSGPACK_STD_TR1::unordered_multimap<K, V, Hash, Pred, Alloc> tmp;
+        for(; p != pend; ++p) {
+            std::pair<K, V> value;
+            p->key.convert(value.first);
+            p->val.convert(value.second);
+            tmp.insert(value);
+        }
+        tmp.swap(v);
+        return o;
+    }
+};
+
+template <typename K, typename V, typename Hash, typename Pred, typename Alloc>
+struct pack<MSGPACK_STD_TR1::unordered_multimap<K, V, Hash, Pred, Alloc> > {
+    template <typename Stream>
+    msgpack::packer<Stream>& operator()(msgpack::packer<Stream>& o, const MSGPACK_STD_TR1::unordered_multimap<K, V, Hash, Pred, Alloc>& v) const {
+        uint32_t size = checked_get_container_size(v.size());
+        o.pack_map(size);
+        for(typename MSGPACK_STD_TR1::unordered_multimap<K, V, Hash, Pred, Alloc>::const_iterator it(v.begin()), it_end(v.end());
+            it != it_end; ++it) {
+            o.pack(it->first);
+            o.pack(it->second);
+        }
+        return o;
+    }
+};
+
+template <typename K, typename V, typename Hash, typename Pred, typename Alloc>
+struct object_with_zone<MSGPACK_STD_TR1::unordered_multimap<K, V, Hash, Pred, Alloc> > {
+    void operator()(msgpack::object::with_zone& o, const MSGPACK_STD_TR1::unordered_multimap<K, V, Hash, Pred, Alloc>& v) const {
+        o.type = msgpack::type::MAP;
+        if(v.empty()) {
+            o.via.map.ptr  = MSGPACK_NULLPTR;
+            o.via.map.size = 0;
+        } else {
+            uint32_t size = checked_get_container_size(v.size());
+            msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
+            msgpack::object_kv* const pend = p + size;
+            o.via.map.ptr  = p;
+            o.via.map.size = size;
+            typename MSGPACK_STD_TR1::unordered_multimap<K, V, Hash, Pred, Alloc>::const_iterator it(v.begin());
+            do {
+                p->key = msgpack::object(it->first, o.zone);
+                p->val = msgpack::object(it->second, o.zone);
+                ++p;
+                ++it;
+            } while(p < pend);
+        }
+    }
+};
+
+} // namespace adaptor
+
+/// @cond
+} // MSGPACK_API_VERSION_NAMESPACE(v1)
+/// @endcond
+
+} // namespace msgpack
+
+#undef MSGPACK_STD_TR1
+
+#endif // MSGPACK_STD_TR1
+
+#endif // MSGPACK_TYPE_TR1_UNORDERED_MAP_HPP

+ 166 - 0
deps/msgpack/include/msgpack/adaptor/tr1/unordered_set.hpp

@@ -0,0 +1,166 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2008-2015 FURUHASHI Sadayuki
+//
+//    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_TYPE_TR1_UNORDERED_SET_HPP
+#define MSGPACK_TYPE_TR1_UNORDERED_SET_HPP
+
+#include "msgpack/versioning.hpp"
+#include "msgpack/adaptor/adaptor_base.hpp"
+#include "msgpack/object.hpp"
+#include "msgpack/adaptor/check_container_size.hpp"
+
+#if defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700)
+
+#define MSGPACK_HAS_STD_UNORDERED_SET
+#include <unordered_set>
+#define MSGPACK_STD_TR1 std
+
+#else   // defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700)
+
+#if __GNUC__ >= 4
+
+#define MSGPACK_HAS_STD_TR1_UNORDERED_SET
+
+#include <tr1/unordered_set>
+#define MSGPACK_STD_TR1 std::tr1
+
+#endif // __GNUC__ >= 4
+
+#endif  // defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700)
+
+#if defined(MSGPACK_STD_TR1)
+
+namespace msgpack {
+
+/// @cond
+MSGPACK_API_VERSION_NAMESPACE(v1) {
+/// @endcond
+
+namespace adaptor {
+
+template <typename T, typename Hash, typename Compare, typename Alloc>
+struct convert<MSGPACK_STD_TR1::unordered_set<T, Hash, Compare, Alloc> > {
+    msgpack::object const& operator()(msgpack::object const& o, MSGPACK_STD_TR1::unordered_set<T, Hash, Compare, Alloc>& v) const {
+        if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
+        msgpack::object* p = o.via.array.ptr + o.via.array.size;
+        msgpack::object* const pbegin = o.via.array.ptr;
+        MSGPACK_STD_TR1::unordered_set<T, Hash, Compare, Alloc> tmp;
+        while(p > pbegin) {
+            --p;
+            tmp.insert(p->as<T>());
+        }
+        tmp.swap(v);
+        return o;
+    }
+};
+
+template <typename T, typename Hash, typename Compare, typename Alloc>
+struct pack<MSGPACK_STD_TR1::unordered_set<T, Hash, Compare, Alloc> > {
+    template <typename Stream>
+    msgpack::packer<Stream>& operator()(msgpack::packer<Stream>& o, const MSGPACK_STD_TR1::unordered_set<T, Hash, Compare, Alloc>& v) const {
+        uint32_t size = checked_get_container_size(v.size());
+        o.pack_array(size);
+        for(typename MSGPACK_STD_TR1::unordered_set<T, Hash, Compare, Alloc>::const_iterator it(v.begin()), it_end(v.end());
+            it != it_end; ++it) {
+            o.pack(*it);
+        }
+        return o;
+    }
+};
+
+template <typename T, typename Hash, typename Compare, typename Alloc>
+struct object_with_zone<MSGPACK_STD_TR1::unordered_set<T, Hash, Compare, Alloc> > {
+    void operator()(msgpack::object::with_zone& o, const MSGPACK_STD_TR1::unordered_set<T, Hash, Compare, Alloc>& v) const {
+        o.type = msgpack::type::ARRAY;
+        if(v.empty()) {
+            o.via.array.ptr = MSGPACK_NULLPTR;
+            o.via.array.size = 0;
+        } else {
+            uint32_t size = checked_get_container_size(v.size());
+            msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
+            msgpack::object* const pend = p + size;
+            o.via.array.ptr = p;
+            o.via.array.size = size;
+            typename MSGPACK_STD_TR1::unordered_set<T, Hash, Compare, Alloc>::const_iterator it(v.begin());
+            do {
+                *p = msgpack::object(*it, o.zone);
+                ++p;
+                ++it;
+            } while(p < pend);
+        }
+    }
+};
+
+
+template <typename T, typename Hash, typename Compare, typename Alloc>
+struct convert<MSGPACK_STD_TR1::unordered_multiset<T, Hash, Compare, Alloc> > {
+    msgpack::object const& operator()(msgpack::object const& o, MSGPACK_STD_TR1::unordered_multiset<T, Hash, Compare, Alloc>& v) const {
+        if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); }
+        msgpack::object* p = o.via.array.ptr + o.via.array.size;
+        msgpack::object* const pbegin = o.via.array.ptr;
+        MSGPACK_STD_TR1::unordered_multiset<T, Hash, Compare, Alloc> tmp;
+        while(p > pbegin) {
+            --p;
+            tmp.insert(p->as<T>());
+        }
+        tmp.swap(v);
+        return o;
+    }
+};
+
+template <typename T, typename Hash, typename Compare, typename Alloc>
+struct pack<MSGPACK_STD_TR1::unordered_multiset<T, Hash, Compare, Alloc> > {
+    template <typename Stream>
+    msgpack::packer<Stream>& operator()(msgpack::packer<Stream>& o, const MSGPACK_STD_TR1::unordered_multiset<T, Hash, Compare, Alloc>& v) const {
+        uint32_t size = checked_get_container_size(v.size());
+        o.pack_array(size);
+        for(typename MSGPACK_STD_TR1::unordered_multiset<T, Hash, Compare, Alloc>::const_iterator it(v.begin()), it_end(v.end());
+            it != it_end; ++it) {
+            o.pack(*it);
+        }
+        return o;
+    }
+};
+
+template <typename T, typename Hash, typename Compare, typename Alloc>
+struct object_with_zone<MSGPACK_STD_TR1::unordered_multiset<T, Hash, Compare, Alloc> > {
+    void operator()(msgpack::object::with_zone& o, const MSGPACK_STD_TR1::unordered_multiset<T, Hash, Compare, Alloc>& v) const {
+        o.type = msgpack::type::ARRAY;
+        if(v.empty()) {
+            o.via.array.ptr = MSGPACK_NULLPTR;
+            o.via.array.size = 0;
+        } else {
+            uint32_t size = checked_get_container_size(v.size());
+            msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
+            msgpack::object* const pend = p + size;
+            o.via.array.ptr = p;
+            o.via.array.size = size;
+            typename MSGPACK_STD_TR1::unordered_multiset<T, Hash, Compare, Alloc>::const_iterator it(v.begin());
+            do {
+                *p = msgpack::object(*it, o.zone);
+                ++p;
+                ++it;
+            } while(p < pend);
+        }
+    }
+};
+
+} // namespace adaptor
+
+/// @cond
+} // MSGPACK_API_VERSION_NAMESPACE(v1)
+/// @endcond
+
+} // namespace msgpack
+
+#undef MSGPACK_STD_TR1
+
+#endif // MSGPACK_STD_TR1
+
+#endif // MSGPACK_TYPE_TR1_UNORDERED_SET_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/v4raw.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2008-2016 FURUHASHI Sadayuki and 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_TYPE_V4RAW_HPP
+#define MSGPACK_TYPE_V4RAW_HPP
+
+#include "msgpack/adaptor/v4raw_decl.hpp"
+
+#include "msgpack/v1/adaptor/v4raw.hpp"
+
+#endif // MSGPACK_TYPE_V4RAW_HPP

+ 17 - 0
deps/msgpack/include/msgpack/adaptor/v4raw_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_V4RAW_DECL_HPP
+#define MSGPACK_TYPE_V4RAW_DECL_HPP
+
+#include "msgpack/v1/adaptor/v4raw_decl.hpp"
+#include "msgpack/v2/adaptor/v4raw_decl.hpp"
+#include "msgpack/v3/adaptor/v4raw_decl.hpp"
+
+#endif // MSGPACK_TYPE_V4RAW_DECL_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/vector.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_VECTOR_HPP
+#define MSGPACK_TYPE_VECTOR_HPP
+
+#include "msgpack/v1/adaptor/vector.hpp"
+
+#endif // MSGPACK_TYPE_VECTOR_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/vector_bool.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_VECTOR_BOOL_HPP
+#define MSGPACK_TYPE_VECTOR_BOOL_HPP
+
+#include "msgpack/v1/adaptor/vector_bool.hpp"
+
+#endif // MSGPACK_TYPE_VECTOR_BOOL_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/vector_char.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_VECTOR_CHAR_HPP
+#define MSGPACK_TYPE_VECTOR_CHAR_HPP
+
+#include "msgpack/v1/adaptor/vector_char.hpp"
+
+#endif // MSGPACK_TYPE_VECTOR_CHAR_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/vector_unsigned_char.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution 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_TYPE_VECTOR_UNSIGNED_CHAR_HPP
+#define MSGPACK_TYPE_VECTOR_UNSIGNED_CHAR_HPP
+
+#include "msgpack/v1/adaptor/vector_unsigned_char.hpp"
+
+#endif // MSGPACK_TYPE_VECTOR_UNSIGNED_CHAR_HPP

+ 15 - 0
deps/msgpack/include/msgpack/adaptor/wstring.hpp

@@ -0,0 +1,15 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2018 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_TYPE_WSTRING_HPP
+#define MSGPACK_TYPE_WSTRING_HPP
+
+#include "msgpack/v1/adaptor/wstring.hpp"
+
+#endif // MSGPACK_TYPE_WSTRING_HPP

+ 26 - 0
deps/msgpack/include/msgpack/assert.hpp

@@ -0,0 +1,26 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2022 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_ASSERT_HPP
+#define MSGPACK_ASSERT_HPP
+
+#if defined(MSGPACK_NO_BOOST)
+
+#include <cassert>
+#define MSGPACK_ASSERT assert
+
+#else  // defined(MSGPACK_NO_BOOST)
+
+#include <boost/assert.hpp>
+#define MSGPACK_ASSERT BOOST_ASSERT
+
+#endif // defined(MSGPACK_NO_BOOST)
+
+#endif // MSGPACK_ASSERT_HPP

+ 17 - 0
deps/msgpack/include/msgpack/cpp_config.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ C++03/C++11 Adaptation
+//
+// Copyright (C) 2013-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_CPP_CONFIG_HPP
+#define MSGPACK_CPP_CONFIG_HPP
+
+#include "msgpack/cpp_config_decl.hpp"
+
+#include "msgpack/v1/cpp_config.hpp"
+
+#endif // MSGPACK_CPP_CONFIG_HPP

+ 17 - 0
deps/msgpack/include/msgpack/cpp_config_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ C++03/C++11 Adaptation
+//
+// 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_CPP_CONFIG_DECL_HPP
+#define MSGPACK_CPP_CONFIG_DECL_HPP
+
+#include "msgpack/v1/cpp_config_decl.hpp"
+#include "msgpack/v2/cpp_config_decl.hpp"
+#include "msgpack/v3/cpp_config_decl.hpp"
+
+#endif // MSGPACK_CPP_CONFIG_DECL_HPP

+ 18 - 0
deps/msgpack/include/msgpack/cpp_version.hpp

@@ -0,0 +1,18 @@
+#ifndef MSGPACK_CPP_VERSION_HPP
+#define MSGPACK_CPP_VERSION_HPP
+
+#if defined(_MSC_VER)
+#  if _MSC_VER < 1900
+#    define MSGPACK_USE_CPP03
+#  endif
+#elif (__cplusplus < 201103L)
+#  define MSGPACK_USE_CPP03
+#endif
+
+#if defined(_MSVC_LANG)
+#  define MSGPACK_CPP_VERSION _MSVC_LANG
+#else
+#  define MSGPACK_CPP_VERSION __cplusplus
+#endif
+
+#endif // MSGPACK_CPP_VERSION_HPP

+ 17 - 0
deps/msgpack/include/msgpack/create_object_visitor.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ deserializing routine
+//
+// Copyright (C) 2018 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_CREATE_OBJECT_VISITOR_HPP
+#define MSGPACK_CREATE_OBJECT_VISITOR_HPP
+
+#include "msgpack/create_object_visitor_decl.hpp"
+
+#include "msgpack/v2/create_object_visitor.hpp"
+
+#endif // MSGPACK_CREATE_OBJECT_VISITOR_HPP

+ 16 - 0
deps/msgpack/include/msgpack/create_object_visitor_decl.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ deserializing routine
+//
+// Copyright (C) 2018 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_CREATE_OBJECT_VISITOR_DECL_HPP
+#define MSGPACK_CREATE_OBJECT_VISITOR_DECL_HPP
+
+#include "msgpack/v2/create_object_visitor_decl.hpp"
+#include "msgpack/v3/create_object_visitor_decl.hpp"
+
+#endif // MSGPACK_CREATE_OBJECT_VISITOR_DECL_HPP

+ 17 - 0
deps/msgpack/include/msgpack/fbuffer.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ FILE* buffer adaptor
+//
+// Copyright (C) 2013 Vladimir Volodko
+//
+//    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_FBUFFER_HPP
+#define MSGPACK_FBUFFER_HPP
+
+#include "msgpack/fbuffer_decl.hpp"
+
+#include "msgpack/v1/fbuffer.hpp"
+
+#endif // MSGPACK_FBUFFER_HPP

+ 17 - 0
deps/msgpack/include/msgpack/fbuffer_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ FILE* buffer adaptor
+//
+// 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_FBUFFER_DECL_HPP
+#define MSGPACK_FBUFFER_DECL_HPP
+
+#include "msgpack/v1/fbuffer_decl.hpp"
+#include "msgpack/v2/fbuffer_decl.hpp"
+#include "msgpack/v3/fbuffer_decl.hpp"
+
+#endif // MSGPACK_FBUFFER_DECL_HPP

+ 30 - 0
deps/msgpack/include/msgpack/gcc_atomic.hpp

@@ -0,0 +1,30 @@
+//
+// MessagePack for C++ old gcc workaround for atomic operation
+//
+// Copyright (C) 2008-2013 FURUHASHI Sadayuki and 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_GCC_ATOMIC_HPP
+#define MSGPACK_GCC_ATOMIC_HPP
+
+#if defined(__GNUC__) && ((__GNUC__*10 + __GNUC_MINOR__) < 41)
+
+#include <bits/atomicity.h>
+
+int _msgpack_sync_decr_and_fetch(volatile _msgpack_atomic_counter_t* ptr)
+{
+    return  __gnu_cxx::__exchange_and_add(ptr, -1) - 1;
+}
+
+int _msgpack_sync_incr_and_fetch(volatile _msgpack_atomic_counter_t* ptr)
+{
+    return  __gnu_cxx::__exchange_and_add(ptr, 1) + 1;
+}
+
+#endif // old gcc workaround
+
+#endif /* gcc_atomic.hpp */

+ 18 - 0
deps/msgpack/include/msgpack/iterator.hpp

@@ -0,0 +1,18 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2015-2016 MIZUKI Hirata
+//
+//    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_ITERATOR_HPP
+#define MSGPACK_ITERATOR_HPP
+
+#include "msgpack/iterator_decl.hpp"
+
+#include "msgpack/v1/iterator.hpp"
+
+#endif // MSGPACK_ITERATOR_HPP

+ 18 - 0
deps/msgpack/include/msgpack/iterator_decl.hpp

@@ -0,0 +1,18 @@
+//
+// MessagePack for C++ static resolution 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_ITERATOR_DECL_HPP
+#define MSGPACK_ITERATOR_DECL_HPP
+
+#include "msgpack/v1/iterator_decl.hpp"
+#include "msgpack/v2/iterator_decl.hpp"
+#include "msgpack/v3/iterator_decl.hpp"
+
+#endif // MSGPACK_ITERATOR_DECL_HPP

+ 18 - 0
deps/msgpack/include/msgpack/meta.hpp

@@ -0,0 +1,18 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2015-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_META_HPP
+#define MSGPACK_META_HPP
+
+#include "msgpack/meta_decl.hpp"
+
+#include "msgpack/v1/meta.hpp"
+
+#endif // MSGPACK_META_HPP

+ 18 - 0
deps/msgpack/include/msgpack/meta_decl.hpp

@@ -0,0 +1,18 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2015-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_META_DECL_HPP
+#define MSGPACK_META_DECL_HPP
+
+#include "msgpack/v1/meta_decl.hpp"
+#include "msgpack/v2/meta_decl.hpp"
+#include "msgpack/v3/meta_decl.hpp"
+
+#endif // MSGPACK_META_DECL_HPP

+ 17 - 0
deps/msgpack/include/msgpack/null_visitor.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ deserializing routine
+//
+// Copyright (C) 2018 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_NULL_VISITOR_HPP
+#define MSGPACK_NULL_VISITOR_HPP
+
+#include "msgpack/null_visitor_decl.hpp"
+
+#include "msgpack/v2/null_visitor.hpp"
+
+#endif // MSGPACK_NULL_VISITOR_HPP

+ 16 - 0
deps/msgpack/include/msgpack/null_visitor_decl.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ deserializing routine
+//
+// Copyright (C) 2018 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_NULL_VISITOR_DECL_HPP
+#define MSGPACK_NULL_VISITOR_DECL_HPP
+
+#include "msgpack/v2/null_visitor_decl.hpp"
+#include "msgpack/v3/null_visitor_decl.hpp"
+
+#endif // MSGPACK_NULL_VISITOR_DECL_HPP

+ 18 - 0
deps/msgpack/include/msgpack/object.hpp

@@ -0,0 +1,18 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2008-2016 FURUHASHI Sadayuki and 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_OBJECT_HPP
+#define MSGPACK_OBJECT_HPP
+
+#include "msgpack/object_decl.hpp"
+
+#include "msgpack/v1/object.hpp"
+#include "msgpack/v2/object.hpp"
+
+#endif // MSGPACK_OBJECT_HPP

+ 18 - 0
deps/msgpack/include/msgpack/object_decl.hpp

@@ -0,0 +1,18 @@
+//
+// MessagePack for C++ static resolution 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_OBJECT_DECL_HPP
+#define MSGPACK_OBJECT_DECL_HPP
+
+#include "msgpack/v1/object_decl.hpp"
+#include "msgpack/v2/object_decl.hpp"
+#include "msgpack/v3/object_decl.hpp"
+
+#endif // MSGPACK_OBJECT_DECL_HPP

+ 20 - 0
deps/msgpack/include/msgpack/object_fwd.hpp

@@ -0,0 +1,20 @@
+//
+// MessagePack for C++ static resolution routine
+//
+// Copyright (C) 2008-2016 FURUHASHI Sadayuki and 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_OBJECT_FWD_HPP
+#define MSGPACK_OBJECT_FWD_HPP
+
+#include "msgpack/object_fwd_decl.hpp"
+
+#include "msgpack/v1/object_fwd.hpp"
+#include "msgpack/v2/object_fwd.hpp"
+#include "msgpack/v3/object_fwd.hpp"
+
+#endif // MSGPACK_OBJECT_FWD_HPP

+ 18 - 0
deps/msgpack/include/msgpack/object_fwd_decl.hpp

@@ -0,0 +1,18 @@
+//
+// MessagePack for C++ static resolution 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_OBJECT_FWD_DECL_HPP
+#define MSGPACK_OBJECT_FWD_DECL_HPP
+
+#include "msgpack/v1/object_fwd_decl.hpp"
+#include "msgpack/v2/object_fwd_decl.hpp"
+#include "msgpack/v3/object_fwd_decl.hpp"
+
+#endif // MSGPACK_OBJECT_FWD_DECL_HPP

+ 17 - 0
deps/msgpack/include/msgpack/pack.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ serializing routine
+//
+// Copyright (C) 2008-2016 FURUHASHI Sadayuki and 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_PACK_HPP
+#define MSGPACK_PACK_HPP
+
+#include "msgpack/pack_decl.hpp"
+
+#include "msgpack/v1/pack.hpp"
+
+#endif // MSGPACK_PACK_HPP

+ 17 - 0
deps/msgpack/include/msgpack/pack_decl.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ serializing 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_PACK_DECL_HPP
+#define MSGPACK_PACK_DECL_HPP
+
+#include "msgpack/v1/pack_decl.hpp"
+#include "msgpack/v2/pack_decl.hpp"
+#include "msgpack/v3/pack_decl.hpp"
+
+#endif // MSGPACK_PACK_DECL_HPP

+ 18 - 0
deps/msgpack/include/msgpack/parse.hpp

@@ -0,0 +1,18 @@
+//
+// MessagePack for C++ deserializing routine
+//
+// Copyright (C) 2018 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_PARSE_HPP
+#define MSGPACK_PARSE_HPP
+
+#include "msgpack/parse_decl.hpp"
+
+#include "msgpack/v2/parse.hpp"
+#include "msgpack/v3/parse.hpp"
+
+#endif // MSGPACK_PARSE_HPP

+ 16 - 0
deps/msgpack/include/msgpack/parse_decl.hpp

@@ -0,0 +1,16 @@
+//
+// MessagePack for C++ deserializing routine
+//
+// Copyright (C) 2018 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_PARSE_DECL_HPP
+#define MSGPACK_PARSE_DECL_HPP
+
+#include "msgpack/v2/parse_decl.hpp"
+#include "msgpack/v3/parse_decl.hpp"
+
+#endif // MSGPACK_PARSE_DECL_HPP

+ 17 - 0
deps/msgpack/include/msgpack/parse_return.hpp

@@ -0,0 +1,17 @@
+//
+// MessagePack for C++ deserializing routine
+//
+// Copyright (C) 2017 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_PARSE_RETURN_HPP
+#define MSGPACK_PARSE_RETURN_HPP
+
+#include "msgpack/v1/parse_return.hpp"
+#include "msgpack/v2/parse_return.hpp"
+#include "msgpack/v3/parse_return.hpp"
+
+#endif // MSGPACK_PARSE_RETURN_HPP

+ 24 - 0
deps/msgpack/include/msgpack/predef.h

@@ -0,0 +1,24 @@
+/*
+Copyright Rene Rivera 2008-2015
+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)
+*/
+
+#if !defined(MSGPACK_PREDEF_H) || defined(MSGPACK_PREDEF_INTERNAL_GENERATE_TESTS)
+#ifndef MSGPACK_PREDEF_H
+#define MSGPACK_PREDEF_H
+#endif
+
+#include <msgpack/predef/language.h>
+#include <msgpack/predef/architecture.h>
+#include <msgpack/predef/compiler.h>
+#include <msgpack/predef/library.h>
+#include <msgpack/predef/os.h>
+#include <msgpack/predef/other.h>
+#include <msgpack/predef/platform.h>
+#include <msgpack/predef/hardware.h>
+
+#include <msgpack/predef/version.h>
+
+#endif

+ 33 - 0
deps/msgpack/include/msgpack/predef/architecture.h

@@ -0,0 +1,33 @@
+/*
+Copyright Rene Rivera 2008-2015
+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)
+*/
+
+#if !defined(MSGPACK_PREDEF_ARCHITECTURE_H) || defined(MSGPACK_PREDEF_INTERNAL_GENERATE_TESTS)
+#ifndef MSGPACK_PREDEF_ARCHITECTURE_H
+#define MSGPACK_PREDEF_ARCHITECTURE_H
+#endif
+
+#include <msgpack/predef/architecture/alpha.h>
+#include <msgpack/predef/architecture/arm.h>
+#include <msgpack/predef/architecture/blackfin.h>
+#include <msgpack/predef/architecture/convex.h>
+#include <msgpack/predef/architecture/ia64.h>
+#include <msgpack/predef/architecture/m68k.h>
+#include <msgpack/predef/architecture/mips.h>
+#include <msgpack/predef/architecture/parisc.h>
+#include <msgpack/predef/architecture/ppc.h>
+#include <msgpack/predef/architecture/ptx.h>
+#include <msgpack/predef/architecture/pyramid.h>
+#include <msgpack/predef/architecture/rs6k.h>
+#include <msgpack/predef/architecture/sparc.h>
+#include <msgpack/predef/architecture/superh.h>
+#include <msgpack/predef/architecture/sys370.h>
+#include <msgpack/predef/architecture/sys390.h>
+#include <msgpack/predef/architecture/x86.h>
+#include <msgpack/predef/architecture/z.h>
+/*#inc <msgpack/predef/architecture/.h>*/
+
+#endif

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.