mirror of
				https://github.com/msgpack/msgpack-c.git
				synced 2025-10-22 08:02:08 +02:00 
			
		
		
		
	Compare commits
	
		
			74 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | bd18a36dae | ||
|   | 3fe630769e | ||
|   | 2f80758889 | ||
|   | 9f3efe9e54 | ||
|   | 6e44edf290 | ||
|   | d28cbf32b9 | ||
|   | 48d226e97c | ||
|   | 64698e8e8c | ||
|   | e0d098641c | ||
|   | 06f4b05487 | ||
|   | 122fce5aee | ||
|   | e3f5281903 | ||
|   | 88e94e3776 | ||
|   | 95275ff16e | ||
|   | 4cb938ed18 | ||
|   | 5f3e62461e | ||
|   | ec239933db | ||
|   | de59b393c7 | ||
|   | b02371efe5 | ||
|   | f34289fdfd | ||
|   | 584478a4f1 | ||
|   | 700ec688f7 | ||
|   | a133c1d393 | ||
|   | 6ba9a58648 | ||
|   | bb92d326c8 | ||
|   | 1e13dadf1f | ||
|   | 7b271c2af2 | ||
|   | c3f4e52bdb | ||
|   | 458b4c0363 | ||
|   | f8dc0f0d04 | ||
|   | 347658cdc1 | ||
|   | 427a6e7313 | ||
|   | 7f76a3caf0 | ||
|   | 40539727e6 | ||
|   | 30e56d0a45 | ||
|   | 8eef2a245b | ||
|   | 2bcfe2fdb0 | ||
|   | 2b49e62b3c | ||
|   | bf70a36a1d | ||
|   | eb92058cf4 | ||
|   | 423eaf25fb | ||
|   | 280abe852c | ||
|   | c91307aaa1 | ||
|   | 88ffd08087 | ||
|   | bd337129c6 | ||
|   | 1f5cb86366 | ||
|   | 0d39c577d8 | ||
|   | 7e66dc28f0 | ||
|   | bec47a59f0 | ||
|   | 064f854ddf | ||
|   | a05d92ae85 | ||
|   | 1fdfde5d5f | ||
|   | b1620f1f6a | ||
|   | f789635ddc | ||
|   | f65c26e280 | ||
|   | 579212996f | ||
|   | 208595b262 | ||
|   | 83a4b89818 | ||
|   | d46f220737 | ||
|   | b4db293181 | ||
|   | d1eac600e9 | ||
|   | 7e758ca053 | ||
|   | db6d4f2003 | ||
|   | 1ba46a30ce | ||
|   | 5ece2ef2c7 | ||
|   | 9513734040 | ||
|   | d452625ed1 | ||
|   | b02c6beb4d | ||
|   | 06c2896def | ||
|   | 724db8ed89 | ||
|   | fa48078a52 | ||
|   | d8ad85fa8c | ||
|   | cc3b895449 | ||
|   | 384242e5eb | 
							
								
								
									
										19
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								.travis.yml
									
									
									
									
									
								
							| @@ -1,5 +1,6 @@ | ||||
| language: cpp | ||||
| sudo: false | ||||
| dist: trusty | ||||
|  | ||||
| install: | ||||
|  - export BASE=`pwd` | ||||
| @@ -11,6 +12,7 @@ install: | ||||
|  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then export LD_LIBRARY_PATH="${BASE}/usr/lib:$LD_LIBRARY_PATH"; fi | ||||
|  - if [ "$CXX" = "g++" ]; then export CXX="g++-6" CC="gcc-6"; fi | ||||
|  - if [ "$CXX" = "clang++" ] && [ "$TRAVIS_OS_NAME" == "linux" ]; then export CXX="clang++-3.9" CC="clang-3.9"; fi | ||||
|  - if [ "$CXX" = "g++" ] && [ "$TRAVIS_OS_NAME" == "linux" ]; then cd /usr/include/c++/$(g++ -v 2>&1 | grep version | awk '{print $3}')/bits; ln -s ../ext/atomicity.h .; cd ${BASE}/usr; fi | ||||
| #gtest | ||||
|  - wget https://github.com/google/googletest/archive/release-1.7.0.zip -O googletest-release-1.7.0.zip | ||||
|  - unzip -q googletest-release-1.7.0.zip | ||||
| @@ -27,7 +29,8 @@ install: | ||||
| # valgrind | ||||
|  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then wget http://valgrind.org/downloads/valgrind-3.12.0.tar.bz2 && tar xjf valgrind-3.12.0.tar.bz2 && cd valgrind-3.12.0 && ./configure --prefix=${BASE}/usr > /dev/null && make -j3 > /dev/null && make install > /dev/null && cd ..; fi | ||||
| # boost | ||||
|  - if [ "$BOOST" == "ON" ]; then wget http://sourceforge.net/projects/boost/files/boost/1.63.0/boost_1_63_0.zip && unzip -q boost_1_63_0.zip && cd boost_1_63_0 && ./bootstrap.sh && ./b2 -j3 --prefix=${BASE}/usr --with-chrono --with-context --with-system --with-timer address-model=${ARCH} install > /dev/null && cd ..; fi | ||||
|  - if [ "$BOOST" == "ON" ]; then wget http://sourceforge.net/projects/boost/files/boost/1.66.0/boost_1_66_0.zip && unzip -q boost_1_66_0.zip && cd boost_1_66_0 && ./bootstrap.sh && ./b2 -j3 --prefix=${BASE}/usr --with-chrono --with-context --with-system --with-timer address-model=${ARCH} install > /dev/null && cd ..; fi | ||||
|  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo ln -s /usr/include/x86_64-linux-gnu/zconf.h /usr/include; fi | ||||
|  | ||||
| matrix: | ||||
|   include: | ||||
| @@ -36,7 +39,7 @@ matrix: | ||||
|       env: ACTION="ci/build_cmake.sh"  CXX11="ON" ARCH="64"   BOOST="ON" SHARED="ON"  CHAR_SIGN="unsigned" API_VERSION="1" | ||||
|     - os: osx | ||||
|       compiler: clang | ||||
|       env:  ACTION="ci/build_cmake.sh" CXX11="ON" ARCH="64"   BOOST="ON" SHARED="ON"  CHAR_SIGN="signed"   API_VERSION="2" | ||||
|       env:  ACTION="ci/build_cmake.sh" CXX11="ON" ARCH="64"   BOOST="ON" SHARED="ON"  CHAR_SIGN="signed"   API_VERSION="3" | ||||
|     - os: osx | ||||
|       compiler: clang | ||||
|       env: ACTION="ci/build_cmake.sh"  CXX11="ON" ARCH="64"              SHARED="ON"  CHAR_SIGN="signed"   API_VERSION="2" | ||||
| @@ -78,12 +81,13 @@ matrix: | ||||
|             - lib32gcc1 | ||||
|             - libc6-i386 | ||||
|             - lib32z1-dev | ||||
|             - zlib1g-dev | ||||
|             - bzip2 | ||||
|             - clang-3.9 | ||||
|             - libc6-dbg | ||||
|     - os: linux | ||||
|       compiler: clang | ||||
|       env: ACTION="ci/build_cmake.sh"  CXX11="ON" ARCH="64"   BOOST="ON" SHARED="ON"  CHAR_SIGN="signed"   API_VERSION="2" X3_PARSE="ON" | ||||
|       env: ACTION="ci/build_cmake.sh"  CXX11="ON" ARCH="64"   BOOST="ON" SHARED="ON"  CHAR_SIGN="signed"   API_VERSION="3" X3_PARSE="ON" | ||||
|       addons: | ||||
|         apt: | ||||
|           sources: | ||||
| @@ -116,6 +120,7 @@ matrix: | ||||
|             - lib32gcc1 | ||||
|             - libc6-i386 | ||||
|             - lib32z1-dev | ||||
|             - zlib1g-dev | ||||
|             - bzip2 | ||||
|             - clang-3.9 | ||||
|             - libc6-dbg | ||||
| @@ -135,7 +140,7 @@ matrix: | ||||
|             - libc6-dbg | ||||
|     - os: linux | ||||
|       compiler: gcc | ||||
|       env: ACTION="ci/build_cmake.sh"  CXX11="ON" ARCH="32"   BOOST="ON" SHARED="ON"  CHAR_SIGN="unsigned" API_VERSION="2" X3_PARSE="ON" | ||||
|       env: ACTION="ci/build_cmake.sh"  CXX11="ON" ARCH="32"   BOOST="ON" SHARED="ON"  CHAR_SIGN="unsigned" API_VERSION="3" X3_PARSE="ON" | ||||
|       addons: | ||||
|         apt: | ||||
|           sources: | ||||
| @@ -149,6 +154,7 @@ matrix: | ||||
|             - lib32gcc1 | ||||
|             - libc6-i386 | ||||
|             - lib32z1-dev | ||||
|             - zlib1g-dev | ||||
|             - bzip2 | ||||
|             - libc6-dbg | ||||
|     - os: linux | ||||
| @@ -181,6 +187,7 @@ matrix: | ||||
|             - lib32gcc1 | ||||
|             - libc6-i386 | ||||
|             - lib32z1-dev | ||||
|             - zlib1g-dev | ||||
|             - bzip2 | ||||
|             - libc6-dbg | ||||
|     - os: linux | ||||
| @@ -199,8 +206,10 @@ matrix: | ||||
|             - lib32gcc1 | ||||
|             - libc6-i386 | ||||
|             - lib32z1-dev | ||||
|             - zlib1g-dev | ||||
|             - bzip2 | ||||
|             - libc6-dbg | ||||
|  | ||||
| script: | ||||
|   - CMAKE_CXX_COMPILER="${CXX}" CMAKE_C_COMPILER="${CC}" CMAKE_LIBRARY_PATH="${BASE}/usr/lib:${BASE}/build" GTEST_ROOT="${BASE}/usr" BOOST_ROOT="${BASE}/usr" ${ACTION} | ||||
|   - CMAKE_CXX_COMPILER="${CXX}" CMAKE_C_COMPILER="${CC}" CMAKE_LIBRARY_PATH="${BASE}/usr/lib:${BASE}/build" GTEST_ROOT="${BASE}/usr" BOOST_ROOT="${BASE}/usr" CFLAGS="-Werror -g" CXXFLAGS="-Werror -g" ${ACTION} | ||||
|   - cat Files.cmake| grep ".*\.[h|hpp]" | perl -pe 's/ //g' | sort > tmp1  && find include -name "*.h" -o -name "*.hpp" | sort > tmp2 && diff tmp1 tmp2 | ||||
|   | ||||
							
								
								
									
										19
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -1,3 +1,22 @@ | ||||
| # 2018-05-09 version 3.0.0 | ||||
|  | ||||
| ## << breaking changes >> | ||||
|  | ||||
|   * Change offset parameter updating rule. If parse error is happend, offset is updated to the error position. (#639, #666) | ||||
|  | ||||
| ## << other updates >> | ||||
|  | ||||
|   * Improve cross platform configuration (#655, #677) | ||||
|   * Improve build system (#647) | ||||
|   * Improve user class adaptor (#645, #673) | ||||
|   * Improve msgpack::object visitation logic (#676) | ||||
|   * Remove some warnings (#641, 659) | ||||
|   * Add `->` and `*` operators to object_handle (#635) | ||||
|   * Improve CI environment (#631, #634, #643, #657, #662, #668) | ||||
|   * Improve documents (#630, #661) | ||||
|   * Refactoring (#670) | ||||
|   * Add OSS-Fuzz support (#672, #674, #675, #678) | ||||
|  | ||||
| # 2017-08-04 version 2.1.5 | ||||
|   * Improve cross platform configuration (#624) | ||||
|   * Add boost asio examples (including zlib) (#610) | ||||
|   | ||||
| @@ -124,7 +124,7 @@ ENDIF () | ||||
| IF (MSGPACK_DEFAULT_API_VERSION) | ||||
|    SET (CMAKE_CXX_FLAGS "-DMSGPACK_DEFAULT_API_VERSION=${MSGPACK_DEFAULT_API_VERSION} ${CMAKE_CXX_FLAGS}") | ||||
| ELSE () | ||||
|    SET (CMAKE_CXX_FLAGS "-DMSGPACK_DEFAULT_API_VERSION=2 ${CMAKE_CXX_FLAGS}") | ||||
|    SET (CMAKE_CXX_FLAGS "-DMSGPACK_DEFAULT_API_VERSION=3 ${CMAKE_CXX_FLAGS}") | ||||
| ENDIF () | ||||
|  | ||||
| FILE (GLOB_RECURSE PREDEF_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/external/boost/predef/include/boost ${CMAKE_CURRENT_SOURCE_DIR}/external/boost/predef/include/boost/*.h) | ||||
| @@ -237,9 +237,9 @@ ENDIF () | ||||
|  | ||||
| IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") | ||||
|     IF (MSGPACK_ENABLE_SHARED) | ||||
|         SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3 -DPIC") | ||||
|         SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra -DPIC") | ||||
|     ENDIF () | ||||
|     SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3" ) | ||||
|     SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra" ) | ||||
| ENDIF () | ||||
|  | ||||
| IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | ||||
|   | ||||
							
								
								
									
										61
									
								
								Files.cmake
									
									
									
									
									
								
							
							
						
						
									
										61
									
								
								Files.cmake
									
									
									
									
									
								
							| @@ -216,6 +216,8 @@ IF (MSGPACK_ENABLE_CXX) | ||||
|         include/msgpack/adaptor/vector_unsigned_char.hpp | ||||
|         include/msgpack/cpp_config.hpp | ||||
|         include/msgpack/cpp_config_decl.hpp | ||||
|         include/msgpack/create_object_visitor.hpp | ||||
|         include/msgpack/create_object_visitor_decl.hpp | ||||
|         include/msgpack/fbuffer.hpp | ||||
|         include/msgpack/fbuffer_decl.hpp | ||||
|         include/msgpack/gcc_atomic.hpp | ||||
| @@ -223,12 +225,16 @@ IF (MSGPACK_ENABLE_CXX) | ||||
|         include/msgpack/iterator_decl.hpp | ||||
|         include/msgpack/meta.hpp | ||||
|         include/msgpack/meta_decl.hpp | ||||
|         include/msgpack/null_visitor.hpp | ||||
|         include/msgpack/null_visitor_decl.hpp | ||||
|         include/msgpack/object.hpp | ||||
|         include/msgpack/object_decl.hpp | ||||
|         include/msgpack/object_fwd.hpp | ||||
|         include/msgpack/object_fwd_decl.hpp | ||||
|         include/msgpack/pack.hpp | ||||
|         include/msgpack/pack_decl.hpp | ||||
|         include/msgpack/parse.hpp | ||||
|         include/msgpack/parse_decl.hpp | ||||
|         include/msgpack/parse_return.hpp | ||||
|         include/msgpack/preprocessor.hpp | ||||
|         include/msgpack/preprocessor/arithmetic.hpp | ||||
| @@ -541,6 +547,7 @@ IF (MSGPACK_ENABLE_CXX) | ||||
|         include/msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp | ||||
|         include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp | ||||
|         include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp | ||||
|         include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp | ||||
|         include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp | ||||
|         include/msgpack/v1/adaptor/detail/cpp11_define_array_decl.hpp | ||||
|         include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp | ||||
| @@ -632,31 +639,85 @@ IF (MSGPACK_ENABLE_CXX) | ||||
|         include/msgpack/v2/adaptor/v4raw_decl.hpp | ||||
|         include/msgpack/v2/cpp_config_decl.hpp | ||||
|         include/msgpack/v2/create_object_visitor.hpp | ||||
|         include/msgpack/v2/create_object_visitor_decl.hpp | ||||
|         include/msgpack/v2/detail/cpp03_zone_decl.hpp | ||||
|         include/msgpack/v2/detail/cpp11_zone_decl.hpp | ||||
|         include/msgpack/v2/fbuffer_decl.hpp | ||||
|         include/msgpack/v2/iterator_decl.hpp | ||||
|         include/msgpack/v2/meta_decl.hpp | ||||
|         include/msgpack/v2/null_visitor.hpp | ||||
|         include/msgpack/v2/null_visitor_decl.hpp | ||||
|         include/msgpack/v2/object.hpp | ||||
|         include/msgpack/v2/object_decl.hpp | ||||
|         include/msgpack/v2/object_fwd.hpp | ||||
|         include/msgpack/v2/object_fwd_decl.hpp | ||||
|         include/msgpack/v2/pack_decl.hpp | ||||
|         include/msgpack/v2/parse.hpp | ||||
|         include/msgpack/v2/parse_decl.hpp | ||||
|         include/msgpack/v2/parse_return.hpp | ||||
|         include/msgpack/v2/sbuffer_decl.hpp | ||||
|         include/msgpack/v2/unpack.hpp | ||||
|         include/msgpack/v2/unpack_decl.hpp | ||||
|         include/msgpack/v2/vrefbuffer_decl.hpp | ||||
|         include/msgpack/v2/x3_parse.hpp | ||||
|         include/msgpack/v2/x3_parse_decl.hpp | ||||
|         include/msgpack/v2/x3_unpack.hpp | ||||
|         include/msgpack/v2/x3_unpack_decl.hpp | ||||
|         include/msgpack/v2/zbuffer_decl.hpp | ||||
|         include/msgpack/v2/zone_decl.hpp | ||||
|         include/msgpack/v3/adaptor/adaptor_base.hpp | ||||
|         include/msgpack/v3/adaptor/adaptor_base_decl.hpp | ||||
|         include/msgpack/v3/adaptor/array_ref_decl.hpp | ||||
|         include/msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp | ||||
|         include/msgpack/v3/adaptor/check_container_size_decl.hpp | ||||
|         include/msgpack/v3/adaptor/define_decl.hpp | ||||
|         include/msgpack/v3/adaptor/detail/cpp03_define_array_decl.hpp | ||||
|         include/msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp | ||||
|         include/msgpack/v3/adaptor/detail/cpp03_msgpack_tuple_decl.hpp | ||||
|         include/msgpack/v3/adaptor/detail/cpp11_define_array_decl.hpp | ||||
|         include/msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp | ||||
|         include/msgpack/v3/adaptor/detail/cpp11_msgpack_tuple_decl.hpp | ||||
|         include/msgpack/v3/adaptor/ext_decl.hpp | ||||
|         include/msgpack/v3/adaptor/fixint_decl.hpp | ||||
|         include/msgpack/v3/adaptor/int_decl.hpp | ||||
|         include/msgpack/v3/adaptor/map_decl.hpp | ||||
|         include/msgpack/v3/adaptor/msgpack_tuple_decl.hpp | ||||
|         include/msgpack/v3/adaptor/nil_decl.hpp | ||||
|         include/msgpack/v3/adaptor/raw_decl.hpp | ||||
|         include/msgpack/v3/adaptor/size_equal_only_decl.hpp | ||||
|         include/msgpack/v3/adaptor/v4raw_decl.hpp | ||||
|         include/msgpack/v3/cpp_config_decl.hpp | ||||
|         include/msgpack/v3/create_object_visitor_decl.hpp | ||||
|         include/msgpack/v3/detail/cpp03_zone_decl.hpp | ||||
|         include/msgpack/v3/detail/cpp11_zone_decl.hpp | ||||
|         include/msgpack/v3/fbuffer_decl.hpp | ||||
|         include/msgpack/v3/iterator_decl.hpp | ||||
|         include/msgpack/v3/meta_decl.hpp | ||||
|         include/msgpack/v3/null_visitor_decl.hpp | ||||
|         include/msgpack/v3/object_decl.hpp | ||||
|         include/msgpack/v3/object_fwd.hpp | ||||
|         include/msgpack/v3/object_fwd_decl.hpp | ||||
|         include/msgpack/v3/pack_decl.hpp | ||||
|         include/msgpack/v3/parse.hpp | ||||
|         include/msgpack/v3/parse_decl.hpp | ||||
|         include/msgpack/v3/parse_return.hpp | ||||
|         include/msgpack/v3/sbuffer_decl.hpp | ||||
|         include/msgpack/v3/unpack.hpp | ||||
|         include/msgpack/v3/unpack_decl.hpp | ||||
|         include/msgpack/v3/vrefbuffer_decl.hpp | ||||
|         include/msgpack/v3/x3_parse_decl.hpp | ||||
|         include/msgpack/v3/x3_unpack.hpp | ||||
|         include/msgpack/v3/x3_unpack_decl.hpp | ||||
|         include/msgpack/v3/zbuffer_decl.hpp | ||||
|         include/msgpack/v3/zone_decl.hpp | ||||
|         include/msgpack/version.hpp | ||||
|         include/msgpack/versioning.hpp | ||||
|         include/msgpack/vrefbuffer.hpp | ||||
|         include/msgpack/vrefbuffer_decl.hpp | ||||
|         include/msgpack/x3_parse.hpp | ||||
|         include/msgpack/x3_parse_decl.hpp | ||||
|         include/msgpack/x3_unpack.hpp | ||||
|         include/msgpack/x3_unpack_decl.hpp | ||||
|         include/msgpack/zbuffer.hpp | ||||
|         include/msgpack/zbuffer_decl.hpp | ||||
|         include/msgpack/zone.hpp | ||||
|   | ||||
| @@ -20,7 +20,7 @@ You might need to run `sudo port selfupdate` before installing to update the pac | ||||
| You can also install via Homebrew. | ||||
|  | ||||
| ``` | ||||
| $ sudo brew install msgpack | ||||
| $ brew install msgpack | ||||
| ``` | ||||
|  | ||||
| ## FreeBSD with Ports Collection | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| `msgpack` for C/C++ | ||||
| =================== | ||||
|  | ||||
| Version 2.1.5 [](https://travis-ci.org/msgpack/msgpack-c) [](https://ci.appveyor.com/project/redboltz/msgpack-c/branch/master) | ||||
| Version 3.0.0 [](https://travis-ci.org/msgpack/msgpack-c) [](https://ci.appveyor.com/project/redboltz/msgpack-c/branch/master) | ||||
|  | ||||
| It's like JSON but small and fast. | ||||
| It's like JSON but smaller and faster. | ||||
|  | ||||
| Overview | ||||
| -------- | ||||
| @@ -11,7 +11,7 @@ Overview | ||||
| [MessagePack](http://msgpack.org/) is an efficient binary serialization | ||||
| format, which lets you exchange data among multiple languages like JSON, | ||||
| except that it's faster and smaller. Small integers are encoded into a | ||||
| single byte while typical short strings require only one extra byte in | ||||
| single byte and short strings require only one extra byte in | ||||
| addition to the strings themselves. | ||||
|  | ||||
| Example | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| version: 2.1.5.{build} | ||||
| version: 3.0.0.{build} | ||||
|  | ||||
| image: | ||||
| - Visual Studio 2015 | ||||
|   | ||||
| @@ -61,6 +61,7 @@ struct define_map<A0<%1.upto(i) {|j|%>, A<%=j%><%}%>> { | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
|   | ||||
| @@ -39,7 +39,7 @@ FOREACH (source_file ${exec_PROGRAMS}) | ||||
|         ) | ||||
|     ENDIF() | ||||
|     IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") | ||||
|         SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3") | ||||
|         SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") | ||||
|     ENDIF () | ||||
|  | ||||
|     IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | ||||
|   | ||||
| @@ -70,13 +70,22 @@ int main() { | ||||
|     // Client | ||||
|     auto host = "localhost"; | ||||
|     boost::asio::ip::tcp::resolver r(ios); | ||||
|  | ||||
| #if BOOST_VERSION < 106600 | ||||
|     boost::asio::ip::tcp::resolver::query q(host, boost::lexical_cast<std::string>(port)); | ||||
|     auto it = r.resolve(q); | ||||
|     boost::asio::ip::tcp::resolver::iterator end; | ||||
| #else  // BOOST_VERSION < 106600 | ||||
|     auto eps = r.resolve(host, boost::lexical_cast<std::string>(port)); | ||||
|     auto it = eps.begin(); | ||||
|     auto end = eps.end(); | ||||
| #endif // BOOST_VERSION < 106600 | ||||
|  | ||||
|     boost::asio::ip::tcp::socket cs(ios); | ||||
|     boost::asio::async_connect( | ||||
|         cs, | ||||
|  | ||||
|         it, | ||||
|         end, | ||||
|         [&] | ||||
|         (boost::system::error_code const& e, boost::asio::ip::tcp::resolver::iterator) { | ||||
|             if (e) { | ||||
|   | ||||
| @@ -136,13 +136,24 @@ int main() { | ||||
|  | ||||
|     // Client | ||||
|     auto host = "localhost"; | ||||
|  | ||||
|     boost::asio::ip::tcp::resolver r(ios); | ||||
|  | ||||
| #if BOOST_VERSION < 106600 | ||||
|     boost::asio::ip::tcp::resolver::query q(host, boost::lexical_cast<std::string>(port)); | ||||
|     auto it = r.resolve(q); | ||||
|     boost::asio::ip::tcp::resolver::iterator end; | ||||
| #else  // BOOST_VERSION < 106600 | ||||
|     auto eps = r.resolve(host, boost::lexical_cast<std::string>(port)); | ||||
|     auto it = eps.begin(); | ||||
|     auto end = eps.end(); | ||||
| #endif // BOOST_VERSION < 106600 | ||||
|  | ||||
|     boost::asio::ip::tcp::socket cs(ios); | ||||
|     boost::asio::async_connect( | ||||
|         cs, | ||||
|         it, | ||||
|         end, | ||||
|         [&] | ||||
|         (boost::system::error_code const& e, boost::asio::ip::tcp::resolver::iterator) { | ||||
|             if (e) { | ||||
|   | ||||
| @@ -23,7 +23,7 @@ FOREACH (source_file ${exec_PROGRAMS}) | ||||
|         ${MSGPACK_LIB} | ||||
|     ) | ||||
|     IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") | ||||
|         SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3") | ||||
|         SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") | ||||
|     ENDIF () | ||||
|  | ||||
|     IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | ||||
|   | ||||
| @@ -40,7 +40,7 @@ FOREACH (source_file ${exec_PROGRAMS}) | ||||
|             $<TARGET_PROPERTY:msgpackc,INTERFACE_INCLUDE_DIRECTORIES> | ||||
|     ) | ||||
|     IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") | ||||
|         SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3") | ||||
|         SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") | ||||
|     ENDIF () | ||||
|     IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") | ||||
|         IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]") | ||||
| @@ -65,7 +65,7 @@ FOREACH (source_file ${with_pthread_PROGRAMS}) | ||||
|         ${CMAKE_THREAD_LIBS_INIT} | ||||
|     ) | ||||
|     IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") | ||||
|         SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3") | ||||
|         SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") | ||||
|     ENDIF () | ||||
|     IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") | ||||
|         IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]") | ||||
|   | ||||
| @@ -25,7 +25,7 @@ IF (MSGPACK_CXX11) | ||||
|                 $<TARGET_PROPERTY:msgpackc,INTERFACE_INCLUDE_DIRECTORIES> | ||||
|         ) | ||||
|         IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") | ||||
|             SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3 ") | ||||
|             SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") | ||||
|         ENDIF () | ||||
|  | ||||
|         IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| IF (MSGPACK_USE_X3_PARSE) | ||||
| IF (MSGPACK_USE_X3_PARSE AND MSGPACK_DEFAULT_API_VERSION VERSION_GREATER 1) | ||||
|     INCLUDE_DIRECTORIES ( | ||||
|         ../include | ||||
|     ) | ||||
| @@ -23,7 +23,7 @@ IF (MSGPACK_USE_X3_PARSE) | ||||
|                 $<TARGET_PROPERTY:msgpackc,INTERFACE_INCLUDE_DIRECTORIES> | ||||
|         ) | ||||
|         IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") | ||||
|             SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g ") | ||||
|             SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") | ||||
|         ENDIF () | ||||
|  | ||||
|         IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | ||||
| @@ -54,7 +54,7 @@ IF (MSGPACK_USE_X3_PARSE) | ||||
|             ${CMAKE_THREAD_LIBS_INIT} | ||||
|         ) | ||||
|         IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") | ||||
|             SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g ") | ||||
|             SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") | ||||
|         ENDIF () | ||||
|  | ||||
|         IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | ||||
|   | ||||
							
								
								
									
										23
									
								
								fuzz/unpack_pack_fuzzer.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								fuzz/unpack_pack_fuzzer.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| #include <msgpack.hpp> | ||||
|  | ||||
| extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { | ||||
|   try { | ||||
|     // NOTE(derwolfe): by default the limits are set at 2^32-1 length. I'm | ||||
|     // setting these at far smaller values to avoid OOMs | ||||
|     const int test_limit = 1000; | ||||
|     msgpack::object_handle unpacked = msgpack::unpack(reinterpret_cast<const char *>(data), | ||||
|                                                       size, | ||||
|                                                       nullptr, | ||||
|                                                       nullptr, | ||||
|                                                       msgpack::unpack_limit(test_limit, | ||||
|                                                                             test_limit, | ||||
|                                                                             test_limit, | ||||
|                                                                             test_limit, | ||||
|                                                                             test_limit, | ||||
|                                                                             test_limit)); | ||||
|     msgpack::sbuffer sbuf; | ||||
|     msgpack::pack(sbuf, unpacked.get()); | ||||
|   } catch (...) { | ||||
|   } | ||||
|   return 0; | ||||
| } | ||||
							
								
								
									
										1
									
								
								fuzz/unpack_pack_fuzzer_seed_corpus/EmptyArray
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								fuzz/unpack_pack_fuzzer_seed_corpus/EmptyArray
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| <EFBFBD> | ||||
							
								
								
									
										1
									
								
								fuzz/unpack_pack_fuzzer_seed_corpus/EmptyObject
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								fuzz/unpack_pack_fuzzer_seed_corpus/EmptyObject
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| <EFBFBD> | ||||
							
								
								
									
										2
									
								
								fuzz/unpack_pack_fuzzer_seed_corpus/ExcessiveNesting
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								fuzz/unpack_pack_fuzzer_seed_corpus/ExcessiveNesting
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| <EFBFBD><01><02><03><04><05><06><07><08>	<09> | ||||
| <EFBFBD><0B><0C> | ||||
							
								
								
									
										
											BIN
										
									
								
								fuzz/unpack_pack_fuzzer_seed_corpus/OpenWeatherMap
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								fuzz/unpack_pack_fuzzer_seed_corpus/OpenWeatherMap
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								fuzz/unpack_pack_fuzzer_seed_corpus/WeatherUnderground
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								fuzz/unpack_pack_fuzzer_seed_corpus/WeatherUnderground
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -11,7 +11,11 @@ | ||||
| #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" | ||||
|   | ||||
| @@ -14,5 +14,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -139,5 +139,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
							
								
								
									
										17
									
								
								include/msgpack/create_object_visitor.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								include/msgpack/create_object_visitor.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -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
									
								
								include/msgpack/create_object_visitor_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								include/msgpack/create_object_visitor_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -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 | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #include "msgpack/v1/fbuffer_decl.hpp" | ||||
| #include "msgpack/v2/fbuffer_decl.hpp" | ||||
| #include "msgpack/v3/fbuffer_decl.hpp" | ||||
|  | ||||
| #endif // MSGPACK_FBUFFER_DECL_HPP | ||||
|   | ||||
| @@ -13,5 +13,6 @@ | ||||
|  | ||||
| #include <msgpack/v1/iterator_decl.hpp> | ||||
| #include <msgpack/v2/iterator_decl.hpp> | ||||
| #include <msgpack/v3/iterator_decl.hpp> | ||||
|  | ||||
| #endif // MSGPACK_V1_ITERATOR_DECL_HPP | ||||
| #endif // MSGPACK_ITERATOR_DECL_HPP | ||||
|   | ||||
| @@ -13,5 +13,6 @@ | ||||
|  | ||||
| #include "msgpack/v1/meta_decl.hpp" | ||||
| #include "msgpack/v2/meta_decl.hpp" | ||||
| #include "msgpack/v3/meta_decl.hpp" | ||||
|  | ||||
| #endif // MSGPACK_META_DECL_HPP | ||||
|   | ||||
							
								
								
									
										17
									
								
								include/msgpack/null_visitor.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								include/msgpack/null_visitor.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -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
									
								
								include/msgpack/null_visitor_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								include/msgpack/null_visitor_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -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 | ||||
| @@ -13,5 +13,6 @@ | ||||
|  | ||||
| #include "msgpack/v1/object_decl.hpp" | ||||
| #include "msgpack/v2/object_decl.hpp" | ||||
| #include "msgpack/v3/object_decl.hpp" | ||||
|  | ||||
| #endif // MSGPACK_OBJECT_DECL_HPP | ||||
|   | ||||
| @@ -15,5 +15,6 @@ | ||||
|  | ||||
| #include "msgpack/v1/object_fwd.hpp" | ||||
| #include "msgpack/v2/object_fwd.hpp" | ||||
| #include "msgpack/v3/object_fwd.hpp" | ||||
|  | ||||
| #endif // MSGPACK_OBJECT_FWD_HPP | ||||
|   | ||||
| @@ -13,5 +13,6 @@ | ||||
|  | ||||
| #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 | ||||
|   | ||||
| @@ -98,6 +98,7 @@ static int msgpack_pack_bin_body(msgpack_packer* pk, const void* b, size_t l); | ||||
| static int msgpack_pack_ext(msgpack_packer* pk, size_t l, int8_t type); | ||||
| static int msgpack_pack_ext_body(msgpack_packer* pk, const void* b, size_t l); | ||||
|  | ||||
| MSGPACK_DLLEXPORT | ||||
| int msgpack_pack_object(msgpack_packer* pk, msgpack_object d); | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #include "msgpack/v1/pack_decl.hpp" | ||||
| #include "msgpack/v2/pack_decl.hpp" | ||||
| #include "msgpack/v3/pack_decl.hpp" | ||||
|  | ||||
| #endif // MSGPACK_PACK_DECL_HPP | ||||
|   | ||||
							
								
								
									
										18
									
								
								include/msgpack/parse.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								include/msgpack/parse.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -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
									
								
								include/msgpack/parse_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								include/msgpack/parse_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -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 | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #include "msgpack/v1/parse_return.hpp" | ||||
| #include "msgpack/v2/parse_return.hpp" | ||||
| #include "msgpack/v3/parse_return.hpp" | ||||
|  | ||||
| #endif // MSGPACK_PARSE_RETURN_HPP | ||||
|   | ||||
| @@ -12,6 +12,7 @@ | ||||
|  | ||||
| #include "msgpack/v1/sbuffer_decl.hpp" | ||||
| #include "msgpack/v2/sbuffer_decl.hpp" | ||||
| #include "msgpack/v3/sbuffer_decl.hpp" | ||||
|  | ||||
|  | ||||
| #endif // MSGPACK_SBUFFER_DECL_HPP | ||||
|   | ||||
| @@ -14,6 +14,6 @@ | ||||
|  | ||||
| #include "msgpack/v1/unpack.hpp" | ||||
| #include "msgpack/v2/unpack.hpp" | ||||
| #include "msgpack/v2/x3_unpack.hpp" | ||||
| #include "msgpack/v3/unpack.hpp" | ||||
|  | ||||
| #endif // MSGPACK_UNPACK_HPP | ||||
|   | ||||
| @@ -12,5 +12,6 @@ | ||||
|  | ||||
| #include "msgpack/v1/unpack_decl.hpp" | ||||
| #include "msgpack/v2/unpack_decl.hpp" | ||||
| #include "msgpack/v3/unpack_decl.hpp" | ||||
|  | ||||
| #endif // MSGPACK_UNPACK_DECL_HPP | ||||
|   | ||||
| @@ -62,6 +62,7 @@ struct define_map<A0, A1> { | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
| @@ -114,6 +115,7 @@ struct define_map<A0, A1, A2, A3> { | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
| @@ -180,6 +182,7 @@ struct define_map<A0, A1, A2, A3, A4, A5> { | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
| @@ -260,6 +263,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7> { | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
| @@ -354,6 +358,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> { | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
| @@ -462,6 +467,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> { | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
| @@ -584,6 +590,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> { | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
| @@ -720,6 +727,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1 | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
| @@ -870,6 +878,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1 | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
| @@ -1034,6 +1043,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1 | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
| @@ -1212,6 +1222,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1 | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
| @@ -1404,6 +1415,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1 | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
| @@ -1610,6 +1622,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1 | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
| @@ -1830,6 +1843,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1 | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
| @@ -2064,6 +2078,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1 | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
| @@ -2312,6 +2327,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1 | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.insert( | ||||
|                 std::map<std::string, msgpack::object const*>::value_type( | ||||
|                     std::string( | ||||
|   | ||||
							
								
								
									
										45
									
								
								include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| // | ||||
| // 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_V1_CPP11_CONVERT_HELPER_HPP | ||||
| #define MSGPACK_V1_CPP11_CONVERT_HELPER_HPP | ||||
|  | ||||
| #include <tuple> | ||||
|  | ||||
| #include <msgpack/object_fwd.hpp> | ||||
|  | ||||
| namespace msgpack { | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v1) { | ||||
| /// @endcond | ||||
| namespace type { | ||||
|  | ||||
| template <typename T> | ||||
| inline typename std::enable_if< | ||||
|     has_as<T>::value | ||||
| >::type | ||||
| convert_helper(msgpack::object const& o, T& t) { | ||||
|     t = o.as<T>(); | ||||
| } | ||||
| template <typename T> | ||||
| inline typename std::enable_if< | ||||
|     !has_as<T>::value | ||||
| >::type | ||||
| convert_helper(msgpack::object const& o, T& t) { | ||||
|     o.convert(t); | ||||
| } | ||||
|  | ||||
| }  // namespace type | ||||
|  | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v1) | ||||
| /// @endcond | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V1_CPP11_CONVERT_HELPER_HPP | ||||
| @@ -11,6 +11,7 @@ | ||||
| #define MSGPACK_V1_CPP11_DEFINE_ARRAY_HPP | ||||
|  | ||||
| #include "msgpack/v1/adaptor/detail/cpp11_define_array_decl.hpp" | ||||
| #include "msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp" | ||||
|  | ||||
| #include <tuple> | ||||
|  | ||||
| @@ -31,7 +32,7 @@ struct define_array_imp { | ||||
|         define_array_imp<Tuple, N-1>::unpack(o, t); | ||||
|         const size_t size = o.via.array.size; | ||||
|         if(size <= N-1) { return; } | ||||
|         o.via.array.ptr[N-1].convert(std::get<N-1>(t)); | ||||
|         convert_helper(o.via.array.ptr[N-1], std::get<N-1>(t)); | ||||
|     } | ||||
|     static void object(msgpack::object* o, msgpack::zone& z, Tuple const& t) { | ||||
|         define_array_imp<Tuple, N-1>::object(o, z, t); | ||||
| @@ -48,7 +49,7 @@ struct define_array_imp<Tuple, 1> { | ||||
|     static void unpack(msgpack::object const& o, Tuple& t) { | ||||
|         const size_t size = o.via.array.size; | ||||
|         if(size <= 0) { return; } | ||||
|         o.via.array.ptr[0].convert(std::get<0>(t)); | ||||
|         convert_helper(o.via.array.ptr[0], std::get<0>(t)); | ||||
|     } | ||||
|     static void object(msgpack::object* o, msgpack::zone& z, Tuple const& t) { | ||||
|         o->via.array.ptr[0] = msgpack::object(std::get<0>(t), z); | ||||
|   | ||||
| @@ -11,6 +11,7 @@ | ||||
| #define MSGPACK_V1_CPP11_DEFINE_MAP_HPP | ||||
|  | ||||
| #include "msgpack/v1/adaptor/detail/cpp11_define_map_decl.hpp" | ||||
| #include "msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp" | ||||
|  | ||||
| #include <tuple> | ||||
| #include <map> | ||||
| @@ -34,7 +35,7 @@ struct define_map_imp { | ||||
|         define_map_imp<Tuple, N-2>::unpack(o, t, kvmap); | ||||
|         auto it = kvmap.find(std::get<N-2>(t)); | ||||
|         if (it != kvmap.end()) { | ||||
|             it->second->convert(std::get<N-1>(t)); | ||||
|             convert_helper(*it->second, std::get<N-1>(t)); | ||||
|         } | ||||
|     } | ||||
|     static void object(msgpack::object* o, msgpack::zone& z, Tuple const& t) { | ||||
| @@ -71,6 +72,7 @@ struct define_map { | ||||
|         if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } | ||||
|         std::map<std::string, msgpack::object const*> kvmap; | ||||
|         for (uint32_t i = 0; i < o.via.map.size; ++i) { | ||||
|             if (o.via.map.ptr[i].key.type != msgpack::type::STR) { throw msgpack::type_error(); } | ||||
|             kvmap.emplace( | ||||
|                 std::string( | ||||
|                     o.via.map.ptr[i].key.via.str.ptr, | ||||
|   | ||||
| @@ -201,75 +201,91 @@ struct object<type::fix_int64> { | ||||
|  | ||||
| template <> | ||||
| struct object<type::fix_uint8> { | ||||
|     void operator()(msgpack::object& o, type::fix_uint8 v) const | ||||
|     { o.type = msgpack::type::POSITIVE_INTEGER, o.via.u64 = v.get(); } | ||||
|     void operator()(msgpack::object& o, type::fix_uint8 v) const { | ||||
|         o.type = msgpack::type::POSITIVE_INTEGER; | ||||
|         o.via.u64 = v.get(); | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object<type::fix_uint16> { | ||||
|     void operator()(msgpack::object& o, type::fix_uint16 v) const | ||||
|     { o.type = msgpack::type::POSITIVE_INTEGER, o.via.u64 = v.get(); } | ||||
|     void operator()(msgpack::object& o, type::fix_uint16 v) const { | ||||
|         o.type = msgpack::type::POSITIVE_INTEGER; | ||||
|         o.via.u64 = v.get(); | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object<type::fix_uint32> { | ||||
|     void operator()(msgpack::object& o, type::fix_uint32 v) const | ||||
|     { o.type = msgpack::type::POSITIVE_INTEGER, o.via.u64 = v.get(); } | ||||
|     void operator()(msgpack::object& o, type::fix_uint32 v) const { | ||||
|         o.type = msgpack::type::POSITIVE_INTEGER; | ||||
|         o.via.u64 = v.get(); | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object<type::fix_uint64> { | ||||
|     void operator()(msgpack::object& o, type::fix_uint64 v) const | ||||
|     { o.type = msgpack::type::POSITIVE_INTEGER, o.via.u64 = v.get(); } | ||||
|     void operator()(msgpack::object& o, type::fix_uint64 v) const { | ||||
|         o.type = msgpack::type::POSITIVE_INTEGER; | ||||
|         o.via.u64 = v.get(); | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<type::fix_int8> { | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_int8 v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_int8 v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<type::fix_int16> { | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_int16 v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_int16 v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<type::fix_int32> { | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_int32 v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_int32 v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<type::fix_int64> { | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_int64 v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_int64 v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<type::fix_uint8> { | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_uint8 v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_uint8 v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<type::fix_uint16> { | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_uint16 v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_uint16 v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<type::fix_uint32> { | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_uint32 v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_uint32 v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<type::fix_uint64> { | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_uint64 v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, type::fix_uint64 v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| } // namespace adaptor | ||||
|   | ||||
| @@ -82,7 +82,8 @@ struct object_char_sign<true> { | ||||
| template <> | ||||
| struct object_char_sign<false> { | ||||
|     static void make(msgpack::object& o, char v) { | ||||
|         o.type = msgpack::type::POSITIVE_INTEGER, o.via.u64 = v; | ||||
|         o.type = msgpack::type::POSITIVE_INTEGER; | ||||
|         o.via.u64 = v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| @@ -320,99 +321,120 @@ struct object<signed long long> { | ||||
|  | ||||
| template <> | ||||
| struct object<unsigned char> { | ||||
|     void operator()(msgpack::object& o, unsigned char v) const | ||||
|     { o.type = msgpack::type::POSITIVE_INTEGER, o.via.u64 = v; } | ||||
|     void operator()(msgpack::object& o, unsigned char v) const { | ||||
|         o.type = msgpack::type::POSITIVE_INTEGER; | ||||
|         o.via.u64 = v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object<unsigned short> { | ||||
|     void operator()(msgpack::object& o, unsigned short v) const | ||||
|     { o.type = msgpack::type::POSITIVE_INTEGER, o.via.u64 = v; } | ||||
|     void operator()(msgpack::object& o, unsigned short v) const { | ||||
|         o.type = msgpack::type::POSITIVE_INTEGER; | ||||
|         o.via.u64 = v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object<unsigned int> { | ||||
|     void operator()(msgpack::object& o, unsigned int v) const | ||||
|     { o.type = msgpack::type::POSITIVE_INTEGER, o.via.u64 = v; } | ||||
|     void operator()(msgpack::object& o, unsigned int v) const { | ||||
|         o.type = msgpack::type::POSITIVE_INTEGER; | ||||
|         o.via.u64 = v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object<unsigned long> { | ||||
|     void operator()(msgpack::object& o, unsigned long v) const | ||||
|     { o.type = msgpack::type::POSITIVE_INTEGER, o.via.u64 = v; } | ||||
|     void operator()(msgpack::object& o, unsigned long v) const { | ||||
|         o.type = msgpack::type::POSITIVE_INTEGER; | ||||
|         o.via.u64 = v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object<unsigned long long> { | ||||
|     void operator()(msgpack::object& o, unsigned long long v) const | ||||
|     { o.type = msgpack::type::POSITIVE_INTEGER, o.via.u64 = v; } | ||||
|     void operator()(msgpack::object& o, unsigned long long v) const { | ||||
|         o.type = msgpack::type::POSITIVE_INTEGER; | ||||
|         o.via.u64 = v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<char> { | ||||
|     void operator()(msgpack::object::with_zone& o, char v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, char v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<signed char> { | ||||
|     void operator()(msgpack::object::with_zone& o, signed char v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, signed char v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<signed short> { | ||||
|     void operator()(msgpack::object::with_zone& o, signed short v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, signed short v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<signed int> { | ||||
|     void operator()(msgpack::object::with_zone& o, signed int v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, signed int v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<signed long> { | ||||
|     void operator()(msgpack::object::with_zone& o, signed long v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, signed long v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<signed long long> { | ||||
|     void operator()(msgpack::object::with_zone& o, const signed long long& v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, const signed long long& v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<unsigned char> { | ||||
|     void operator()(msgpack::object::with_zone& o, unsigned char v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, unsigned char v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<unsigned short> { | ||||
|     void operator()(msgpack::object::with_zone& o, unsigned short v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, unsigned short v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<unsigned int> { | ||||
|     void operator()(msgpack::object::with_zone& o, unsigned int v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, unsigned int v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<unsigned long> { | ||||
|     void operator()(msgpack::object::with_zone& o, unsigned long v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, unsigned long v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| template <> | ||||
| struct object_with_zone<unsigned long long> { | ||||
|     void operator()(msgpack::object::with_zone& o, const unsigned long long& v) const | ||||
|     { static_cast<msgpack::object&>(o) << v; } | ||||
|     void operator()(msgpack::object::with_zone& o, const unsigned long long& v) const { | ||||
|         static_cast<msgpack::object&>(o) << v; | ||||
|     } | ||||
| }; | ||||
|  | ||||
| } // namespace adaptor | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -83,6 +83,13 @@ bool operator!=(const T& y, const msgpack::object& x); | ||||
|  | ||||
| void operator<< (msgpack::object& o, const msgpack_object& v); | ||||
|  | ||||
| class object_parser; | ||||
|  | ||||
| template <typename Stream> | ||||
| struct object_pack_visitor; | ||||
|  | ||||
| struct object_stringize_visitor; | ||||
|  | ||||
| // obsolete | ||||
| template <typename T> | ||||
| MSGPACK_DEPRECATED("please use member function version of object::convert(T&)") | ||||
| @@ -104,7 +111,7 @@ msgpack::packer<Stream>& operator<< (msgpack::packer<Stream>& o, const msgpack:: | ||||
| template <typename Stream> | ||||
| msgpack::packer<Stream>& operator<< (msgpack::packer<Stream>& o, const msgpack::object::with_zone& v); | ||||
|  | ||||
| std::ostream& operator<< (std::ostream& s, const msgpack::object& o); | ||||
| std::ostream& operator<< (std::ostream& s, const msgpack::object& v); | ||||
|  | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v1) | ||||
|   | ||||
| @@ -59,7 +59,7 @@ private: | ||||
|             decltype(adaptor::as<U>()(std::declval<msgpack::object>())), | ||||
|             T | ||||
|         >::type; | ||||
|     template <typename> | ||||
|     template <typename...> | ||||
|     static std::false_type check(...); | ||||
| public: | ||||
|     using type = decltype(check<T>(MSGPACK_NULLPTR)); | ||||
|   | ||||
| @@ -848,7 +848,6 @@ class unpacker { | ||||
| public: | ||||
|     /// Constructor | ||||
|     /** | ||||
|      * @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 initial_buffer_size The memory size to allocate when unpacker is constructed. | ||||
|   | ||||
| @@ -12,6 +12,7 @@ | ||||
|  | ||||
| #include "msgpack/unpack_decl.hpp" | ||||
| #include "msgpack/unpack_exception.hpp" | ||||
| #include "msgpack/v2/create_object_visitor_decl.hpp" | ||||
| #include "msgpack/v2/null_visitor.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|   | ||||
							
								
								
									
										33
									
								
								include/msgpack/v2/create_object_visitor_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								include/msgpack/v2/create_object_visitor_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| // | ||||
| // 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_V2_CREATE_OBJECT_VISITOR_DECL_HPP | ||||
| #define MSGPACK_V2_CREATE_OBJECT_VISITOR_DECL_HPP | ||||
|  | ||||
| #include "msgpack/versioning.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v2) { | ||||
| /// @endcond | ||||
|  | ||||
| namespace detail { | ||||
|  | ||||
| class create_object_visitor; | ||||
|  | ||||
| } // detail | ||||
|  | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v2) | ||||
| /// @endcond | ||||
|  | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V2_CREATE_OBJECT_VISITOR_DECL_HPP | ||||
| @@ -10,8 +10,7 @@ | ||||
| #ifndef MSGPACK_V2_NULL_VISITOR_HPP | ||||
| #define MSGPACK_V2_NULL_VISITOR_HPP | ||||
|  | ||||
| #include "msgpack/versioning.hpp" | ||||
| #include "msgpack/cpp_config.hpp" | ||||
| #include "msgpack/v2/null_visitor_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
|   | ||||
							
								
								
									
										29
									
								
								include/msgpack/v2/null_visitor_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								include/msgpack/v2/null_visitor_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| // | ||||
| // 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_V2_NULL_VISITOR_DECL_HPP | ||||
| #define MSGPACK_V2_NULL_VISITOR_DECL_HPP | ||||
|  | ||||
| #include "msgpack/versioning.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v2) { | ||||
| /// @endcond | ||||
|  | ||||
| struct null_visitor; | ||||
|  | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v2) | ||||
| /// @endcond | ||||
|  | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V2_NULL_VISITOR_DECL_HPP | ||||
| @@ -37,6 +37,10 @@ using v1::detail::packer_serializer; | ||||
|  | ||||
| } // namespace detail | ||||
|  | ||||
| using v1::object_parser; | ||||
| using v1::object_pack_visitor; | ||||
| using v1::object_stringize_visitor; | ||||
|  | ||||
| using v1::operator==; | ||||
| using v1::operator!=; | ||||
|  | ||||
|   | ||||
| @@ -91,7 +91,7 @@ private: | ||||
|             v1::has_as<U>::value, | ||||
|             std::true_type | ||||
|         >::type; | ||||
|     template <typename> | ||||
|     template <typename...> | ||||
|     static std::false_type check(...); | ||||
| public: | ||||
|     using type = decltype(check<T>(MSGPACK_NULLPTR)); | ||||
|   | ||||
| @@ -22,6 +22,7 @@ using v1::packer; | ||||
|  | ||||
| using v1::pack; | ||||
|  | ||||
|  | ||||
| #if MSGPACK_ENDIAN_LITTLE_BYTE | ||||
|  | ||||
| using v1::take8_8; | ||||
|   | ||||
| @@ -10,8 +10,14 @@ | ||||
| #ifndef MSGPACK_V2_PARSE_HPP | ||||
| #define MSGPACK_V2_PARSE_HPP | ||||
|  | ||||
| #if MSGPACK_DEFAULT_API_VERSION >= 2 | ||||
|  | ||||
| #include <cstddef> | ||||
|  | ||||
| #include "msgpack/unpack_define.h" | ||||
| #include "msgpack/parse_return.hpp" | ||||
| #include "msgpack/unpack_exception.hpp" | ||||
| #include "msgpack/unpack_decl.hpp" | ||||
| #include "msgpack/v2/create_object_visitor.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| @@ -21,6 +27,10 @@ MSGPACK_API_VERSION_NAMESPACE(v2) { | ||||
|  | ||||
| namespace detail { | ||||
|  | ||||
| using v1::detail::fix_tag; | ||||
| using v1::detail::value; | ||||
| using v1::detail::load; | ||||
|  | ||||
| template <typename VisitorHolder> | ||||
| class context { | ||||
| public: | ||||
| @@ -621,11 +631,11 @@ class parser : public detail::context<VisitorHolder> { | ||||
| public: | ||||
|     /// Constructor | ||||
|     /** | ||||
|      * @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 hook The handler that is called when buffer is allocated internally. | ||||
|      *             `hook` should be callable with char* parameter. | ||||
|      *             `parser` gives a chance to prepare finalizer. | ||||
|      *              See https://github.com/msgpack/msgpack-c/wiki/v2_0_cpp_visitor#parse-api | ||||
|      * @param initial_buffer_size The memory size to allocate when unpacker is constructed. | ||||
|      * @param limit The size limit information of msgpack::object. | ||||
|      * | ||||
|      */ | ||||
|     parser(ReferencedBufferHook& hook, | ||||
| @@ -998,23 +1008,23 @@ inline void parser<VisitorHolder, ReferencedBufferHook>::remove_nonparsed_buffer | ||||
|  | ||||
| template <typename Visitor> | ||||
| inline bool parse(const char* data, size_t len, size_t& off, Visitor& v) { | ||||
|     parse_return ret = detail::parse_imp(data, len, off, v); | ||||
|     parse_return ret = msgpack::detail::parse_imp(data, len, off, v); | ||||
|     return ret == PARSE_SUCCESS || ret == PARSE_EXTRA_BYTES; | ||||
| } | ||||
|  | ||||
| template <typename Visitor> | ||||
| inline bool parse(const char* data, size_t len, Visitor& v) { | ||||
|     std::size_t off = 0; | ||||
|     return parse(data, len, off, v); | ||||
|     return msgpack::parse(data, len, off, v); | ||||
| } | ||||
|  | ||||
| namespace detail { | ||||
|  | ||||
| template <typename Visitor> | ||||
| struct parse_helper : context<parse_helper<Visitor> > { | ||||
| struct parse_helper : detail::context<parse_helper<Visitor> > { | ||||
|     parse_helper(Visitor& v):m_visitor(v) {} | ||||
|     parse_return execute(const char* data, std::size_t len, std::size_t& off) { | ||||
|         return context<parse_helper<Visitor> >::execute(data, len, off); | ||||
|         return detail::context<parse_helper<Visitor> >::execute(data, len, off); | ||||
|     } | ||||
|     Visitor& visitor() const { return m_visitor; } | ||||
|     Visitor& m_visitor; | ||||
| @@ -1057,5 +1067,6 @@ parse_imp(const char* data, size_t len, size_t& off, Visitor& v) { | ||||
|  | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_DEFAULT_API_VERSION >= 2 | ||||
|  | ||||
| #endif // MSGPACK_V2_PARSE_HPP | ||||
|   | ||||
							
								
								
									
										79
									
								
								include/msgpack/v2/parse_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								include/msgpack/v2/parse_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,79 @@ | ||||
| // | ||||
| // 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_V2_PARSE_DECL_HPP | ||||
| #define MSGPACK_V2_PARSE_DECL_HPP | ||||
|  | ||||
| #include "msgpack/parse_return.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v2) { | ||||
| /// @endcond | ||||
|  | ||||
| namespace detail { | ||||
|  | ||||
| template <typename VisitorHolder> | ||||
| class context; | ||||
|  | ||||
| } // detail | ||||
|  | ||||
|  | ||||
| /// Parsing class for a stream deserialization. | ||||
|  | ||||
| template <typename VisitorHolder, typename ReferencedBufferHook> | ||||
| class parser; | ||||
|  | ||||
|  | ||||
| /// Unpack msgpack formatted data via a visitor | ||||
| /** | ||||
|  * @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 v The visitor that satisfies visitor concept. https://github.com/msgpack/msgpack-c/wiki/v2_0_cpp_visitor#visitor-concept | ||||
|  * | ||||
|  * @return if unpacking process finishs without error then return true, otherwise return false. | ||||
|  * | ||||
|  */ | ||||
| template <typename Visitor> | ||||
| bool parse(const char* data, size_t len, size_t& off, Visitor& v); | ||||
|  | ||||
|  | ||||
| /// Unpack msgpack formatted data via a visitor | ||||
| /** | ||||
|  * @param data The pointer to the buffer. | ||||
|  * @param len The length of the buffer. | ||||
|  * @param v The visitor that satisfies visitor concept. https://github.com/msgpack/msgpack-c/wiki/v2_0_cpp_visitor#visitor-concept | ||||
|  * | ||||
|  * @return if unpacking process finishs without error then return true, otherwise return false. | ||||
|  * | ||||
|  */ | ||||
| template <typename Visitor> | ||||
| bool parse(const char* data, size_t len, Visitor& v); | ||||
|  | ||||
| namespace detail { | ||||
|  | ||||
| template <typename Visitor> | ||||
| struct parse_helper; | ||||
|  | ||||
| template <typename Visitor> | ||||
| inline parse_return | ||||
| parse_imp(const char* data, size_t len, size_t& off, Visitor& v); | ||||
|  | ||||
| } // detail | ||||
|  | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v2) | ||||
| /// @endcond | ||||
|  | ||||
| }  // namespace msgpack | ||||
|  | ||||
|  | ||||
| #endif // MSGPACK_V2_PARSE_DECL_HPP | ||||
| @@ -10,9 +10,11 @@ | ||||
| #ifndef MSGPACK_V2_UNPACK_HPP | ||||
| #define MSGPACK_V2_UNPACK_HPP | ||||
|  | ||||
| #if MSGPACK_DEFAULT_API_VERSION >= 2 | ||||
|  | ||||
| #include "msgpack/unpack_decl.hpp" | ||||
| #include "msgpack/v2/create_object_visitor.hpp" | ||||
| #include "msgpack/v2/parse.hpp" | ||||
| #include "msgpack/parse.hpp" | ||||
| #include "msgpack/create_object_visitor.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| @@ -229,7 +231,7 @@ inline void unpack( | ||||
| inline void unpack( | ||||
|     msgpack::object_handle& result, | ||||
|     const char* data, std::size_t len, std::size_t& off, | ||||
|     msgpack::v2::unpack_reference_func f, void* user_data, | ||||
|     unpack_reference_func f, void* user_data, | ||||
|             unpack_limit const& limit) | ||||
| { | ||||
|     bool referenced; | ||||
| @@ -341,5 +343,6 @@ unpack_imp(const char* data, std::size_t len, std::size_t& off, | ||||
|  | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_DEFAULT_API_VERSION >= 2 | ||||
|  | ||||
| #endif // MSGPACK_V2_UNPACK_HPP | ||||
|   | ||||
| @@ -100,7 +100,7 @@ class basic_unpacker; | ||||
|  * @return object_handle that contains unpacked data. | ||||
|  * | ||||
|  */ | ||||
| object_handle unpack( | ||||
| 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()); | ||||
|  | ||||
| @@ -116,7 +116,7 @@ object_handle unpack( | ||||
|  * @return object_handle that contains unpacked data. | ||||
|  * | ||||
|  */ | ||||
| object_handle unpack( | ||||
| 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()); | ||||
|  | ||||
| @@ -132,7 +132,7 @@ object_handle unpack( | ||||
|  * @return object_handle that contains unpacked data. | ||||
|  * | ||||
|  */ | ||||
| object_handle unpack( | ||||
| 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()); | ||||
|  | ||||
| @@ -147,7 +147,7 @@ object_handle unpack( | ||||
|  * @return object_handle that contains unpacked data. | ||||
|  * | ||||
|  */ | ||||
| object_handle unpack( | ||||
| 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()); | ||||
|  | ||||
| @@ -166,7 +166,7 @@ object_handle unpack( | ||||
|  * | ||||
|  */ | ||||
| void unpack( | ||||
|     object_handle& result, | ||||
|     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()); | ||||
|  | ||||
| @@ -183,7 +183,7 @@ void unpack( | ||||
|  * | ||||
|  */ | ||||
| void unpack( | ||||
|     object_handle& result, | ||||
|     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()); | ||||
|  | ||||
| @@ -200,7 +200,7 @@ void unpack( | ||||
|  * | ||||
|  */ | ||||
| void unpack( | ||||
|     object_handle& result, | ||||
|     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()); | ||||
|  | ||||
| @@ -216,7 +216,7 @@ void unpack( | ||||
|  * | ||||
|  */ | ||||
| void unpack( | ||||
|     object_handle& result, | ||||
|     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()); | ||||
|  | ||||
| @@ -292,31 +292,6 @@ msgpack::object 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 formatted data via a visitor | ||||
| /** | ||||
|  * @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 v The visitor that satisfies visitor concept. https://github.com/msgpack/msgpack-c/wiki/v2_0_cpp_visitor#visitor-concept | ||||
|  * | ||||
|  * @return if unpacking process finishs without error then return true, otherwise return false. | ||||
|  * | ||||
|  */ | ||||
| template <typename Visitor> | ||||
| bool parse(const char* data, size_t len, size_t& off, Visitor& v); | ||||
|  | ||||
| /// Unpack msgpack formatted data via a visitor | ||||
| /** | ||||
|  * @param data The pointer to the buffer. | ||||
|  * @param len The length of the buffer. | ||||
|  * @param v The visitor that satisfies visitor concept. https://github.com/msgpack/msgpack-c/wiki/v2_0_cpp_visitor#visitor-concept | ||||
|  * | ||||
|  * @return if unpacking process finishs without error then return true, otherwise return false. | ||||
|  * | ||||
|  */ | ||||
| template <typename Visitor> | ||||
| bool parse(const char* data, size_t len, Visitor& v); | ||||
|  | ||||
| namespace detail { | ||||
|  | ||||
| parse_return | ||||
| @@ -325,9 +300,6 @@ unpack_imp(const char* data, std::size_t len, std::size_t& off, | ||||
|            unpack_reference_func f, void* user_data, | ||||
|            unpack_limit const& limit); | ||||
|  | ||||
| template <typename UnpackVisitor> | ||||
| parse_return | ||||
| parse_imp(const char* data, size_t len, size_t& off, UnpackVisitor& v); | ||||
|  | ||||
| } // detail | ||||
|  | ||||
|   | ||||
| @@ -17,6 +17,7 @@ | ||||
| #if BOOST_VERSION >= 106100 | ||||
|  | ||||
| #include "msgpack/versioning.hpp" | ||||
| #include "msgpack/x3_parse_decl.hpp" | ||||
|  | ||||
| #if __GNUC__ >= 4 | ||||
| #pragma GCC diagnostic push | ||||
|   | ||||
							
								
								
									
										36
									
								
								include/msgpack/v2/x3_parse_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								include/msgpack/v2/x3_parse_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| // | ||||
| // 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_V2_X3_PARSE_DECL_HPP | ||||
| #define MSGPACK_V2_X3_PARSE_DECL_HPP | ||||
|  | ||||
| #if defined(MSGPACK_USE_X3_PARSE) | ||||
|  | ||||
| #include "msgpack/versioning.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v2) { | ||||
| /// @endcond | ||||
|  | ||||
|  | ||||
| template <typename Iterator, typename Visitor> | ||||
| bool parse(Iterator&& begin, Iterator&& end, Visitor&& vis); | ||||
|  | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v2) | ||||
| /// @endcond | ||||
|  | ||||
| }  // namespace msgpack | ||||
|  | ||||
|  | ||||
| #endif // defined(MSGPACK_USE_X3_PARSE) | ||||
|  | ||||
| #endif // MSGPACK_V2_X3_PARSE_DECL_HPP | ||||
| @@ -17,8 +17,9 @@ | ||||
| #if BOOST_VERSION >= 106100 | ||||
|  | ||||
| #include "msgpack/versioning.hpp" | ||||
| #include "msgpack/v2/create_object_visitor.hpp" | ||||
| #include "msgpack/v2/x3_parse.hpp" | ||||
| #include "msgpack/create_object_visitor.hpp" | ||||
| #include "msgpack/x3_unpack_decl.hpp" | ||||
| #include "msgpack/x3_parse.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| @@ -32,8 +33,8 @@ template <typename Iterator> | ||||
| inline void | ||||
| unpack_imp(Iterator&& begin, Iterator&& end, | ||||
|            msgpack::zone& result_zone, msgpack::object& result, bool& referenced, | ||||
|            unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, | ||||
|            unpack_limit const& limit = unpack_limit()) | ||||
|            unpack_reference_func f, void* user_data, | ||||
|            unpack_limit const& limit) | ||||
| { | ||||
|     create_object_visitor v(f, user_data, limit); | ||||
|     v.set_zone(result_zone); | ||||
| @@ -53,8 +54,8 @@ template <typename Iterator> | ||||
| inline msgpack::object_handle unpack( | ||||
|     Iterator&& begin, Iterator&& end, | ||||
|     bool& referenced, | ||||
|     unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, | ||||
|     unpack_limit const& limit = unpack_limit()) | ||||
|     unpack_reference_func f, void* user_data, | ||||
|     unpack_limit const& limit) | ||||
| { | ||||
|     msgpack::object obj; | ||||
|     msgpack::unique_ptr<msgpack::zone> z(new msgpack::zone); | ||||
| @@ -67,8 +68,8 @@ inline msgpack::object_handle unpack( | ||||
| template <typename Iterator> | ||||
| inline msgpack::object_handle unpack( | ||||
|     Iterator&& begin, Iterator&& end, | ||||
|     unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, | ||||
|     unpack_limit const& limit = unpack_limit()) | ||||
|     unpack_reference_func f, void* user_data, | ||||
|     unpack_limit const& limit) | ||||
| { | ||||
|     bool referenced; | ||||
|     return unpack(std::forward<Iterator>(begin), std::forward<Iterator>(end), referenced, f, user_data, limit); | ||||
| @@ -79,8 +80,8 @@ inline msgpack::object unpack( | ||||
|     msgpack::zone& z, | ||||
|     Iterator&& begin, Iterator&& end, | ||||
|     bool& referenced, | ||||
|     unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, | ||||
|     unpack_limit const& limit = unpack_limit()) | ||||
|     unpack_reference_func f, void* user_data, | ||||
|     unpack_limit const& limit) | ||||
| { | ||||
|     msgpack::object obj; | ||||
|     referenced = false; | ||||
| @@ -93,8 +94,8 @@ template <typename Iterator> | ||||
| inline msgpack::object unpack( | ||||
|     msgpack::zone& z, | ||||
|     Iterator&& begin, Iterator&& end, | ||||
|     unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, | ||||
|     unpack_limit const& limit = unpack_limit()) | ||||
|     unpack_reference_func f, void* user_data, | ||||
|     unpack_limit const& limit) | ||||
| { | ||||
|     bool referenced; | ||||
|     return unpack( | ||||
|   | ||||
							
								
								
									
										71
									
								
								include/msgpack/v2/x3_unpack_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								include/msgpack/v2/x3_unpack_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,71 @@ | ||||
| // | ||||
| // 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_V2_X3_UNPACK_DECL_HPP | ||||
| #define MSGPACK_V2_X3_UNPACK_DECL_HPP | ||||
|  | ||||
| #if defined(MSGPACK_USE_X3_PARSE) | ||||
|  | ||||
| #include "msgpack/versioning.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v2) { | ||||
| /// @endcond | ||||
|  | ||||
| namespace detail { | ||||
|  | ||||
| template <typename Iterator> | ||||
| void | ||||
| unpack_imp(Iterator&& begin, Iterator&& end, | ||||
|            msgpack::zone& result_zone, msgpack::object& result, bool& referenced, | ||||
|            unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, | ||||
|            unpack_limit const& limit = unpack_limit()); | ||||
|  | ||||
| } // namespace detail | ||||
|  | ||||
| template <typename Iterator> | ||||
| msgpack::object_handle unpack( | ||||
|     Iterator&& begin, Iterator&& end, | ||||
|     bool& referenced, | ||||
|     unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, | ||||
|     unpack_limit const& limit = unpack_limit()); | ||||
|  | ||||
| template <typename Iterator> | ||||
| msgpack::object_handle unpack( | ||||
|     Iterator&& begin, Iterator&& end, | ||||
|     unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, | ||||
|     unpack_limit const& limit = unpack_limit()); | ||||
|  | ||||
| template <typename Iterator> | ||||
| msgpack::object unpack( | ||||
|     msgpack::zone& z, | ||||
|     Iterator&& begin, Iterator&& end, | ||||
|     bool& referenced, | ||||
|     unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, | ||||
|     unpack_limit const& limit = unpack_limit()); | ||||
|  | ||||
| template <typename Iterator> | ||||
| msgpack::object unpack( | ||||
|     msgpack::zone& z, | ||||
|     Iterator&& begin, Iterator&& end, | ||||
|     unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR, | ||||
|     unpack_limit const& limit = unpack_limit()); | ||||
|  | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v2) | ||||
| /// @endcond | ||||
|  | ||||
| }  // namespace msgpack | ||||
|  | ||||
|  | ||||
| #endif // defined(MSGPACK_USE_X3_PARSE) | ||||
|  | ||||
| #endif // MSGPACK_V2_X3_UNPACK_DECL_HPP | ||||
							
								
								
									
										58
									
								
								include/msgpack/v3/adaptor/adaptor_base.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								include/msgpack/v3/adaptor/adaptor_base.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| // | ||||
| // 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_V3_ADAPTOR_BASE_HPP | ||||
| #define MSGPACK_V3_ADAPTOR_BASE_HPP | ||||
|  | ||||
| #include "msgpack/v3/adaptor/adaptor_base_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
|  | ||||
|  | ||||
| namespace adaptor { | ||||
|  | ||||
| // Adaptor functors | ||||
|  | ||||
| template <typename T, typename Enabler> | ||||
| struct convert : v2::adaptor::convert<T, Enabler> { | ||||
| }; | ||||
|  | ||||
| template <typename T, typename Enabler> | ||||
| struct pack : v2::adaptor::pack<T, Enabler> { | ||||
| }; | ||||
|  | ||||
| template <typename T, typename Enabler> | ||||
| struct object< | ||||
|     T, | ||||
|     Enabler, | ||||
|     typename msgpack::enable_if< | ||||
|         !msgpack::is_same<T, std::string>::value && | ||||
|         !msgpack::is_array<T>::value | ||||
|     >::type> | ||||
|     : v2::adaptor::object<T, Enabler> { | ||||
| }; | ||||
|  | ||||
| template <typename T, typename Enabler> | ||||
| struct object_with_zone : v2::adaptor::object_with_zone<T, Enabler> { | ||||
| }; | ||||
|  | ||||
| } // namespace adaptor | ||||
|  | ||||
| /// @cond | ||||
| } // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
|  | ||||
| } // namespace msgpack | ||||
|  | ||||
|  | ||||
| #endif // MSGPACK_V3_ADAPTOR_BASE_HPP | ||||
							
								
								
									
										52
									
								
								include/msgpack/v3/adaptor/adaptor_base_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								include/msgpack/v3/adaptor/adaptor_base_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| // | ||||
| // 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_V3_ADAPTOR_BASE_DECL_HPP | ||||
| #define MSGPACK_V3_ADAPTOR_BASE_DECL_HPP | ||||
|  | ||||
| #include "msgpack/v2/adaptor/adaptor_base_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
|  | ||||
| using v2::packer; | ||||
|  | ||||
| namespace adaptor { | ||||
|  | ||||
| // Adaptor functors | ||||
|  | ||||
| template <typename T, typename Enabler = void> | ||||
| struct convert; | ||||
|  | ||||
| template <typename T, typename Enabler = void> | ||||
| struct pack; | ||||
|  | ||||
| template <typename T, typename Enabler = void, typename Enabler2 = void> | ||||
| struct object; | ||||
|  | ||||
| template <typename T, typename Enabler = void> | ||||
| struct object_with_zone; | ||||
|  | ||||
| } // namespace adaptor | ||||
|  | ||||
| // operators | ||||
|  | ||||
| using v2::operator>>; | ||||
| using v2::operator<<; | ||||
|  | ||||
| /// @cond | ||||
| } // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
|  | ||||
| } // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V3_ADAPTOR_BASE_DECL_HPP | ||||
							
								
								
									
										36
									
								
								include/msgpack/v3/adaptor/array_ref_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								include/msgpack/v3/adaptor/array_ref_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| // | ||||
| // 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_V3_TYPE_ARRAY_REF_DECL_HPP | ||||
| #define MSGPACK_V3_TYPE_ARRAY_REF_DECL_HPP | ||||
|  | ||||
| #include "msgpack/v2/adaptor/array_ref_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
|  | ||||
| namespace type { | ||||
|  | ||||
| using v2::type::array_ref; | ||||
|  | ||||
| using v2::type::make_array_ref; | ||||
|  | ||||
|  | ||||
| } // namespace type | ||||
|  | ||||
| /// @cond | ||||
| } // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
|  | ||||
| } // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V3_TYPE_ARRAY_REF_DECL_HPP | ||||
							
								
								
									
										42
									
								
								include/msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								include/msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| // | ||||
| // 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_V3_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP | ||||
| #define MSGPACK_V3_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP | ||||
|  | ||||
| #if defined(MSGPACK_USE_BOOST) | ||||
|  | ||||
| #include "msgpack/v2/adaptor/boost/msgpack_variant_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
|  | ||||
| namespace type { | ||||
|  | ||||
| using v2::type::basic_variant; | ||||
| using v2::type::variant; | ||||
| using v2::type::variant_ref; | ||||
|  | ||||
| using v2::type::operator<; | ||||
|  | ||||
| using v2::type::operator==; | ||||
|  | ||||
| } // namespace type | ||||
|  | ||||
| /// @cond | ||||
| } // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
|  | ||||
| } // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_USE_BOOST | ||||
| #endif // MSGPACK_V3_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP | ||||
							
								
								
									
										39
									
								
								include/msgpack/v3/adaptor/check_container_size_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								include/msgpack/v3/adaptor/check_container_size_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,39 @@ | ||||
| // | ||||
| // 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_V3_CHECK_CONTAINER_SIZE_DECL_HPP | ||||
| #define MSGPACK_V3_CHECK_CONTAINER_SIZE_DECL_HPP | ||||
|  | ||||
| #include "msgpack/v2/adaptor/check_container_size_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
|  | ||||
| using v2::container_size_overflow; | ||||
|  | ||||
| namespace detail { | ||||
|  | ||||
| using v2::detail::check_container_size; | ||||
|  | ||||
| using v2::detail::check_container_size_for_ext; | ||||
|  | ||||
| } // namespace detail | ||||
|  | ||||
| using v2::checked_get_container_size; | ||||
|  | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
|  | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V3_CHECK_CONTAINER_SIZE_DECL_HPP | ||||
							
								
								
									
										23
									
								
								include/msgpack/v3/adaptor/define_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								include/msgpack/v3/adaptor/define_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| // | ||||
| // 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_V3_DEFINE_DECL_HPP | ||||
| #define MSGPACK_V3_DEFINE_DECL_HPP | ||||
|  | ||||
| #include "msgpack/cpp_config.hpp" | ||||
|  | ||||
| #if defined(MSGPACK_USE_CPP03) | ||||
| #include "msgpack/v3/adaptor/detail/cpp03_define_array_decl.hpp" | ||||
| #include "msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp" | ||||
| #else  // MSGPACK_USE_CPP03 | ||||
| #include "msgpack/v3/adaptor/detail/cpp11_define_array_decl.hpp" | ||||
| #include "msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp" | ||||
| #endif // MSGPACK_USE_CPP03 | ||||
|  | ||||
| #endif // MSGPACK_V3_DEFINE_DECL_HPP | ||||
| @@ -0,0 +1,31 @@ | ||||
| // | ||||
| // 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_V3_CPP03_DEFINE_ARRAY_DECL_HPP | ||||
| #define MSGPACK_V3_CPP03_DEFINE_ARRAY_DECL_HPP | ||||
|  | ||||
| #include "msgpack/v2/adaptor/detail/cpp03_define_array_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
| namespace type { | ||||
|  | ||||
| using v2::type::define_array; | ||||
|  | ||||
| using v2::type::make_define_array; | ||||
|  | ||||
| }  // namespace type | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V3_CPP03_DEFINE_ARRAY_DECL_HPP | ||||
							
								
								
									
										31
									
								
								include/msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								include/msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| // | ||||
| // 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_V3_CPP03_DEFINE_MAP_DECL_HPP | ||||
| #define MSGPACK_V3_CPP03_DEFINE_MAP_DECL_HPP | ||||
|  | ||||
| #include "msgpack/v2/adaptor/detail/cpp03_define_map_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
| namespace type { | ||||
|  | ||||
| using v2::type::define_map; | ||||
|  | ||||
| using v2::type::make_define_map; | ||||
|  | ||||
| }  // namespace type | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V3_CPP03_DEFINE_MAP_DECL_HPP | ||||
| @@ -0,0 +1,43 @@ | ||||
| // | ||||
| // 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_V3_CPP03_MSGPACK_TUPLE_DECL_HPP | ||||
| #define MSGPACK_V3_CPP03_MSGPACK_TUPLE_DECL_HPP | ||||
|  | ||||
| #include "msgpack/v2/adaptor/detail/cpp03_msgpack_tuple_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
|  | ||||
| namespace type { | ||||
|  | ||||
| using v2::type::tuple; | ||||
|  | ||||
| using v2::type::tuple_element; | ||||
|  | ||||
| using v2::type::const_tuple_element; | ||||
|  | ||||
| using v2::type::tuple_type; | ||||
|  | ||||
| using v2::type::get; | ||||
|  | ||||
| using v2::type::make_tuple; | ||||
|  | ||||
| }  // namespace type | ||||
|  | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
|  | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V3_CPP03_MSGPACK_TUPLE_DECL_HPP | ||||
| @@ -0,0 +1,32 @@ | ||||
| // | ||||
| // 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_V3_CPP11_DEFINE_ARRAY_DECL_HPP | ||||
| #define MSGPACK_V3_CPP11_DEFINE_ARRAY_DECL_HPP | ||||
|  | ||||
| #include "msgpack/v2/adaptor/detail/cpp11_define_array_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
| namespace type { | ||||
|  | ||||
| using v2::type::define_array_imp; | ||||
| using v2::type::define_array; | ||||
|  | ||||
| using v2::type::make_define_array; | ||||
|  | ||||
| }  // namespace type | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V3_CPP11_DEFINE_ARRAY_DECL_HPP | ||||
							
								
								
									
										31
									
								
								include/msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								include/msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| // | ||||
| // 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_V3_CPP11_DEFINE_MAP_DECL_HPP | ||||
| #define MSGPACK_V3_CPP11_DEFINE_MAP_DECL_HPP | ||||
|  | ||||
| #include "msgpack/v2/adaptor/detail/cpp11_define_map_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
| namespace type { | ||||
|  | ||||
| using v2::type::define_map_imp; | ||||
| using v2::type::define_map; | ||||
| using v2::type::make_define_map; | ||||
|  | ||||
| }  // namespace type | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V3_CPP11_DEFINE_MAP_DECL_HPP | ||||
| @@ -0,0 +1,59 @@ | ||||
| // | ||||
| // 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_V3_CPP11_MSGPACK_TUPLE_DECL_HPP | ||||
| #define MSGPACK_V3_CPP11_MSGPACK_TUPLE_DECL_HPP | ||||
|  | ||||
| #include "msgpack/v2/adaptor/detail/cpp11_msgpack_tuple_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
|  | ||||
| namespace type { | ||||
|  | ||||
| using v2::type::get; | ||||
| using v2::type::tuple_size; | ||||
| using v2::type::tuple_element; | ||||
| using v2::type::uses_allocator; | ||||
| using v2::type::ignore; | ||||
| using v2::type::swap; | ||||
|  | ||||
| using v2::type::tuple; | ||||
|  | ||||
| using v2::type::make_tuple; | ||||
| using v2::type::forward_as_tuple; | ||||
| using v2::type::tuple_cat; | ||||
| using v2::type::tie; | ||||
|  | ||||
| } // namespace type | ||||
|  | ||||
| // --- Pack from tuple to packer stream --- | ||||
|  | ||||
| using v2::MsgpackTuplePacker; | ||||
|  | ||||
| // --- Convert from tuple to object --- | ||||
| using v2::MsgpackTupleAs; | ||||
|  | ||||
| using v2::MsgpackTupleAsImpl; | ||||
|  | ||||
| using v2::MsgpackTupleConverter; | ||||
|  | ||||
| // --- Convert from tuple to object with zone --- | ||||
| using v2::MsgpackTupleToObjectWithZone; | ||||
|  | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| ///@endcond | ||||
|  | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V3_CPP11_MSGPACK_TUPLE_DECL_HPP | ||||
							
								
								
									
										34
									
								
								include/msgpack/v3/adaptor/ext_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								include/msgpack/v3/adaptor/ext_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| // | ||||
| // 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_V3_TYPE_EXT_DECL_HPP | ||||
| #define MSGPACK_V3_TYPE_EXT_DECL_HPP | ||||
|  | ||||
| #include "msgpack/v2/adaptor/ext_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
|  | ||||
| namespace type { | ||||
|  | ||||
| using v2::type::ext_ref; | ||||
| using v2::type::ext; | ||||
|  | ||||
| } // namespace type | ||||
|  | ||||
| /// @cond | ||||
| } // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
|  | ||||
| } // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V3_TYPE_EXT_DECL_HPP | ||||
							
								
								
									
										43
									
								
								include/msgpack/v3/adaptor/fixint_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								include/msgpack/v3/adaptor/fixint_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| // | ||||
| // 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_V3_TYPE_FIXINT_DECL_HPP | ||||
| #define MSGPACK_V3_TYPE_FIXINT_DECL_HPP | ||||
|  | ||||
| #include "msgpack/v2/adaptor/fixint_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
|  | ||||
| namespace type { | ||||
|  | ||||
| using v2::type::fix_int; | ||||
|  | ||||
| using v2::type::fix_uint8; | ||||
| using v2::type::fix_uint16; | ||||
| using v2::type::fix_uint32; | ||||
| using v2::type::fix_uint64; | ||||
|  | ||||
| using v2::type::fix_int8; | ||||
| using v2::type::fix_int16; | ||||
| using v2::type::fix_int32; | ||||
| using v2::type::fix_int64; | ||||
|  | ||||
| }  // namespace type | ||||
|  | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
|  | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V3_TYPE_FIXINT_DECL_HPP | ||||
							
								
								
									
										54
									
								
								include/msgpack/v3/adaptor/int_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								include/msgpack/v3/adaptor/int_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | ||||
| // | ||||
| // 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_V3_TYPE_INT_DECL_HPP | ||||
| #define MSGPACK_V3_TYPE_INT_DECL_HPP | ||||
|  | ||||
| #include "msgpack/v2/adaptor/int_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3){ | ||||
| /// @endcond | ||||
|  | ||||
| namespace type { | ||||
| namespace detail { | ||||
|  | ||||
|  | ||||
| template <typename T, bool Signed> | ||||
| struct convert_integer_sign; | ||||
|  | ||||
| template <typename T> | ||||
| struct is_signed; | ||||
|  | ||||
|  | ||||
| template <bool Signed> | ||||
| struct object_char_sign; | ||||
|  | ||||
| //using v2::type::detail::convert_integer_sign; | ||||
|  | ||||
| //using v2::type::detail::is_signed; | ||||
|  | ||||
| using v2::type::detail::convert_integer; | ||||
|  | ||||
| //using v2::type::detail::object_char_sign; | ||||
|  | ||||
| using v2::type::detail::object_char; | ||||
|  | ||||
| }  // namespace detail | ||||
| }  // namespace type | ||||
|  | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
|  | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V3_TYPE_INT_DECL_HPP | ||||
							
								
								
									
										33
									
								
								include/msgpack/v3/adaptor/map_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								include/msgpack/v3/adaptor/map_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| // | ||||
| // 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_V3_TYPE_MAP_DECL_HPP | ||||
| #define MSGPACK_V3_TYPE_MAP_DECL_HPP | ||||
|  | ||||
| #include "msgpack/v2/adaptor/map_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
|  | ||||
| namespace type { | ||||
|  | ||||
| using v2::type::assoc_vector; | ||||
|  | ||||
| }  //namespace type | ||||
|  | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
|  | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V3_TYPE_MAP_DECL_HPP | ||||
							
								
								
									
										21
									
								
								include/msgpack/v3/adaptor/msgpack_tuple_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								include/msgpack/v3/adaptor/msgpack_tuple_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| // | ||||
| // 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_V3_MSGPACK_TUPLE_DECL_HPP | ||||
| #define MSGPACK_V3_MSGPACK_TUPLE_DECL_HPP | ||||
|  | ||||
| #include "msgpack/cpp_config.hpp" | ||||
|  | ||||
| #if defined(MSGPACK_USE_CPP03) | ||||
| #include "msgpack/v3/adaptor/detail/cpp03_msgpack_tuple_decl.hpp" | ||||
| #else  // MSGPACK_USE_CPP03 | ||||
| #include "msgpack/v3/adaptor/detail/cpp11_msgpack_tuple_decl.hpp" | ||||
| #endif // MSGPACK_USE_CPP03 | ||||
|  | ||||
| #endif // MSGPACK_V3_MSGPACK_TUPLE_DECL_HPP | ||||
							
								
								
									
										42
									
								
								include/msgpack/v3/adaptor/nil_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								include/msgpack/v3/adaptor/nil_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| // | ||||
| // 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_V3_TYPE_NIL_DECL_HPP | ||||
| #define MSGPACK_V3_TYPE_NIL_DECL_HPP | ||||
|  | ||||
| #include "msgpack/v2/adaptor/nil_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
|  | ||||
| namespace type { | ||||
|  | ||||
| using v2::type::nil_t; | ||||
|  | ||||
| #if defined(MSGPACK_USE_LEGACY_NIL) | ||||
|  | ||||
| typedef nil_t nil; | ||||
|  | ||||
| #endif // defined(MSGPACK_USE_LEGACY_NIL) | ||||
|  | ||||
| using v2::type::operator<; | ||||
| using v2::type::operator==; | ||||
|  | ||||
| }  // namespace type | ||||
|  | ||||
| /// @cond | ||||
| }  // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
|  | ||||
| }  // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V3_TYPE_NIL_DECL_HPP | ||||
							
								
								
									
										33
									
								
								include/msgpack/v3/adaptor/raw_decl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								include/msgpack/v3/adaptor/raw_decl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| // | ||||
| // 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_V3_TYPE_RAW_DECL_HPP | ||||
| #define MSGPACK_V3_TYPE_RAW_DECL_HPP | ||||
|  | ||||
| #include "msgpack/v2/adaptor/raw_decl.hpp" | ||||
|  | ||||
| namespace msgpack { | ||||
|  | ||||
| /// @cond | ||||
| MSGPACK_API_VERSION_NAMESPACE(v3) { | ||||
| /// @endcond | ||||
|  | ||||
| namespace type { | ||||
|  | ||||
| using v2::type::raw_ref; | ||||
|  | ||||
| } // namespace type | ||||
|  | ||||
| /// @cond | ||||
| } // MSGPACK_API_VERSION_NAMESPACE(v3) | ||||
| /// @endcond | ||||
|  | ||||
| } // namespace msgpack | ||||
|  | ||||
| #endif // MSGPACK_V3_TYPE_RAW_DECL_HPP | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user