From 31dd8e04d3ab354369b0111ea884eb63668d2602 Mon Sep 17 00:00:00 2001 From: Hendrik Muhs Date: Sat, 6 Jan 2024 19:59:31 +0100 Subject: [PATCH 1/2] remove msgpack-c --- .../msgpack-c/.github/depends/boost.sh | 56 - .../msgpack-c/.github/workflows/coverage.yml | 62 - .../msgpack-c/.github/workflows/gha.yml | 277 - keyvi/3rdparty/msgpack-c/.gitignore | 51 - keyvi/3rdparty/msgpack-c/CHANGELOG.md | 412 - keyvi/3rdparty/msgpack-c/CMakeLists.txt | 223 - keyvi/3rdparty/msgpack-c/COPYING | 5 - keyvi/3rdparty/msgpack-c/Doxyfile | 1552 -- keyvi/3rdparty/msgpack-c/Files.cmake | 317 - keyvi/3rdparty/msgpack-c/LICENSE_1_0.txt | 23 - keyvi/3rdparty/msgpack-c/NOTICE | 14 - keyvi/3rdparty/msgpack-c/QUICKSTART-CPP.md | 159 - keyvi/3rdparty/msgpack-c/README.md | 162 - keyvi/3rdparty/msgpack-c/appveyor.yml | 60 - keyvi/3rdparty/msgpack-c/ci/build_cmake.sh | 113 - .../3rdparty/msgpack-c/ci/build_regression.sh | 49 - .../msgpack-c/cmake/CodeCoverage.cmake | 55 - keyvi/3rdparty/msgpack-c/codecov.yml | 36 - .../erb/v1/cpp03_define_array.hpp.erb | 110 - .../erb/v1/cpp03_define_array_decl.hpp.erb | 42 - .../msgpack-c/erb/v1/cpp03_define_map.hpp.erb | 120 - .../erb/v1/cpp03_define_map_decl.hpp.erb | 42 - .../erb/v1/cpp03_msgpack_tuple.hpp.erb | 227 - .../erb/v1/cpp03_msgpack_tuple_decl.hpp.erb | 69 - .../msgpack-c/erb/v1/cpp03_zone.hpp.erb | 334 - .../msgpack-c/erb/v1/cpp03_zone_decl.hpp.erb | 54 - .../3rdparty/msgpack-c/example/CMakeLists.txt | 4 - .../msgpack-c/example/boost/CMakeLists.txt | 54 - .../example/boost/asio_send_recv.cpp | 104 - .../example/boost/asio_send_recv_zlib.cpp | 176 - .../boost/msgpack_variant_capitalize.cpp | 94 - .../boost/msgpack_variant_mapbased.cpp | 97 - .../msgpack-c/example/cpp03/CMakeLists.txt | 120 - .../example/cpp03/class_intrusive.cpp | 104 - .../example/cpp03/class_intrusive_map.cpp | 76 - .../example/cpp03/class_non_intrusive.cpp | 119 - .../msgpack-c/example/cpp03/custom.cpp | 67 - .../3rdparty/msgpack-c/example/cpp03/enum.cpp | 59 - .../example/cpp03/map_based_versionup.cpp | 112 - .../msgpack-c/example/cpp03/protocol.cpp | 97 - .../msgpack-c/example/cpp03/protocol_new.cpp | 84 - .../msgpack-c/example/cpp03/reuse_zone.cpp | 43 - .../msgpack-c/example/cpp03/simple.cpp | 44 - .../msgpack-c/example/cpp03/speed_test.cpp | 63 - .../example/cpp03/speed_test_nested_array.cpp | 86 - .../msgpack-c/example/cpp03/stream.cpp | 148 - .../msgpack-c/example/cpp11/CMakeLists.txt | 43 - .../msgpack-c/example/cpp11/container.cpp | 159 - .../example/cpp11/non_def_con_class.cpp | 51 - .../example/cpp11/socket_stream_example.cpp | 157 - .../msgpack-c/example/x3/CMakeLists.txt | 72 - keyvi/3rdparty/msgpack-c/example/x3/parse.cpp | 125 - .../msgpack-c/example/x3/stream_unpack.cpp | 248 - .../3rdparty/msgpack-c/example/x3/unpack.cpp | 43 - keyvi/3rdparty/msgpack-c/fuzz/CMakeLists.txt | 43 - .../msgpack-c/fuzz/regression_runner.cpp | 50 - .../msgpack-c/fuzz/unpack_pack_fuzzer.cpp | 23 - ...imized-unpack_pack_fuzzer-5656982724804608 | Bin 158105 -> 0 bytes ...imized-unpack_pack_fuzzer-6022481354686464 | Bin 7432 -> 0 bytes .../unpack_pack_fuzzer_seed_corpus/EmptyArray | 1 - .../EmptyObject | 1 - .../ExcessiveNesting | 2 - .../OpenWeatherMap | Bin 420 -> 0 bytes .../WeatherUnderground | Bin 2087 -> 0 bytes keyvi/3rdparty/msgpack-c/include/msgpack.hpp | 22 - .../include/msgpack/adaptor/adaptor_base.hpp | 19 - .../msgpack/adaptor/adaptor_base_decl.hpp | 17 - .../include/msgpack/adaptor/array_ref.hpp | 17 - .../msgpack/adaptor/array_ref_decl.hpp | 17 - .../include/msgpack/adaptor/bool.hpp | 15 - .../include/msgpack/adaptor/boost/fusion.hpp | 15 - .../msgpack/adaptor/boost/msgpack_variant.hpp | 18 - .../adaptor/boost/msgpack_variant_decl.hpp | 17 - .../msgpack/adaptor/boost/optional.hpp | 15 - .../msgpack/adaptor/boost/string_ref.hpp | 15 - .../msgpack/adaptor/boost/string_view.hpp | 15 - .../include/msgpack/adaptor/carray.hpp | 15 - .../include/msgpack/adaptor/char_ptr.hpp | 15 - .../msgpack/adaptor/check_container_size.hpp | 17 - .../adaptor/check_container_size_decl.hpp | 17 - .../include/msgpack/adaptor/complex.hpp | 15 - .../include/msgpack/adaptor/cpp11/array.hpp | 16 - .../msgpack/adaptor/cpp11/array_char.hpp | 16 - .../adaptor/cpp11/array_unsigned_char.hpp | 16 - .../include/msgpack/adaptor/cpp11/chrono.hpp | 16 - .../msgpack/adaptor/cpp11/forward_list.hpp | 16 - .../adaptor/cpp11/reference_wrapper.hpp | 16 - .../msgpack/adaptor/cpp11/shared_ptr.hpp | 16 - .../msgpack/adaptor/cpp11/timespec.hpp | 16 - .../include/msgpack/adaptor/cpp11/tuple.hpp | 16 - .../msgpack/adaptor/cpp11/unique_ptr.hpp | 16 - .../msgpack/adaptor/cpp11/unordered_map.hpp | 16 - .../msgpack/adaptor/cpp11/unordered_set.hpp | 16 - .../include/msgpack/adaptor/cpp17/byte.hpp | 16 - .../msgpack/adaptor/cpp17/carray_byte.hpp | 16 - .../msgpack/adaptor/cpp17/optional.hpp | 16 - .../msgpack/adaptor/cpp17/string_view.hpp | 16 - .../msgpack/adaptor/cpp17/vector_byte.hpp | 16 - .../include/msgpack/adaptor/define.hpp | 17 - .../include/msgpack/adaptor/define_decl.hpp | 144 - .../include/msgpack/adaptor/deque.hpp | 15 - .../msgpack-c/include/msgpack/adaptor/ext.hpp | 17 - .../include/msgpack/adaptor/ext_decl.hpp | 17 - .../include/msgpack/adaptor/fixint.hpp | 17 - .../include/msgpack/adaptor/fixint_decl.hpp | 17 - .../include/msgpack/adaptor/float.hpp | 15 - .../msgpack-c/include/msgpack/adaptor/int.hpp | 17 - .../include/msgpack/adaptor/int_decl.hpp | 17 - .../include/msgpack/adaptor/list.hpp | 15 - .../msgpack-c/include/msgpack/adaptor/map.hpp | 18 - .../include/msgpack/adaptor/map_decl.hpp | 17 - .../include/msgpack/adaptor/msgpack_tuple.hpp | 17 - .../msgpack/adaptor/msgpack_tuple_decl.hpp | 17 - .../msgpack-c/include/msgpack/adaptor/nil.hpp | 17 - .../include/msgpack/adaptor/nil_decl.hpp | 17 - .../include/msgpack/adaptor/pair.hpp | 15 - .../msgpack-c/include/msgpack/adaptor/raw.hpp | 17 - .../include/msgpack/adaptor/raw_decl.hpp | 17 - .../msgpack-c/include/msgpack/adaptor/set.hpp | 15 - .../msgpack/adaptor/size_equal_only.hpp | 17 - .../msgpack/adaptor/size_equal_only_decl.hpp | 17 - .../include/msgpack/adaptor/string.hpp | 15 - .../msgpack/adaptor/tr1/unordered_map.hpp | 171 - .../msgpack/adaptor/tr1/unordered_set.hpp | 165 - .../include/msgpack/adaptor/v4raw.hpp | 17 - .../include/msgpack/adaptor/v4raw_decl.hpp | 17 - .../include/msgpack/adaptor/vector.hpp | 15 - .../include/msgpack/adaptor/vector_bool.hpp | 15 - .../include/msgpack/adaptor/vector_char.hpp | 15 - .../msgpack/adaptor/vector_unsigned_char.hpp | 15 - .../include/msgpack/adaptor/wstring.hpp | 15 - .../msgpack-c/include/msgpack/cpp_config.hpp | 17 - .../include/msgpack/cpp_config_decl.hpp | 17 - .../include/msgpack/create_object_visitor.hpp | 17 - .../msgpack/create_object_visitor_decl.hpp | 16 - .../msgpack-c/include/msgpack/fbuffer.hpp | 17 - .../include/msgpack/fbuffer_decl.hpp | 17 - .../msgpack-c/include/msgpack/gcc_atomic.hpp | 30 - .../msgpack-c/include/msgpack/iterator.hpp | 18 - .../include/msgpack/iterator_decl.hpp | 18 - .../msgpack-c/include/msgpack/meta.hpp | 18 - .../msgpack-c/include/msgpack/meta_decl.hpp | 18 - .../include/msgpack/null_visitor.hpp | 17 - .../include/msgpack/null_visitor_decl.hpp | 16 - .../msgpack-c/include/msgpack/object.hpp | 18 - .../msgpack-c/include/msgpack/object_decl.hpp | 18 - .../msgpack-c/include/msgpack/object_fwd.hpp | 20 - .../include/msgpack/object_fwd_decl.hpp | 18 - .../msgpack-c/include/msgpack/pack.hpp | 17 - .../msgpack-c/include/msgpack/pack_decl.hpp | 17 - .../msgpack-c/include/msgpack/parse.hpp | 18 - .../msgpack-c/include/msgpack/parse_decl.hpp | 16 - .../include/msgpack/parse_return.hpp | 17 - .../msgpack-c/include/msgpack/sbuffer.hpp | 17 - .../include/msgpack/sbuffer_decl.hpp | 18 - .../msgpack-c/include/msgpack/sysdep.hpp | 191 - .../msgpack-c/include/msgpack/type.hpp | 67 - .../msgpack-c/include/msgpack/unpack.hpp | 19 - .../msgpack-c/include/msgpack/unpack_decl.hpp | 17 - .../include/msgpack/unpack_define.hpp | 75 - .../include/msgpack/unpack_exception.hpp | 15 - .../msgpack/v1/adaptor/adaptor_base.hpp | 116 - .../msgpack/v1/adaptor/adaptor_base_decl.hpp | 86 - .../include/msgpack/v1/adaptor/array_ref.hpp | 305 - .../msgpack/v1/adaptor/array_ref_decl.hpp | 55 - .../include/msgpack/v1/adaptor/bool.hpp | 66 - .../msgpack/v1/adaptor/boost/fusion.hpp | 215 - .../v1/adaptor/boost/msgpack_variant.hpp | 451 - .../v1/adaptor/boost/msgpack_variant_decl.hpp | 59 - .../msgpack/v1/adaptor/boost/optional.hpp | 105 - .../msgpack/v1/adaptor/boost/string_ref.hpp | 87 - .../msgpack/v1/adaptor/boost/string_view.hpp | 87 - .../include/msgpack/v1/adaptor/carray.hpp | 253 - .../include/msgpack/v1/adaptor/char_ptr.hpp | 92 - .../v1/adaptor/check_container_size.hpp | 67 - .../v1/adaptor/check_container_size_decl.hpp | 44 - .../include/msgpack/v1/adaptor/complex.hpp | 91 - .../msgpack/v1/adaptor/cpp11/array.hpp | 138 - .../msgpack/v1/adaptor/cpp11/array_char.hpp | 97 - .../v1/adaptor/cpp11/array_unsigned_char.hpp | 97 - .../msgpack/v1/adaptor/cpp11/chrono.hpp | 250 - .../msgpack/v1/adaptor/cpp11/forward_list.hpp | 94 - .../v1/adaptor/cpp11/reference_wrapper.hpp | 68 - .../msgpack/v1/adaptor/cpp11/shared_ptr.hpp | 82 - .../msgpack/v1/adaptor/cpp11/timespec.hpp | 140 - .../msgpack/v1/adaptor/cpp11/tuple.hpp | 175 - .../msgpack/v1/adaptor/cpp11/unique_ptr.hpp | 82 - .../v1/adaptor/cpp11/unordered_map.hpp | 182 - .../v1/adaptor/cpp11/unordered_set.hpp | 172 - .../include/msgpack/v1/adaptor/cpp17/byte.hpp | 74 - .../msgpack/v1/adaptor/cpp17/carray_byte.hpp | 109 - .../msgpack/v1/adaptor/cpp17/optional.hpp | 90 - .../msgpack/v1/adaptor/cpp17/string_view.hpp | 86 - .../msgpack/v1/adaptor/cpp17/vector_byte.hpp | 119 - .../include/msgpack/v1/adaptor/define.hpp | 21 - .../msgpack/v1/adaptor/define_decl.hpp | 23 - .../include/msgpack/v1/adaptor/deque.hpp | 108 - .../v1/adaptor/detail/cpp03_define_array.hpp | 4481 ----- .../detail/cpp03_define_array_decl.hpp | 135 - .../v1/adaptor/detail/cpp03_define_map.hpp | 2753 --- .../adaptor/detail/cpp03_define_map_decl.hpp | 135 - .../v1/adaptor/detail/cpp03_msgpack_tuple.hpp | 14425 ---------------- .../detail/cpp03_msgpack_tuple_decl.hpp | 317 - .../adaptor/detail/cpp11_convert_helper.hpp | 45 - .../v1/adaptor/detail/cpp11_define_array.hpp | 128 - .../detail/cpp11_define_array_decl.hpp | 39 - .../v1/adaptor/detail/cpp11_define_map.hpp | 110 - .../adaptor/detail/cpp11_define_map_decl.hpp | 37 - .../v1/adaptor/detail/cpp11_msgpack_tuple.hpp | 220 - .../detail/cpp11_msgpack_tuple_decl.hpp | 120 - .../include/msgpack/v1/adaptor/ext.hpp | 235 - .../include/msgpack/v1/adaptor/ext_decl.hpp | 37 - .../include/msgpack/v1/adaptor/fixint.hpp | 300 - .../msgpack/v1/adaptor/fixint_decl.hpp | 46 - .../include/msgpack/v1/adaptor/float.hpp | 123 - .../include/msgpack/v1/adaptor/int.hpp | 475 - .../include/msgpack/v1/adaptor/int_decl.hpp | 50 - .../include/msgpack/v1/adaptor/list.hpp | 106 - .../include/msgpack/v1/adaptor/map.hpp | 314 - .../include/msgpack/v1/adaptor/map_decl.hpp | 36 - .../msgpack/v1/adaptor/msgpack_tuple.hpp | 21 - .../msgpack/v1/adaptor/msgpack_tuple_decl.hpp | 21 - .../include/msgpack/v1/adaptor/nil.hpp | 76 - .../include/msgpack/v1/adaptor/nil_decl.hpp | 44 - .../include/msgpack/v1/adaptor/pair.hpp | 83 - .../include/msgpack/v1/adaptor/raw.hpp | 106 - .../include/msgpack/v1/adaptor/raw_decl.hpp | 36 - .../include/msgpack/v1/adaptor/set.hpp | 188 - .../msgpack/v1/adaptor/size_equal_only.hpp | 118 - .../v1/adaptor/size_equal_only_decl.hpp | 52 - .../include/msgpack/v1/adaptor/string.hpp | 87 - .../msgpack/v1/adaptor/tr1/unordered_map.hpp | 171 - .../msgpack/v1/adaptor/tr1/unordered_set.hpp | 165 - .../include/msgpack/v1/adaptor/v4raw.hpp | 105 - .../include/msgpack/v1/adaptor/v4raw_decl.hpp | 34 - .../include/msgpack/v1/adaptor/vector.hpp | 121 - .../msgpack/v1/adaptor/vector_bool.hpp | 90 - .../msgpack/v1/adaptor/vector_char.hpp | 114 - .../v1/adaptor/vector_unsigned_char.hpp | 114 - .../include/msgpack/v1/adaptor/wstring.hpp | 121 - .../include/msgpack/v1/cpp_config.hpp | 139 - .../include/msgpack/v1/cpp_config_decl.hpp | 137 - .../include/msgpack/v1/detail/cpp03_zone.hpp | 664 - .../msgpack/v1/detail/cpp03_zone_decl.hpp | 54 - .../include/msgpack/v1/detail/cpp11_zone.hpp | 366 - .../msgpack/v1/detail/cpp11_zone_decl.hpp | 55 - .../msgpack-c/include/msgpack/v1/fbuffer.hpp | 64 - .../include/msgpack/v1/fbuffer_decl.hpp | 32 - .../msgpack-c/include/msgpack/v1/iterator.hpp | 40 - .../include/msgpack/v1/iterator_decl.hpp | 40 - .../msgpack-c/include/msgpack/v1/meta.hpp | 53 - .../include/msgpack/v1/meta_decl.hpp | 57 - .../msgpack-c/include/msgpack/v1/object.hpp | 1219 -- .../include/msgpack/v1/object_decl.hpp | 120 - .../include/msgpack/v1/object_fwd.hpp | 250 - .../include/msgpack/v1/object_fwd_decl.hpp | 77 - .../msgpack-c/include/msgpack/v1/pack.hpp | 1637 -- .../include/msgpack/v1/pack_decl.hpp | 91 - .../include/msgpack/v1/parse_return.hpp | 36 - .../msgpack-c/include/msgpack/v1/sbuffer.hpp | 155 - .../include/msgpack/v1/sbuffer_decl.hpp | 33 - .../msgpack-c/include/msgpack/v1/unpack.hpp | 1600 -- .../include/msgpack/v1/unpack_decl.hpp | 454 - .../include/msgpack/v1/unpack_exception.hpp | 122 - .../msgpack-c/include/msgpack/v1/version.hpp | 36 - .../include/msgpack/v1/versioning.hpp | 69 - .../include/msgpack/v1/vrefbuffer.hpp | 310 - .../include/msgpack/v1/vrefbuffer_decl.hpp | 39 - .../msgpack-c/include/msgpack/v1/zbuffer.hpp | 165 - .../include/msgpack/v1/zbuffer_decl.hpp | 37 - .../msgpack-c/include/msgpack/v1/zone.hpp | 21 - .../include/msgpack/v1/zone_decl.hpp | 21 - .../msgpack/v2/adaptor/adaptor_base.hpp | 58 - .../msgpack/v2/adaptor/adaptor_base_decl.hpp | 52 - .../msgpack/v2/adaptor/array_ref_decl.hpp | 36 - .../v2/adaptor/boost/msgpack_variant_decl.hpp | 39 - .../v2/adaptor/check_container_size_decl.hpp | 39 - .../msgpack/v2/adaptor/define_decl.hpp | 23 - .../detail/cpp03_define_array_decl.hpp | 31 - .../adaptor/detail/cpp03_define_map_decl.hpp | 31 - .../detail/cpp03_msgpack_tuple_decl.hpp | 43 - .../detail/cpp11_define_array_decl.hpp | 32 - .../adaptor/detail/cpp11_define_map_decl.hpp | 31 - .../detail/cpp11_msgpack_tuple_decl.hpp | 59 - .../include/msgpack/v2/adaptor/ext_decl.hpp | 34 - .../msgpack/v2/adaptor/fixint_decl.hpp | 43 - .../include/msgpack/v2/adaptor/int_decl.hpp | 54 - .../include/msgpack/v2/adaptor/map_decl.hpp | 33 - .../msgpack/v2/adaptor/msgpack_tuple_decl.hpp | 21 - .../include/msgpack/v2/adaptor/nil_decl.hpp | 42 - .../include/msgpack/v2/adaptor/raw_decl.hpp | 33 - .../v2/adaptor/size_equal_only_decl.hpp | 35 - .../include/msgpack/v2/adaptor/v4raw_decl.hpp | 34 - .../include/msgpack/v2/cpp_config_decl.hpp | 84 - .../msgpack/v2/create_object_visitor.hpp | 281 - .../msgpack/v2/create_object_visitor_decl.hpp | 33 - .../msgpack/v2/detail/cpp03_zone_decl.hpp | 31 - .../msgpack/v2/detail/cpp11_zone_decl.hpp | 31 - .../include/msgpack/v2/fbuffer_decl.hpp | 32 - .../include/msgpack/v2/iterator_decl.hpp | 33 - .../include/msgpack/v2/meta_decl.hpp | 50 - .../include/msgpack/v2/null_visitor.hpp | 96 - .../include/msgpack/v2/null_visitor_decl.hpp | 29 - .../msgpack-c/include/msgpack/v2/object.hpp | 33 - .../include/msgpack/v2/object_decl.hpp | 53 - .../include/msgpack/v2/object_fwd.hpp | 109 - .../include/msgpack/v2/object_fwd_decl.hpp | 75 - .../include/msgpack/v2/pack_decl.hpp | 56 - .../msgpack-c/include/msgpack/v2/parse.hpp | 1072 -- .../include/msgpack/v2/parse_decl.hpp | 79 - .../include/msgpack/v2/parse_return.hpp | 37 - .../include/msgpack/v2/sbuffer_decl.hpp | 33 - .../msgpack-c/include/msgpack/v2/unpack.hpp | 348 - .../include/msgpack/v2/unpack_decl.hpp | 312 - .../include/msgpack/v2/vrefbuffer_decl.hpp | 29 - .../msgpack-c/include/msgpack/v2/x3_parse.hpp | 875 - .../include/msgpack/v2/x3_parse_decl.hpp | 36 - .../include/msgpack/v2/x3_unpack.hpp | 120 - .../include/msgpack/v2/x3_unpack_decl.hpp | 71 - .../include/msgpack/v2/zbuffer_decl.hpp | 29 - .../include/msgpack/v2/zone_decl.hpp | 21 - .../msgpack/v3/adaptor/adaptor_base.hpp | 58 - .../msgpack/v3/adaptor/adaptor_base_decl.hpp | 52 - .../msgpack/v3/adaptor/array_ref_decl.hpp | 36 - .../v3/adaptor/boost/msgpack_variant_decl.hpp | 39 - .../v3/adaptor/check_container_size_decl.hpp | 39 - .../msgpack/v3/adaptor/define_decl.hpp | 23 - .../detail/cpp03_define_array_decl.hpp | 31 - .../adaptor/detail/cpp03_define_map_decl.hpp | 31 - .../detail/cpp03_msgpack_tuple_decl.hpp | 43 - .../detail/cpp11_define_array_decl.hpp | 32 - .../adaptor/detail/cpp11_define_map_decl.hpp | 31 - .../detail/cpp11_msgpack_tuple_decl.hpp | 59 - .../include/msgpack/v3/adaptor/ext_decl.hpp | 34 - .../msgpack/v3/adaptor/fixint_decl.hpp | 43 - .../include/msgpack/v3/adaptor/int_decl.hpp | 54 - .../include/msgpack/v3/adaptor/map_decl.hpp | 33 - .../msgpack/v3/adaptor/msgpack_tuple_decl.hpp | 21 - .../include/msgpack/v3/adaptor/nil_decl.hpp | 42 - .../include/msgpack/v3/adaptor/raw_decl.hpp | 33 - .../v3/adaptor/size_equal_only_decl.hpp | 35 - .../include/msgpack/v3/adaptor/v4raw_decl.hpp | 34 - .../include/msgpack/v3/cpp_config_decl.hpp | 84 - .../msgpack/v3/create_object_visitor_decl.hpp | 33 - .../msgpack/v3/detail/cpp03_zone_decl.hpp | 31 - .../msgpack/v3/detail/cpp11_zone_decl.hpp | 31 - .../include/msgpack/v3/fbuffer_decl.hpp | 32 - .../include/msgpack/v3/iterator_decl.hpp | 33 - .../include/msgpack/v3/meta_decl.hpp | 50 - .../include/msgpack/v3/null_visitor_decl.hpp | 29 - .../include/msgpack/v3/object_decl.hpp | 53 - .../include/msgpack/v3/object_fwd.hpp | 70 - .../include/msgpack/v3/object_fwd_decl.hpp | 75 - .../include/msgpack/v3/pack_decl.hpp | 55 - .../msgpack-c/include/msgpack/v3/parse.hpp | 677 - .../include/msgpack/v3/parse_decl.hpp | 49 - .../include/msgpack/v3/parse_return.hpp | 35 - .../include/msgpack/v3/sbuffer_decl.hpp | 33 - .../msgpack-c/include/msgpack/v3/unpack.hpp | 192 - .../include/msgpack/v3/unpack_decl.hpp | 304 - .../include/msgpack/v3/vrefbuffer_decl.hpp | 29 - .../include/msgpack/v3/x3_parse_decl.hpp | 34 - .../include/msgpack/v3/x3_unpack.hpp | 97 - .../include/msgpack/v3/x3_unpack_decl.hpp | 65 - .../include/msgpack/v3/zbuffer_decl.hpp | 29 - .../include/msgpack/v3/zone_decl.hpp | 21 - .../msgpack-c/include/msgpack/version.hpp | 36 - .../include/msgpack/version_master.hpp | 3 - .../msgpack-c/include/msgpack/versioning.hpp | 71 - .../msgpack-c/include/msgpack/vrefbuffer.hpp | 17 - .../include/msgpack/vrefbuffer_decl.hpp | 17 - .../msgpack-c/include/msgpack/x3_parse.hpp | 15 - .../include/msgpack/x3_parse_decl.hpp | 16 - .../msgpack-c/include/msgpack/x3_unpack.hpp | 16 - .../include/msgpack/x3_unpack_decl.hpp | 16 - .../msgpack-c/include/msgpack/zbuffer.hpp | 17 - .../include/msgpack/zbuffer_decl.hpp | 17 - .../msgpack-c/include/msgpack/zone.hpp | 17 - .../msgpack-c/include/msgpack/zone_decl.hpp | 17 - keyvi/3rdparty/msgpack-c/make_file_list.sh | 9 - keyvi/3rdparty/msgpack-c/makedist.sh | 37 - keyvi/3rdparty/msgpack-c/preprocess | 23 - keyvi/3rdparty/msgpack-c/test/CMakeLists.txt | 107 - keyvi/3rdparty/msgpack-c/test/array_ref.cpp | 327 - .../3rdparty/msgpack-c/test/boost_fusion.cpp | 256 - .../msgpack-c/test/boost_optional.cpp | 187 - .../msgpack-c/test/boost_string_ref.cpp | 56 - .../msgpack-c/test/boost_string_view.cpp | 56 - .../3rdparty/msgpack-c/test/boost_variant.cpp | 831 - keyvi/3rdparty/msgpack-c/test/buffer.cpp | 111 - keyvi/3rdparty/msgpack-c/test/buffer_c.cpp | 148 - keyvi/3rdparty/msgpack-c/test/carray.cpp | 283 - keyvi/3rdparty/msgpack-c/test/cases.cpp | 54 - keyvi/3rdparty/msgpack-c/test/cases.mpac | Bin 213 -> 0 bytes .../msgpack-c/test/cases_compact.mpac | Bin 116 -> 0 bytes keyvi/3rdparty/msgpack-c/test/convert.cpp | 134 - keyvi/3rdparty/msgpack-c/test/fixint.cpp | 64 - .../test/fuzz_unpack_pack_fuzzer_cpp11.cpp | 17 - .../msgpack-c/test/inc_adaptor_define.cpp | 3 - .../msgpack-c/test/iterator_cpp11.cpp | 81 - keyvi/3rdparty/msgpack-c/test/json.cpp | 56 - keyvi/3rdparty/msgpack-c/test/limit.cpp | 595 - .../3rdparty/msgpack-c/test/msgpack_basic.cpp | 742 - .../msgpack-c/test/msgpack_container.cpp | 921 - .../3rdparty/msgpack-c/test/msgpack_cpp11.cpp | 1596 -- .../3rdparty/msgpack-c/test/msgpack_cpp17.cpp | 353 - .../msgpack-c/test/msgpack_stream.cpp | 160 - .../3rdparty/msgpack-c/test/msgpack_tuple.cpp | 112 - .../3rdparty/msgpack-c/test/msgpack_vref.cpp | 286 - .../msgpack-c/test/msgpack_x3_parse.cpp | 844 - keyvi/3rdparty/msgpack-c/test/multi_file1.cpp | 1 - keyvi/3rdparty/msgpack-c/test/multi_file2.cpp | 3 - keyvi/3rdparty/msgpack-c/test/object.cpp | 491 - .../msgpack-c/test/object_with_zone.cpp | 1117 -- keyvi/3rdparty/msgpack-c/test/pack_unpack.cpp | 610 - keyvi/3rdparty/msgpack-c/test/raw.cpp | 244 - keyvi/3rdparty/msgpack-c/test/reference.cpp | 474 - .../msgpack-c/test/reference_cpp11.cpp | 242 - .../test/reference_wrapper_cpp11.cpp | 108 - .../msgpack-c/test/shared_ptr_cpp11.cpp | 136 - .../msgpack-c/test/size_equal_only.cpp | 234 - keyvi/3rdparty/msgpack-c/test/streaming.cpp | 343 - .../msgpack-c/test/test_allocator.hpp | 79 - .../msgpack-c/test/unique_ptr_cpp11.cpp | 136 - keyvi/3rdparty/msgpack-c/test/user_class.cpp | 637 - keyvi/3rdparty/msgpack-c/test/version.cpp | 24 - keyvi/3rdparty/msgpack-c/test/visitor.cpp | 497 - keyvi/3rdparty/msgpack-c/test/zone.cpp | 103 - keyvi/3rdparty/msgpack-c/update_version.sh | 17 - 429 files changed, 70897 deletions(-) delete mode 100755 keyvi/3rdparty/msgpack-c/.github/depends/boost.sh delete mode 100644 keyvi/3rdparty/msgpack-c/.github/workflows/coverage.yml delete mode 100644 keyvi/3rdparty/msgpack-c/.github/workflows/gha.yml delete mode 100644 keyvi/3rdparty/msgpack-c/.gitignore delete mode 100644 keyvi/3rdparty/msgpack-c/CHANGELOG.md delete mode 100644 keyvi/3rdparty/msgpack-c/CMakeLists.txt delete mode 100644 keyvi/3rdparty/msgpack-c/COPYING delete mode 100644 keyvi/3rdparty/msgpack-c/Doxyfile delete mode 100644 keyvi/3rdparty/msgpack-c/Files.cmake delete mode 100644 keyvi/3rdparty/msgpack-c/LICENSE_1_0.txt delete mode 100644 keyvi/3rdparty/msgpack-c/NOTICE delete mode 100644 keyvi/3rdparty/msgpack-c/QUICKSTART-CPP.md delete mode 100644 keyvi/3rdparty/msgpack-c/README.md delete mode 100644 keyvi/3rdparty/msgpack-c/appveyor.yml delete mode 100755 keyvi/3rdparty/msgpack-c/ci/build_cmake.sh delete mode 100755 keyvi/3rdparty/msgpack-c/ci/build_regression.sh delete mode 100644 keyvi/3rdparty/msgpack-c/cmake/CodeCoverage.cmake delete mode 100644 keyvi/3rdparty/msgpack-c/codecov.yml delete mode 100644 keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_array.hpp.erb delete mode 100644 keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_array_decl.hpp.erb delete mode 100644 keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_map.hpp.erb delete mode 100644 keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_map_decl.hpp.erb delete mode 100644 keyvi/3rdparty/msgpack-c/erb/v1/cpp03_msgpack_tuple.hpp.erb delete mode 100644 keyvi/3rdparty/msgpack-c/erb/v1/cpp03_msgpack_tuple_decl.hpp.erb delete mode 100644 keyvi/3rdparty/msgpack-c/erb/v1/cpp03_zone.hpp.erb delete mode 100644 keyvi/3rdparty/msgpack-c/erb/v1/cpp03_zone_decl.hpp.erb delete mode 100644 keyvi/3rdparty/msgpack-c/example/CMakeLists.txt delete mode 100644 keyvi/3rdparty/msgpack-c/example/boost/CMakeLists.txt delete mode 100644 keyvi/3rdparty/msgpack-c/example/boost/asio_send_recv.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/boost/asio_send_recv_zlib.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/boost/msgpack_variant_capitalize.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/boost/msgpack_variant_mapbased.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp03/CMakeLists.txt delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp03/class_intrusive.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp03/class_intrusive_map.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp03/class_non_intrusive.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp03/custom.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp03/enum.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp03/map_based_versionup.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp03/protocol.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp03/protocol_new.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp03/reuse_zone.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp03/simple.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp03/speed_test.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp03/speed_test_nested_array.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp03/stream.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp11/CMakeLists.txt delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp11/container.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp11/non_def_con_class.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/cpp11/socket_stream_example.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/x3/CMakeLists.txt delete mode 100644 keyvi/3rdparty/msgpack-c/example/x3/parse.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/x3/stream_unpack.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/example/x3/unpack.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/fuzz/CMakeLists.txt delete mode 100644 keyvi/3rdparty/msgpack-c/fuzz/regression_runner.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-5656982724804608 delete mode 100644 keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-6022481354686464 delete mode 100644 keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyArray delete mode 100644 keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyObject delete mode 100644 keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/ExcessiveNesting delete mode 100644 keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/OpenWeatherMap delete mode 100644 keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/WeatherUnderground delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/adaptor_base.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/adaptor_base_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/array_ref.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/array_ref_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/bool.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/fusion.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/optional.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/string_ref.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/string_view.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/carray.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/char_ptr.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/check_container_size.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/check_container_size_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/complex.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/array.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/array_char.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/array_unsigned_char.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/chrono.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/forward_list.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/reference_wrapper.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/shared_ptr.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/timespec.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/tuple.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/unique_ptr.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/unordered_map.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/unordered_set.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/byte.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/carray_byte.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/optional.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/string_view.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/vector_byte.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/define.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/define_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/deque.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/ext.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/ext_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/fixint.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/fixint_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/float.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/int.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/int_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/list.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/map.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/map_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/msgpack_tuple.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/msgpack_tuple_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/nil.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/nil_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/pair.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/raw.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/raw_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/set.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/size_equal_only.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/size_equal_only_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/string.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/tr1/unordered_map.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/tr1/unordered_set.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/v4raw.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/v4raw_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector_bool.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector_char.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector_unsigned_char.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/wstring.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/cpp_config.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/cpp_config_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/create_object_visitor.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/create_object_visitor_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/fbuffer.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/fbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/gcc_atomic.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/iterator.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/iterator_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/meta.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/meta_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/null_visitor.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/null_visitor_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/object.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/object_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/object_fwd.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/object_fwd_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/pack.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/pack_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/parse.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/parse_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/parse_return.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/sbuffer.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/sbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/sysdep.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/type.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/unpack.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/unpack_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/unpack_define.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/unpack_exception.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/adaptor_base.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/adaptor_base_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/array_ref.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/array_ref_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/bool.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/fusion.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/optional.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/string_ref.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/string_view.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/carray.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/char_ptr.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/check_container_size.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/check_container_size_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/complex.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/array.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_char.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/chrono.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/forward_list.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/reference_wrapper.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/shared_ptr.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/timespec.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/tuple.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/unique_ptr.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/byte.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/carray_byte.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/optional.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/string_view.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/define.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/define_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/deque.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/ext.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/ext_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/fixint.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/fixint_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/float.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/int.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/int_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/list.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/map.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/map_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/nil.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/nil_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/pair.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/raw.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/raw_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/set.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/size_equal_only.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/size_equal_only_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/string.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_map.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_set.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/v4raw.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/v4raw_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector_bool.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector_char.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector_unsigned_char.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/wstring.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/cpp_config.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/cpp_config_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp03_zone.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp03_zone_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp11_zone.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp11_zone_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/fbuffer.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/fbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/iterator.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/iterator_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/meta.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/meta_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/object.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/object_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/object_fwd.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/object_fwd_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/pack.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/pack_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/parse_return.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/sbuffer.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/sbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/unpack.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/unpack_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/unpack_exception.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/version.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/versioning.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/vrefbuffer.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/vrefbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/zbuffer.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/zbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/zone.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v1/zone_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/adaptor_base.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/adaptor_base_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/array_ref_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/boost/msgpack_variant_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/check_container_size_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/define_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_define_array_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_define_map_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_msgpack_tuple_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_define_array_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_define_map_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_msgpack_tuple_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/ext_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/fixint_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/int_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/map_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/msgpack_tuple_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/nil_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/raw_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/size_equal_only_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/adaptor/v4raw_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/cpp_config_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/create_object_visitor.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/create_object_visitor_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/detail/cpp03_zone_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/detail/cpp11_zone_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/fbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/iterator_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/meta_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/null_visitor.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/null_visitor_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/object.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/object_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/object_fwd.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/object_fwd_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/pack_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/parse.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/parse_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/parse_return.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/sbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/unpack.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/unpack_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/vrefbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/x3_parse.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/x3_parse_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/x3_unpack.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/x3_unpack_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/zbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v2/zone_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/adaptor_base.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/adaptor_base_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/array_ref_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/check_container_size_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/define_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_define_array_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_msgpack_tuple_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_define_array_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_msgpack_tuple_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/ext_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/fixint_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/int_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/map_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/msgpack_tuple_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/nil_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/raw_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/size_equal_only_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/adaptor/v4raw_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/cpp_config_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/create_object_visitor_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/detail/cpp03_zone_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/detail/cpp11_zone_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/fbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/iterator_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/meta_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/null_visitor_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/object_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/object_fwd.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/object_fwd_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/pack_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/parse.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/parse_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/parse_return.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/sbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/unpack.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/unpack_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/vrefbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/x3_parse_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/x3_unpack.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/x3_unpack_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/zbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/v3/zone_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/version.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/version_master.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/versioning.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/vrefbuffer.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/vrefbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/x3_parse.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/x3_parse_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/x3_unpack.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/x3_unpack_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/zbuffer.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/zbuffer_decl.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/zone.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/include/msgpack/zone_decl.hpp delete mode 100755 keyvi/3rdparty/msgpack-c/make_file_list.sh delete mode 100755 keyvi/3rdparty/msgpack-c/makedist.sh delete mode 100755 keyvi/3rdparty/msgpack-c/preprocess delete mode 100644 keyvi/3rdparty/msgpack-c/test/CMakeLists.txt delete mode 100644 keyvi/3rdparty/msgpack-c/test/array_ref.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/boost_fusion.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/boost_optional.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/boost_string_ref.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/boost_string_view.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/boost_variant.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/buffer.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/buffer_c.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/carray.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/cases.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/cases.mpac delete mode 100644 keyvi/3rdparty/msgpack-c/test/cases_compact.mpac delete mode 100644 keyvi/3rdparty/msgpack-c/test/convert.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/fixint.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/fuzz_unpack_pack_fuzzer_cpp11.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/inc_adaptor_define.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/iterator_cpp11.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/json.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/limit.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/msgpack_basic.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/msgpack_container.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/msgpack_cpp11.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/msgpack_cpp17.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/msgpack_stream.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/msgpack_tuple.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/msgpack_vref.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/msgpack_x3_parse.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/multi_file1.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/multi_file2.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/object.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/object_with_zone.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/pack_unpack.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/raw.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/reference.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/reference_cpp11.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/reference_wrapper_cpp11.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/shared_ptr_cpp11.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/size_equal_only.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/streaming.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/test_allocator.hpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/unique_ptr_cpp11.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/user_class.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/version.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/visitor.cpp delete mode 100644 keyvi/3rdparty/msgpack-c/test/zone.cpp delete mode 100755 keyvi/3rdparty/msgpack-c/update_version.sh diff --git a/keyvi/3rdparty/msgpack-c/.github/depends/boost.sh b/keyvi/3rdparty/msgpack-c/.github/depends/boost.sh deleted file mode 100755 index ab96f81b2..000000000 --- a/keyvi/3rdparty/msgpack-c/.github/depends/boost.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh - -usage() -{ - cat < tmp1 && find include -name "*.h" -o -name "*.hpp" | sort > tmp2 && diff tmp1 tmp2 - - linux: - runs-on: ubuntu-18.04 - strategy: - fail-fast: false - matrix: - pattern: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - steps: - - uses: actions/checkout@v1 - - name: install build depends - run: | - sudo apt-get update - sudo apt-get install g++-multilib clang-8 valgrind - - name: Cache boost - id: cache-boost - uses: actions/cache@v1 - with: - path: usr - key: ${{ runner.os }}-boost-20200107 - - name: Build boost - if: steps.cache-boost.outputs.cache-hit != 'true' - run: ./.github/depends/boost.sh -b both -t gcc - - name: build and test - shell: bash - run: | - BASE=`pwd`; - - # matrix config - if [ ${{ matrix.pattern }} == 0 ]; then - export CXX=clang++ - ACTION="ci/build_cmake.sh" - export ARCH="64" - export CHAR_SIGN="unsigned" - export API_VERSION="2" - export SANITIZE="-fsanitize=undefined" - fi - if [ ${{ matrix.pattern }} == 1 ]; then - export CXX=clang++ - ACTION="ci/build_cmake.sh" - export ARCH="32" - export CHAR_SIGN="signed" - export API_VERSION="2" - export SANITIZE="-fsanitize=undefined" - fi - if [ ${{ matrix.pattern }} == 2 ]; then - export CXX=clang++ - ACTION="ci/build_cmake.sh" - export CXX17="ON" - export ARCH="64" - export CHAR_SIGN="signed" - export API_VERSION="3" - export X3_PARSE="ON" - export SANITIZE="-fsanitize=undefined" - fi - if [ ${{ matrix.pattern }} == 3 ]; then - export CXX=clang++ - ACTION="ci/build_cmake.sh" - export CXX17="ON" - export ARCH="32" - export CHAR_SIGN="unsigned" - export API_VERSION="2" - fi - if [ ${{ matrix.pattern }} == 4 ]; then - export CXX=g++ - ACTION="ci/build_cmake.sh" - export CXX17="ON" - export ARCH="64" - export CHAR_SIGN="signed" - export API_VERSION="2" - export SANITIZE="-fsanitize=undefined" - fi - if [ ${{ matrix.pattern }} == 5 ]; then - export CXX=g++ - ACTION="ci/build_cmake.sh" - export CXX17="ON" - export ARCH="32" - export CHAR_SIGN="unsigned" - export API_VERSION="3" - export X3_PARSE="ON" - export SANITIZE="-fsanitize=undefined" - fi - if [ ${{ matrix.pattern }} == 6 ]; then - export CXX=g++ - ACTION="ci/build_cmake.sh" - export ARCH="64" - export CHAR_SIGN="unsigned" - export API_VERSION="2" - export SANITIZE="-fsanitize=undefined" - fi - if [ ${{ matrix.pattern }} == 7 ]; then - export CXX=g++ - ACTION="ci/build_cmake.sh" - export ARCH="32" - export CHAR_SIGN="signed" - export API_VERSION="1" - export SANITIZE="-fsanitize=undefined" - fi - if [ ${{ matrix.pattern }} == 8 ]; then - export CXX=g++ - ACTION="ci/build_cmake.sh" - export ARCH="32" - export CHAR_SIGN="signed" - export API_VERSION="2" - export SANITIZE="-fsanitize=undefined" - fi - if [ ${{ matrix.pattern }} == 9 ]; then - export CXX=clang++ - ACTION="ci/build_regression.sh" - export ARCH="64" - export SAN="UBSAN" - export MSGPACK_FUZZ_REGRESSION="ON" - export CTEST_OUTPUT_ON_FAILURE=1 - export SANITIZE="-fsanitize=undefined" - fi - if [ ${{ matrix.pattern }} == 10 ]; then - export CXX=clang++ - ACTION="ci/build_regression.sh" - export ARCH="64" - export SAN="ASAN" - export MSGPACK_FUZZ_REGRESSION="ON" - export CTEST_OUTPUT_ON_FAILURE=1 - export SANITIZE="-fsanitize=undefined" - fi - - # install 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 - cd googletest-release-1.7.0 - $CXX -m${ARCH} src/gtest-all.cc -I. -Iinclude -c -fPIC - $CXX -m${ARCH} src/gtest_main.cc -I. -Iinclude -c -fPIC - ar -rv libgtest.a gtest-all.o - ar -rv libgtest_main.a gtest_main.o - mkdir -p ${BASE}/usr/include - cp -r include/gtest ${BASE}/usr/include - mkdir -p ${BASE}/usr/lib - mv *.a ${BASE}/usr/lib - cd .. - - # install zlib - if [ ${ARCH} == 32 ]; then - sudo apt-get install lib32z1-dev - fi - - # build and test - CMAKE_CXX_COMPILER="${CXX}" CMAKE_LIBRARY_PATH="${BASE}/usr/lib:${BASE}/build" GTEST_ROOT="${BASE}/usr" CMAKE_PREFIX_PATH="${BASE}/usr/gcc/lib${ARCH}/cmake" CXXFLAGS="-Werror -g ${SANITIZE}" MSGPACK_SAN="${SAN}" ${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 - windows: - runs-on: windows-2016 - strategy: - fail-fast: false - matrix: - pattern: [0, 1, 2] - steps: - - uses: actions/checkout@v1 - - name: Cache vcpkg - id: cache-vcpkg - uses: actions/cache@v1.0.3 - with: - path: C:/vcpkg/installed/x64-windows - key: ${{ runner.os }}-vcpkg - - name: Build dependencies - if: steps.cache-vcpkg.outputs.cache-hit != 'true' - shell: powershell - run: | - vcpkg update - vcpkg install gtest:x64-windows - vcpkg install zlib:x64-windows - - name: Build and test - shell: powershell - run: | - if (${{ matrix.pattern }} -eq 0) { - $CPPVER="-DMSGPACK_CXX17=ON" - } - if (${{ matrix.pattern }} -eq 1) { - $CPPVER="-DMSGPACK_CXX11=ON" - } - if (${{ matrix.pattern }} -eq 2) { - $CPPVER="-DMSGPACK_CXX11=OFF" - } - - $CUR=(Get-Location).Path - md build - cd build - cmake -A x64 -DBOOST_ROOT="$env:BOOST_ROOT_1_72_0" -DCMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake" $CPPVER "-DCMAKE_CXX_FLAGS=/D_VARIADIC_MAX=10 /EHsc /D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING" .. - if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) } - cmake --build . --config Release - $pathbak="$env:PATH" - $env:PATH="C:\vcpkg\installed\x64-windows\bin;$CUR\build\Release;$pathbak" - ctest -V - if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) } - $env:PATH=$pathbak diff --git a/keyvi/3rdparty/msgpack-c/.gitignore b/keyvi/3rdparty/msgpack-c/.gitignore deleted file mode 100644 index 40f5e0af3..000000000 --- a/keyvi/3rdparty/msgpack-c/.gitignore +++ /dev/null @@ -1,51 +0,0 @@ -# Files generated by the bootstrap script. -/INSTALL -/AUTHORS -/ChangeLog -/NEWS -/README -/ac/ -/aclocal.m4 -/autom4te.cache/ -/config.h.in -/configure -/msgpack_vc2008.sln -/msgpack_vc2008.vcproj -Makefile.in - -# Files generated by the configure script. - -/config.h -/config.log -/config.status -/libtool -/msgpack.pc -/src/msgpack/version.h -/src/msgpack/version.hpp -/stamp-h1 -Makefile -.deps -.libs - -# Files generated by make. -*.o -*.so -*.lo -*.la - -# Files generated by make check. -# TODO: Replace these with something like /test/*_test -/test/buffer -/test/cases -/test/convert -/test/fixint -/test/fixint_c -/test/msgpack_test -/test/msgpackc_test -/test/object -/test/pack_unpack -/test/pack_unpack_c -/test/streaming -/test/streaming_c -/test/version -/test/zone diff --git a/keyvi/3rdparty/msgpack-c/CHANGELOG.md b/keyvi/3rdparty/msgpack-c/CHANGELOG.md deleted file mode 100644 index 63bed9bde..000000000 --- a/keyvi/3rdparty/msgpack-c/CHANGELOG.md +++ /dev/null @@ -1,412 +0,0 @@ -# 2020-06-05 version 3.3.0 - * Add json example for C (#870) - * Add both header and body packing functions for C (#870) - * Set default ref_size and chunk_size to vrefbuffer (#865) - * Add examples (#861) - * Improve build system (#839, #842) - * Improve tests (#829) - * Improve documents (#828) - * Remove some warnings (#827, #851, #871) - * Improve CI environment (#824, #831, #833, #834, #846, #860, 874) - -# 2019-12-10 version 3.2.1 - * Fix snprintf return value checking (#821) - * Remove some warnings (#819) - * Fix fbuffer result checking (#812) - * Fix temporary object handling (#807) - * Improve cmake support (#804) - * Fix invalid `int main` parameter (#800) - * Improve supporting platform (#797, #817) - * Fix ZLIB error handling (#795) - * Remove unused variable (#793) - * Improve integer overflow checking (#792) - -# 2019-05-27 version 3.2.0 - - * Fix invalid include (#783) - * Add timespec support (#781) - * Fix unchecked fnprintf on C (#780) - * Improve integer overflow checking on C (#776) - * Fix warnings on `-Wconversion` (#770, #777, #784) - * Fix invalid passed by value on aligned_zone_size_visitor (#764) - * Improve windows support (#757, #779) - * Fix msgpack::object size caluclation error (#754) - * Fix memory error on example code (#753) - * Fix redundant memory allocation on C (#747) - * Fix msgpack::type::tuple base class conversion (#743) - -# 2018-09-09 version 3.1.1 - - * Add force endian set functionality (#736) - * Fix vrefbuffer memory management problem (#733) - * Fix msvc specific problem (#731, #732) - * Update boost from 1.61.0 to 1.68.0 (#730) - * Fix msgpack_timestamp type mismatch bug (#726) - -# 2018-08-10 version 3.1.0 - - * Improve documents (#687, #718) - * Add fuzzer support (#689) - * Fix msgpack::object union member access bug (#694) - * Improve cross platform configuration (#704) - * Fix out of range dereference bug of EXT (#705) - * Add timestamp support. std::chrono::system_clock::time_point is mapped to TIMESTAMP (#706) - * Add minimal timestamp support for C. The type `msgpack_timestamp` and the function `msgpack_object_to_timestamp()` are introduced (#707) - * Improve MSGPACK_DEFINE family name confliction probability (#710) - * Add no static-library build option (BUILD_SHARED_LIBS=ON) (#713, #717, #722) - * Add header only cmake target (#721) - * Add `std::byte` adaptor (#719) - * Remove some warnings (#720) - -# 2018-05-12 version 3.0.1 - - * Add fuzz directory to release tar ball (#686) - * Add include file checking for X-Code (#683) - -# 2018-05-09 version 3.0.0 - -## << breaking changes >> - - * Change offset parameter updating rule. If parse error happens, 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) - * Remove some warnings (#611) - * Fix unpack visitor to treat float32/64 correctly (#613) - * Improve documents (#616) - * Fix alignment problem on some platform (#617, #518) - * Fix conflict std::tuple, std::pair, and boost::fusion::sequence problem (#619) - -# 2017-08-03 version 2.1.4 (Invalid) - * See https://github.com/msgpack/msgpack-c/issues/623 - -# 2017-06-15 version 2.1.3 - * Improve build system (#603) - * Add C++17 adaptors `std::optional` and `std::string_view`. (#607, #608) - * Improve cross platform configuration (#601) - * Remove some warnings (#599, #602, #605) - -# 2017-06-07 version 2.1.2 - -* Improve documents (#565) - * Fix empty map parse bug (#568) - * Improve build system (#569, #570, #572, #579, #591, #592) - * Remove some warnings (#574, #578, #586, #588) - * Improve cross platform configuration (#577, #582) - * Add cmake package config support (#580) - * Fix streaming unpack bug (#585) - -# 2017-02-04 version 2.1.1 - - * Fix unpacker's buffer management bug (#561) - * Add boost string_view adaptor (#558) - * Remove some warnings (#557, #559) - * Improve coding style (#556) - -# 2017-01-10 version 2.1.0 - -## << breaking changes >> - - * Fix object internal data type is float if msgpack format is float32 (#531) - -## << recommended changes >> - - * Add `FLOAT64` type. Please use it instead of `DOUBLE` (#531) - * Add `FLOAT32` type. Please use it instead of `FLOAT` (#531) - -## << other updates >> - - * Add iterator based parse/unpack function(experimental) (#553) - * Add `[[deprecated]]` attribute for C++14 (#552) - * Fix `msgpack_unpack()` return code (#548) - * Fix integer overflow (#547, #549, #550) - * Add example codes (#542) - * Add MSGPACK_NVP. You can use not only variable name but also any strings (#535) - * Fix and Improve build system (#532, #545) - * Fix `gcc_atomic.hpp` include path (#529, #530) - * Improve CI environment (#526) - * Improve documents (#524) - * Add msgpack_unpacker_next_with_size() function (#515) - * Fix `as()` applying condition (#511) - * Fix fbuffer write (#504) - * Add gcc bug workaround (#499) - * Improve object print (#497, #500, #505, #533) - * Remove some warnings (#495, #506, #508, #513, #528, #538, #545) - -# 2016-06-25 version 2.0.0 - -## << breaking changes >> - - * Removed autotools support. Use cmake instead (#476, #479) - * Removed pointer version of msgpack::unpack APIs. Use reference version instead (#453) - * Removed MSGPACK_DISABLE_LEGACY_CONVERT. msgpack::object::convert(T*) is removed by default. Use msgpack::object::convert(T&) instead (#451) - * Removed msgpacl::type::nil. Use nil_t or define MSGPACK_USE_LECACY_NIL (#444) - * Removed std::string to msgpack::object conversion (#434) - -## << recommended changes >> - - * Replaced msgpack::unpacked with msgpack::object_handle. msgpack::unpacked is kept as a typedef of msgpack::object_handle. (#448) - -## << other updates >> - - * Add strict size checking adaptor. Relaxed tuple conversion (#489) - * Fix and Improve example codes (#487) - * Add C++/CLI support for nullptr (#481) - * Update the boost libraries that are contained by msgpack-c (#475) - * Fix gcc_atomic.hpp location (#474) - * Add C-Style array support (#466, #488) - * Fix include file dependency (#464) - * Add a visitor version of unpack API (#461) - * Fix JSON string conversion from "nil" to "null" (#458) - * Fix and Improve build system (#455, #471, #473, #486, #491) - * Fix comments (#452) - * Fix unintentional msgpack::zone moving problem (#447) - * Fix operator>> and << for msgpack::object (#443) - * Fix C++03 msgpack::zone::clear() memory access violation bug (#441) - * Fix TARGET_OS_IPHONE checking (#436) - * Fix invalid front() call for empty container (#435) - * Fix compile error on g++6 (C++11 only) (#426, #430) - * Fix zone size expansion logic (#423) - * Fix wrong hader file dependency (#421) - * Fix msvc specific problem (#420) - * Add v2 API support (#415) - -# 2016-01-22 version 1.4.0 - -## << recommended changes >> - - * Define [MSGPACK_DISABLE_LEGACY_NIL](https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_configure#msgpack_disable_legacy_nil-since-140), then `msgpack::type::nil` is replaced by with `msgpack::type::nil_t` (#408, #411, #412). - Replace `msgpack::type::nil` with `msgpack::type::nil_t` in client codes. - `msgpack::type::nil` will be removed on the version 2.0.0. - * Define [MSGPACK_DISABLE_LEGACY_CONVERT](https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_configure#msgpack_disable_legacy_convert-since-140), then `msgpack::object::convert(T*)` is removed (#410). - Replace calling `msgpack::bojectconvert(T*)` with `msgpack::bojectconvert(T&)` in client codes as follows: - - ```C++ - int i; - obj.convert(&i); // before - ``` - - ```C++ - int i; - obj.convert(i); // after - ``` - - `msgpack::object::convert(T*)` will be removed on the version 2.0.0. - -Define the macros above as follows when you compile C++ codes that use msgpack-c: - -``` -g++ -Ipath_to_msgpack/include -DMSGPACK_DISABLE_LEGACY_NIL -DMSGPACK_DISABLE_LEGACY_CONVERT your_code.cpp - -``` - -You can compile existing codes without defining macros above but I recommend defining them and updating your codes to fix the issues #408, #411, #412, #399, and #410. It is also a good preparation for the version 2.0.0. - -## << other updates >> - - * Improve documents (#387, #407) - * Remove C++ version library (#394, #402) - * Add Doxyfile and ChangeLog to the distribution package (#397) - * Add signed/unsigned char test to travis-ci (#398) - * Remove some warnings (#400, #401, #409) - * Fix endian checking. (#404) - -# 2015-11-21 version 1.3.0 - - * Change the license from the Apache License Version 2.0 to the - Boost Software License, Version 1.0.(#386) - * Remove some warnings (#365) - * Add std::reference_wrapper support(#373, #384) - * Improve tests (#375, #378, #379, #380) - * Fix msvc specific problem (#376, #383) - * Fix typos (#381) - -# 2015-09-04 version 1.2.0 - -## << breaking changes >> - - * Change std::vector and std::array - mapped to BIN instead of ARRAY (#243) - * Remove redundant copy (#285) - - -## << other updates >> - - * Add array_ref to map to ARRAY (#243) - * Add variant type and adaptor (#349) - * Add object::convert_if_not_nil() (#357) - * Fix invalid offset update (#354) - * Add C++11 support on MSVC2015(#339, #347) - * Fix and Improve build system (#346, #350, #361, #363) - * Import Boost.Preprocessor as a part of msgpack-c (#312) - * Fix OSX with libc++ specific errors (#334, #362) - * Add customized containers support (#330) - * Add std::unique_ptr and std::shared_ptr support (#329) - * Add missing install files (#328) - * Add shared/static library switching option (#316) - * Improve no throw description on C++11 (#313) - * Import Boost.Predef as a part of msgpack-c (#312) - * Add map based serialize support (#306) - * Add Boost.Fusion support (#305) - * Add v4 format RAW support (#304) - * Fix zbuffer with empty string problem (#303) - * Add non default constructible class support (#302, #324, #327, #331, #332, #345) - * Add inline keyword to function (template) (#299) - * Add EXT type supporting classes (#292, #308) - * Fix raw_ref != comparison (#290) - * Add object deep copy (#288) - * Remove some warnings (#284, #322, #323, #335) - * Improve compiler version checking (#283) - * Add return value to object::convert() (#282) - * Improve move semantic support in C++11 (#279, #353) - * Add Boost.StringRef support (#278) - * Improve CI environment (#276, #294, #338) - * Add converting to JSON (#274, #301) - * Fix iOS specific problem (#270) - * Improve doxtgen document generation (#269) - * Add Boost.Optional support (#268) - * Fix msvc specific problem (#267, #295) - * Add base class serialization. (#265, #277) - * Add and improve examples. (#264, #310, #311, #341, #342, #344) - * Fix wiki URL. (#263) - -# 2015-04-03 version 1.1.0 - -## << breaking changes >> - - * Remove msgpack_fwd.hpp - * Improve user types adaptation mechanism (#262) - Since version 1.0.0, users need to obey the correct include order. - However, it is very difficult to maintain the correct order in big - projects. version 1.1.0 removed this order. Users don't need to - care about include order. Migration guide from 1.0.x to 1.1.0 has - been written. See https://github.com/msgpack/msgpack-c/wiki - - -## << other updates >> - - * Fix vector size check (#251) - * Fix inttypes.h inclusion on MSVC (#257) - * Support documents generation by Doxygen (#259) - * Remove C99 style variable declaration (#253) - * Improve documents (https://github.com/msgpack/msgpack-c/wiki) - -# 2015-03-22 version 1.0.1: - - * Fix compilation error on Mac 10.9 (#244) - * Fix typos in documents (#240) - * Update CHANGELOG.md for version 1.0.0 (#242) - * Fix erb templates for the next code generation (#239) - -# 2015-03-10 version 1.0.0: - - * Support msgpack v5 format (str, bin, and ext) https://github.com/msgpack/msgpack/blob/master/spec.md (#142) - * Support std::tuple, std::forward_list, std::array, std::unordered_set, std::unordered_map on C++11. tr1 unordered containers are still supported (#53, #130, #137, #154, #169) - * Update msgpack-c as a header-only library on C++ (#142) - * Move include directory (#142) - * Update the name of float format family on msgpack::object from 'dec' to 'f64' (#194) - * Remove existing elements on associative containers when unpacking (#127) - * Add an API versioning functionality https://github.com/msgpack/msgpack-c/wiki/cpp_versioning (#139) - * Add C++11 enum class support (#205) - * Map std::vector and std::array to BIN (#100) - * Map '\0' teminated char* and char const* to STR (#206) - * Add the new parameter on unpacking functions and classes to limit msgpack's bytestream size (https://github.com/msgpack/msgpack-c/wiki/cpp_unpacker#limit-size-of-elements) (#175) - * Add the copy or reference choosing function on unpack() and unpacker (https://github.com/msgpack/msgpack-c/wiki/cpp_unpacker#memory-management) - * Add the new unpack() overloads for C++11 https://github.com/msgpack/msgpack-c/wiki/cpp_unpacker (#128) - * Add a msgpack::object::with_zone (deep) copying function (#133, #163) - * Remove the compile-time defined limit of msgpack nest level on C++ (#218) - * Add the new unpack() overloads that use an existing zone (#201) - * Add the range-based for loop support on msgpack object array and map (#203) - * Add msgpack revision getter function for 'revision' (#237) - * Support EXT for C (#118, #129) - * Fix unpacking buffer allocation problem when malformed data is given (#160, #185) - * Add dll exporting function on MSVC (#162) - * Fix msgpack::zone::allocate_no_align(). Now it allocates the memory that is not aligned as expected (#171) - * Improve documents (https://github.com/msgpack/msgpack-c/wiki) - * Other bug fixes and refactoring: #62, #91, #95, #97, #107, #109, #113, #117, #119, #121, #122, #123, #126, #131, #136, #138, #140, #143, #145, #146, #150, #151, #152, #156, #157, #158, #161, #165, #170, #172, #179, #180, #181, #182, #183, #192, #195, #199, #200, #207, #211, #212, #219, #222, #224, #230, #231, #232, #233, #234, #235 - -# 2014-07-02 version 0.5.9: - - * Support std::tr1 unordered containers by default (#51, #63, #68, #69) - * Remove some warnings (#56) - * Fix segmentation fault after malloc failures (#58, #59) - * Fix alloc/dealloc mismatch (#52, #61) - * Fix sample codes (#60, #64) - * Support implicit conversion from integer to float/double (#54) - * Improve documents (#45, #75, #82, #83) - * Support CMake (#20, #87) - * Remove Ruby dependencies in bootstrap (#86, #87) - * Add FILE* buffer (#40) - * Other bug fixes and refactoring: #39, #73, #77, #79, #80, #81, #84, #90 - -# 2013-12-23 version 0.5.8: - - * Move to the new github repository msgpack/msgpack-c - * Support the new deserialization specification - * fixes the problem of unpack helpers for array and map with 32bit compilers (#37, #38) - * Other bug fixes and refactoring: #46, #41, #36, #35, #33, #32, #30, #29, #28, #27, #26, #25, #8, #3 - * Update of documents: #23, #18, #17 - -# 2011-08-08 version 0.5.7: - - * fixes compile error problem with llvm-gcc and Mac OS X Lion - -# 2011-04-24 version 0.5.6: - - * #42 fixes double-free problem on msgpack_unpacker_release_zone - -# 2011-02-24 version 0.5.5: - - * eliminates dependency of winsock2.h header - * fixes msgpack_vc.postbuild.bat file - * fixes some implicit cast warnings - -# 2010-08-29 version 0.5.4: - - * includes msgpack_vc2008.vcproj file in source package - * fixes type::fix_int types - -# 2010-08-27 version 0.5.3: - - * adds type::fix_{u,}int{8,16,32,64} types - * adds msgpack_pack_fix_{u,}int{8,16,32,64} functions - * adds packer::pack_fix_{u,}int{8,16,32,64} functions - * fixes include paths - -# 2010-07-14 version 0.5.2: - - * type::raw::str(), operator==, operator!=, operator< and operator> are now const - * generates version.h using AC_OUTPUT macro in ./configure - -# 2010-07-06 version 0.5.1: - - * Add msgpack_vrefbuffer_new and msgpack_vrefbuffer_free - * Add msgpack_sbuffer_new and msgpack_sbuffer_free - * Add msgpack_unpacker_next and msgpack_unpack_next - * msgpack::unpack returns void - * Add MSGPACK_VERSION{,_MAJOR,_MINOR} macros to check header version - * Add msgpack_version{,_major,_minor} functions to check library version - * ./configure supports --disable-cxx option not to build C++ API - -# 2010-04-29 version 0.5.0: - - * msgpack_object_type is changed. MSGPACK_OBJECT_NIL is now 0x00. - * New safe streaming deserializer API. - * Add object::object(const T&) and object::operator=(const T&) - * Add operator==(object, const T&) - * MSGPACK_DEFINE macro defines msgpack_object(object* obj, zone* z) - * C++ programs doesn't need to link "msgpackc" library. diff --git a/keyvi/3rdparty/msgpack-c/CMakeLists.txt b/keyvi/3rdparty/msgpack-c/CMakeLists.txt deleted file mode 100644 index 4e6051fec..000000000 --- a/keyvi/3rdparty/msgpack-c/CMakeLists.txt +++ /dev/null @@ -1,223 +0,0 @@ -CMAKE_MINIMUM_REQUIRED (VERSION 3.0.0) - -IF ((CMAKE_VERSION VERSION_GREATER 3.1) OR - (CMAKE_VERSION VERSION_EQUAL 3.1)) - CMAKE_POLICY(SET CMP0054 NEW) -ENDIF () - -PROJECT (msgpack CXX) - -FILE (READ ${CMAKE_CURRENT_SOURCE_DIR}/include/msgpack/version_master.hpp contents) -STRING (REGEX MATCH "#define MSGPACK_VERSION_MAJOR *([0-9a-zA-Z_]*)" NULL_OUT ${contents}) -SET (VERSION_MAJOR ${CMAKE_MATCH_1}) -STRING (REGEX MATCH "#define MSGPACK_VERSION_MINOR *([0-9a-zA-Z_]*)" NULL_OUT ${contents}) -SET (VERSION_MINOR ${CMAKE_MATCH_1}) -STRING (REGEX MATCH "#define MSGPACK_VERSION_REVISION *([0-9a-zA-Z_]*)" NULL_OUT ${contents}) -SET (VERSION_REVISION ${CMAKE_MATCH_1}) -SET (VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}) - -LIST (APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/") -SET (GNUCXX_STD_SUPPORT_VERSION "4.3") - -OPTION (MSGPACK_CXX11 "Using c++11 compiler" OFF) -OPTION (MSGPACK_32BIT "32bit compile" OFF) - -IF (MSGPACK_USE_X3_PARSE) - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - SET (CMAKE_CXX_FLAGS "-DMSGPACK_USE_X3_PARSE -std=c++14 ${CMAKE_CXX_FLAGS}") - # matches Clang and AppleClang - ELSEIF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - SET (CMAKE_CXX_FLAGS "-DMSGPACK_USE_X3_PARSE -std=c++14 ${CMAKE_CXX_FLAGS}") - ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - SET (CMAKE_CXX_FLAGS "-DMSGPACK_USE_X3_PARSE ${CMAKE_CXX_FLAGS}") - IF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19) - MESSAGE ( FATAL_ERROR "MSVC doesn't support C++14.") - ENDIF () - ENDIF () -ELSE () - IF (MSGPACK_CXX17) - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - SET (CMAKE_CXX_FLAGS "-std=c++17 ${CMAKE_CXX_FLAGS}") - ELSEIF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - SET (CMAKE_CXX_FLAGS "-std=c++17 ${CMAKE_CXX_FLAGS}") - ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - # MESSAGE ( FATAL_ERROR "MSVC doesn't support C++17.") - ENDIF () - ELSEIF (MSGPACK_CXX11) - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - SET (CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}") - ELSEIF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - SET (CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}") - ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - IF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19) - MESSAGE ( FATAL_ERROR "MSVC doesn't support C++11.") - ENDIF () - ENDIF () - ELSE () - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - IF ((CMAKE_CXX_COMPILER_VERSION VERSION_GREATER ${GNUCXX_STD_SUPPORT_VERSION}) OR - (CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL ${GNUCXX_STD_SUPPORT_VERSION})) - SET (CMAKE_CXX_FLAGS "-std=c++98 ${CMAKE_CXX_FLAGS}") - ENDIF () - ELSEIF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - SET (CMAKE_CXX_FLAGS "-std=c++98 ${CMAKE_CXX_FLAGS}") - ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - IF (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 18) - SET (CMAKE_CXX_FLAGS "-DMSGPACK_USE_CPP03 ${CMAKE_CXX_FLAGS}") - ENDIF () - ENDIF () - ENDIF () -ENDIF () - -IF (MSGPACK_32BIT) - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - SET (CMAKE_CXX_FLAGS "-m32 ${CMAKE_CXX_FLAGS}") - SET (CMAKE_EXE_LINKER_FLAGS "-m32 ${CMAKE_EXE_LINKER_FLAGS}") - ELSEIF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - SET (CMAKE_CXX_FLAGS "-m32 ${CMAKE_CXX_FLAGS}") - SET (CMAKE_EXE_LINKER_FLAGS "-m32 ${CMAKE_EXE_LINKER_FLAGS}") - ENDIF () -ENDIF () - -OPTION (MSGPACK_BUILD_EXAMPLES "Build msgpack examples." ON) - -SET (Boost_USE_MULTITHREADED ON) -SET (Boost_USE_STATIC_RUNTIME OFF) -FIND_PACKAGE (Boost REQUIRED COMPONENTS chrono system OPTIONAL_COMPONENTS timer) - -INCLUDE_DIRECTORIES ( - ${Boost_INCLUDE_DIRS} -) -LINK_DIRECTORIES ( - ${Boost_LIBRARY_DIRS} -) -IF (MSGPACK_BOOST_DIR) - INCLUDE_DIRECTORIES ( - ${MSGPACK_BOOST_DIR} - ) -ENDIF () - -IF (MSGPACK_CHAR_SIGN) - SET (CMAKE_CXX_FLAGS "-f${MSGPACK_CHAR_SIGN}-char ${CMAKE_CXX_FLAGS}") -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=3 ${CMAKE_CXX_FLAGS}") -ENDIF () - -FIND_PACKAGE (GTest) -FIND_PACKAGE (ZLIB) -FIND_PACKAGE (Threads) -IF (GTEST_FOUND AND ZLIB_FOUND AND THREADS_FOUND AND NOT "${MSGPACK_FUZZ_REGRESSION}" STREQUAL "ON") - OPTION (MSGPACK_BUILD_TESTS "Build msgpack tests." ON) - OPTION (MSGPACK_GEN_COVERAGE "Enable running gcov to get a test coverage report." OFF) -ENDIF () - - -IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - IF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.1) - INCLUDE (CheckCXXSourceCompiles) - CHECK_CXX_SOURCE_COMPILES (" -#include -int atomic_sub(int i) { return __gnu_cxx::__exchange_and_add(&i, -1) - 1; } -int atomic_add(int i) { return __gnu_cxx::__exchange_and_add(&i, 1) + 1; } -int main(int argc, char * argv[]) -{ - atomic_sub(1); - atomic_add(1); -} -" - MSGPACK_ENABLE_GCC_CXX_ATOMIC) - ENDIF () -ENDIF () - - -INCLUDE (Files.cmake) - -ADD_LIBRARY (msgpackcxx INTERFACE) - -TARGET_INCLUDE_DIRECTORIES (msgpackcxx - INTERFACE - $ - $ - $ -) - -# enable regression testing -IF ("${MSGPACK_FUZZ_REGRESSION}" STREQUAL "ON" AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - enable_testing () - ADD_SUBDIRECTORY (fuzz) - SET (MSGPACK_BUILD_EXAMPLES OFF) -ENDIF () - -IF (MSGPACK_GEN_COVERAGE) - IF (NOT MSGPACK_BUILD_TESTS) - MESSAGE(FATAL_ERROR "Coverage requires -DMSGPACK_BUILD_TESTS=ON") - ENDIF () - STRING(TOUPPER "${CMAKE_BUILD_TYPE}" UPPER_CMAKE_BUILD_TYPE) - IF (NOT "${UPPER_CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") - MESSAGE(FATAL_ERROR "Coverage requires -DCMAKE_BUILD_TYPE=Debug") - ENDIF () - - INCLUDE(CodeCoverage) - SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COVERAGE_FLAGS}") - - SETUP_TARGET_FOR_COVERAGE(coverage make coverage test) -ENDIF () - -IF (MSGPACK_BUILD_TESTS) - ENABLE_TESTING () - # MEMORYCHECK_COMMAND_OPTIONS needs to place prior to CTEST_MEMORYCHECK_COMMAND - SET (MEMORYCHECK_COMMAND_OPTIONS "--leak-check=full --show-leak-kinds=definite,possible --error-exitcode=1") - FIND_PROGRAM(CTEST_MEMORYCHECK_COMMAND NAMES valgrind) - INCLUDE(Dart) - ADD_SUBDIRECTORY (test) -ENDIF () - -IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - STRING(REGEX REPLACE "/W[0-4]" "/W3 /WX" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - ELSE () - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /WX") - ENDIF () -ENDIF () - -IF ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "sparc") - SET (CMAKE_CXX_FLAGS "-DMSGPACK_ZONE_ALIGN=8 ${CMAKE_CXX_FLAGS}") -ENDIF () - -IF (MSGPACK_BUILD_EXAMPLES) - ADD_SUBDIRECTORY (example) -ENDIF () - -FOREACH (file ${msgpackc_HEADERS}) - GET_FILENAME_COMPONENT (dir ${file} PATH) - INSTALL (FILES ${file} DESTINATION ${CMAKE_INSTALL_PREFIX}/${dir}) -ENDFOREACH () - -# Doxygen -FIND_PACKAGE (Doxygen) -IF (DOXYGEN_FOUND) - LIST (APPEND Doxyfile_cpp_CONTENT - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - COMMAND ${CMAKE_COMMAND} -E echo "FILE_PATTERNS = *.hpp" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - COMMAND ${CMAKE_COMMAND} -E echo "OUTPUT_DIRECTORY = doc_cpp" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - COMMAND ${CMAKE_COMMAND} -E echo "INPUT = ${CMAKE_CURRENT_SOURCE_DIR}/include" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - COMMAND ${CMAKE_COMMAND} -E echo "EXTRACT_ALL = YES" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - COMMAND ${CMAKE_COMMAND} -E echo "STRIP_FROM_PATH = ${CMAKE_CURRENT_SOURCE_DIR}/include" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - ) - IF (DOXYGEN_DOT_FOUND) - LIST (APPEND Doxyfile_cpp_CONTENT - COMMAND ${CMAKE_COMMAND} -E echo "HAVE_DOT = YES" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - ) - ENDIF () - ADD_CUSTOM_TARGET ( - doxygen - ${Doxyfile_cpp_CONTENT} - COMMAND ${CMAKE_COMMAND} -E echo "PROJECT_NAME = \"MessagePack for C++\"" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp - VERBATIM - ) -ENDIF () diff --git a/keyvi/3rdparty/msgpack-c/COPYING b/keyvi/3rdparty/msgpack-c/COPYING deleted file mode 100644 index 61e4accd3..000000000 --- a/keyvi/3rdparty/msgpack-c/COPYING +++ /dev/null @@ -1,5 +0,0 @@ -Copyright (C) 2008-2015 FURUHASHI Sadayuki - - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt) diff --git a/keyvi/3rdparty/msgpack-c/Doxyfile b/keyvi/3rdparty/msgpack-c/Doxyfile deleted file mode 100644 index 227d6e2a2..000000000 --- a/keyvi/3rdparty/msgpack-c/Doxyfile +++ /dev/null @@ -1,1552 +0,0 @@ -# Doxyfile 1.6.2 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = "MessagePack" - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = doc - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = YES - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. - -LAYOUT_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = *.hpp *.h - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -#RECURSIVE = NO -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = NO - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's -# filter section matches. -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. - -USE_INLINE_TREES = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = YES - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/keyvi/3rdparty/msgpack-c/Files.cmake b/keyvi/3rdparty/msgpack-c/Files.cmake deleted file mode 100644 index ad92fb941..000000000 --- a/keyvi/3rdparty/msgpack-c/Files.cmake +++ /dev/null @@ -1,317 +0,0 @@ -SET (msgpackc_HEADERS - include/msgpack.hpp - include/msgpack/adaptor/adaptor_base.hpp - include/msgpack/adaptor/adaptor_base_decl.hpp - include/msgpack/adaptor/array_ref.hpp - include/msgpack/adaptor/array_ref_decl.hpp - include/msgpack/adaptor/bool.hpp - include/msgpack/adaptor/boost/fusion.hpp - include/msgpack/adaptor/boost/msgpack_variant.hpp - include/msgpack/adaptor/boost/msgpack_variant_decl.hpp - include/msgpack/adaptor/boost/optional.hpp - include/msgpack/adaptor/boost/string_ref.hpp - include/msgpack/adaptor/boost/string_view.hpp - include/msgpack/adaptor/carray.hpp - include/msgpack/adaptor/char_ptr.hpp - include/msgpack/adaptor/check_container_size.hpp - include/msgpack/adaptor/check_container_size_decl.hpp - include/msgpack/adaptor/complex.hpp - include/msgpack/adaptor/cpp11/array.hpp - include/msgpack/adaptor/cpp11/array_char.hpp - include/msgpack/adaptor/cpp11/array_unsigned_char.hpp - include/msgpack/adaptor/cpp11/chrono.hpp - include/msgpack/adaptor/cpp11/forward_list.hpp - include/msgpack/adaptor/cpp11/reference_wrapper.hpp - include/msgpack/adaptor/cpp11/shared_ptr.hpp - include/msgpack/adaptor/cpp11/timespec.hpp - include/msgpack/adaptor/cpp11/tuple.hpp - include/msgpack/adaptor/cpp11/unique_ptr.hpp - include/msgpack/adaptor/cpp11/unordered_map.hpp - include/msgpack/adaptor/cpp11/unordered_set.hpp - include/msgpack/adaptor/cpp17/byte.hpp - include/msgpack/adaptor/cpp17/carray_byte.hpp - include/msgpack/adaptor/cpp17/optional.hpp - include/msgpack/adaptor/cpp17/string_view.hpp - include/msgpack/adaptor/cpp17/vector_byte.hpp - include/msgpack/adaptor/define.hpp - include/msgpack/adaptor/define_decl.hpp - include/msgpack/adaptor/deque.hpp - include/msgpack/adaptor/ext.hpp - include/msgpack/adaptor/ext_decl.hpp - include/msgpack/adaptor/fixint.hpp - include/msgpack/adaptor/fixint_decl.hpp - include/msgpack/adaptor/float.hpp - include/msgpack/adaptor/int.hpp - include/msgpack/adaptor/int_decl.hpp - include/msgpack/adaptor/list.hpp - include/msgpack/adaptor/map.hpp - include/msgpack/adaptor/map_decl.hpp - include/msgpack/adaptor/msgpack_tuple.hpp - include/msgpack/adaptor/msgpack_tuple_decl.hpp - include/msgpack/adaptor/nil.hpp - include/msgpack/adaptor/nil_decl.hpp - include/msgpack/adaptor/pair.hpp - include/msgpack/adaptor/raw.hpp - include/msgpack/adaptor/raw_decl.hpp - include/msgpack/adaptor/set.hpp - include/msgpack/adaptor/size_equal_only.hpp - include/msgpack/adaptor/size_equal_only_decl.hpp - include/msgpack/adaptor/string.hpp - include/msgpack/adaptor/tr1/unordered_map.hpp - include/msgpack/adaptor/tr1/unordered_set.hpp - include/msgpack/adaptor/v4raw.hpp - include/msgpack/adaptor/v4raw_decl.hpp - include/msgpack/adaptor/vector.hpp - include/msgpack/adaptor/vector_bool.hpp - include/msgpack/adaptor/vector_char.hpp - include/msgpack/adaptor/vector_unsigned_char.hpp - include/msgpack/adaptor/wstring.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 - include/msgpack/iterator.hpp - 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/sbuffer.hpp - include/msgpack/sbuffer_decl.hpp - include/msgpack/sysdep.hpp - include/msgpack/type.hpp - include/msgpack/unpack.hpp - include/msgpack/unpack_decl.hpp - include/msgpack/unpack_define.hpp - include/msgpack/unpack_exception.hpp - include/msgpack/v1/adaptor/adaptor_base.hpp - include/msgpack/v1/adaptor/adaptor_base_decl.hpp - include/msgpack/v1/adaptor/array_ref.hpp - include/msgpack/v1/adaptor/array_ref_decl.hpp - include/msgpack/v1/adaptor/bool.hpp - include/msgpack/v1/adaptor/boost/fusion.hpp - include/msgpack/v1/adaptor/boost/msgpack_variant.hpp - include/msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp - include/msgpack/v1/adaptor/boost/optional.hpp - include/msgpack/v1/adaptor/boost/string_ref.hpp - include/msgpack/v1/adaptor/boost/string_view.hpp - include/msgpack/v1/adaptor/carray.hpp - include/msgpack/v1/adaptor/char_ptr.hpp - include/msgpack/v1/adaptor/check_container_size.hpp - include/msgpack/v1/adaptor/check_container_size_decl.hpp - include/msgpack/v1/adaptor/complex.hpp - include/msgpack/v1/adaptor/cpp11/array.hpp - include/msgpack/v1/adaptor/cpp11/array_char.hpp - include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp - include/msgpack/v1/adaptor/cpp11/chrono.hpp - include/msgpack/v1/adaptor/cpp11/forward_list.hpp - include/msgpack/v1/adaptor/cpp11/reference_wrapper.hpp - include/msgpack/v1/adaptor/cpp11/shared_ptr.hpp - include/msgpack/v1/adaptor/cpp11/timespec.hpp - include/msgpack/v1/adaptor/cpp11/tuple.hpp - include/msgpack/v1/adaptor/cpp11/unique_ptr.hpp - include/msgpack/v1/adaptor/cpp11/unordered_map.hpp - include/msgpack/v1/adaptor/cpp11/unordered_set.hpp - include/msgpack/v1/adaptor/cpp17/byte.hpp - include/msgpack/v1/adaptor/cpp17/carray_byte.hpp - include/msgpack/v1/adaptor/cpp17/optional.hpp - include/msgpack/v1/adaptor/cpp17/string_view.hpp - include/msgpack/v1/adaptor/cpp17/vector_byte.hpp - include/msgpack/v1/adaptor/define.hpp - include/msgpack/v1/adaptor/define_decl.hpp - include/msgpack/v1/adaptor/deque.hpp - include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp - include/msgpack/v1/adaptor/detail/cpp03_define_array_decl.hpp - include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp - 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 - include/msgpack/v1/adaptor/detail/cpp11_define_map_decl.hpp - include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp - include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp - include/msgpack/v1/adaptor/ext.hpp - include/msgpack/v1/adaptor/ext_decl.hpp - include/msgpack/v1/adaptor/fixint.hpp - include/msgpack/v1/adaptor/fixint_decl.hpp - include/msgpack/v1/adaptor/float.hpp - include/msgpack/v1/adaptor/int.hpp - include/msgpack/v1/adaptor/int_decl.hpp - include/msgpack/v1/adaptor/list.hpp - include/msgpack/v1/adaptor/map.hpp - include/msgpack/v1/adaptor/map_decl.hpp - include/msgpack/v1/adaptor/msgpack_tuple.hpp - include/msgpack/v1/adaptor/msgpack_tuple_decl.hpp - include/msgpack/v1/adaptor/nil.hpp - include/msgpack/v1/adaptor/nil_decl.hpp - include/msgpack/v1/adaptor/pair.hpp - include/msgpack/v1/adaptor/raw.hpp - include/msgpack/v1/adaptor/raw_decl.hpp - include/msgpack/v1/adaptor/set.hpp - include/msgpack/v1/adaptor/size_equal_only.hpp - include/msgpack/v1/adaptor/size_equal_only_decl.hpp - include/msgpack/v1/adaptor/string.hpp - include/msgpack/v1/adaptor/tr1/unordered_map.hpp - include/msgpack/v1/adaptor/tr1/unordered_set.hpp - include/msgpack/v1/adaptor/v4raw.hpp - include/msgpack/v1/adaptor/v4raw_decl.hpp - include/msgpack/v1/adaptor/vector.hpp - include/msgpack/v1/adaptor/vector_bool.hpp - include/msgpack/v1/adaptor/vector_char.hpp - include/msgpack/v1/adaptor/vector_unsigned_char.hpp - include/msgpack/v1/adaptor/wstring.hpp - include/msgpack/v1/cpp_config.hpp - include/msgpack/v1/cpp_config_decl.hpp - include/msgpack/v1/detail/cpp03_zone.hpp - include/msgpack/v1/detail/cpp03_zone_decl.hpp - include/msgpack/v1/detail/cpp11_zone.hpp - include/msgpack/v1/detail/cpp11_zone_decl.hpp - include/msgpack/v1/fbuffer.hpp - include/msgpack/v1/fbuffer_decl.hpp - include/msgpack/v1/iterator.hpp - include/msgpack/v1/iterator_decl.hpp - include/msgpack/v1/meta.hpp - include/msgpack/v1/meta_decl.hpp - include/msgpack/v1/object.hpp - include/msgpack/v1/object_decl.hpp - include/msgpack/v1/object_fwd.hpp - include/msgpack/v1/object_fwd_decl.hpp - include/msgpack/v1/pack.hpp - include/msgpack/v1/pack_decl.hpp - include/msgpack/v1/parse_return.hpp - include/msgpack/v1/sbuffer.hpp - include/msgpack/v1/sbuffer_decl.hpp - include/msgpack/v1/unpack.hpp - include/msgpack/v1/unpack_decl.hpp - include/msgpack/v1/unpack_exception.hpp - include/msgpack/v1/version.hpp - include/msgpack/v1/versioning.hpp - include/msgpack/v1/vrefbuffer.hpp - include/msgpack/v1/vrefbuffer_decl.hpp - include/msgpack/v1/zbuffer.hpp - include/msgpack/v1/zbuffer_decl.hpp - include/msgpack/v1/zone.hpp - include/msgpack/v1/zone_decl.hpp - include/msgpack/v2/adaptor/adaptor_base.hpp - include/msgpack/v2/adaptor/adaptor_base_decl.hpp - include/msgpack/v2/adaptor/array_ref_decl.hpp - include/msgpack/v2/adaptor/boost/msgpack_variant_decl.hpp - include/msgpack/v2/adaptor/check_container_size_decl.hpp - include/msgpack/v2/adaptor/define_decl.hpp - include/msgpack/v2/adaptor/detail/cpp03_define_array_decl.hpp - include/msgpack/v2/adaptor/detail/cpp03_define_map_decl.hpp - include/msgpack/v2/adaptor/detail/cpp03_msgpack_tuple_decl.hpp - include/msgpack/v2/adaptor/detail/cpp11_define_array_decl.hpp - include/msgpack/v2/adaptor/detail/cpp11_define_map_decl.hpp - include/msgpack/v2/adaptor/detail/cpp11_msgpack_tuple_decl.hpp - include/msgpack/v2/adaptor/ext_decl.hpp - include/msgpack/v2/adaptor/fixint_decl.hpp - include/msgpack/v2/adaptor/int_decl.hpp - include/msgpack/v2/adaptor/map_decl.hpp - include/msgpack/v2/adaptor/msgpack_tuple_decl.hpp - include/msgpack/v2/adaptor/nil_decl.hpp - include/msgpack/v2/adaptor/raw_decl.hpp - include/msgpack/v2/adaptor/size_equal_only_decl.hpp - 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/version_master.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 - include/msgpack/zone_decl.hpp -) diff --git a/keyvi/3rdparty/msgpack-c/LICENSE_1_0.txt b/keyvi/3rdparty/msgpack-c/LICENSE_1_0.txt deleted file mode 100644 index 36b7cd93c..000000000 --- a/keyvi/3rdparty/msgpack-c/LICENSE_1_0.txt +++ /dev/null @@ -1,23 +0,0 @@ -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/keyvi/3rdparty/msgpack-c/NOTICE b/keyvi/3rdparty/msgpack-c/NOTICE deleted file mode 100644 index 55106baf8..000000000 --- a/keyvi/3rdparty/msgpack-c/NOTICE +++ /dev/null @@ -1,14 +0,0 @@ -This product bundles Boost Predef and Boost Preprocessor. -They are 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) - -For details, see the following files: - -external/boost/predef -include/msgpack/predef.h -include/msgpack/predef/* - -external/boost/preprocessor -include/msgpack/preprocessor.hpp -include/msgpack/preprocessor/* diff --git a/keyvi/3rdparty/msgpack-c/QUICKSTART-CPP.md b/keyvi/3rdparty/msgpack-c/QUICKSTART-CPP.md deleted file mode 100644 index fd4fadbc3..000000000 --- a/keyvi/3rdparty/msgpack-c/QUICKSTART-CPP.md +++ /dev/null @@ -1,159 +0,0 @@ -# Implementation Status - -The serialization library is production-ready. - -Currently, RPC implementation is in testing phase. Requires newer kernel, not running on RHEL5/CentOS5. - -# Install - -Same as QuickStart for C Language. - -# Serialization QuickStart for C+\+ - -## First program - -Include `msgpack.hpp` header and link `msgpack` library to use MessagePack on your program. - -```cpp -#include -#include -#include -#include - -int main(void) { - // serializes this object. - std::vector vec; - vec.push_back("Hello"); - vec.push_back("MessagePack"); - - // serialize it into simple buffer. - msgpack::sbuffer sbuf; - msgpack::pack(sbuf, vec); - - // deserialize it. - msgpack::object_handle oh = - msgpack::unpack(sbuf.data(), sbuf.size()); - - // print the deserialized object. - msgpack::object obj = oh.get(); - std::cout << obj << std::endl; //=> ["Hello", "MessagePack"] - - // convert it into statically typed object. - std::vector rvec; - obj.convert(rvec); -} -``` - -Compile it as follows: - -``` -$ g++ -Ipath_to_msgpack/include hello.cc -o hello -$ ./hello -["Hello", "MessagePack"] -``` - -## Streaming feature - -```cpp -#include -#include -#include - -int main() { - // serializes multiple objects using msgpack::packer. - msgpack::sbuffer buffer; - - msgpack::packer pk(&buffer); - pk.pack(std::string("Log message ... 1")); - pk.pack(std::string("Log message ... 2")); - pk.pack(std::string("Log message ... 3")); - - // deserializes these objects using msgpack::unpacker. - msgpack::unpacker pac; - - // feeds the buffer. - pac.reserve_buffer(buffer.size()); - memcpy(pac.buffer(), buffer.data(), buffer.size()); - pac.buffer_consumed(buffer.size()); - - // now starts streaming deserialization. - msgpack::object_handle oh; - while(pac.next(oh)) { - std::cout << oh.get() << std::endl; - } - - // results: - // $ g++ -Ipath_to_msgpack/include stream.cc -o stream - // $ ./stream - // "Log message ... 1" - // "Log message ... 2" - // "Log message ... 3" -} -``` - -### Streaming into an array or map - -```cpp -#include -#include -#include - -int main() { - // serializes multiple objects into one message containing an array using msgpack::packer. - msgpack::sbuffer buffer; - - msgpack::packer pk(&buffer); - pk.pack_array(3); - pk.pack(std::string("Log message ... 1")); - pk.pack(std::string("Log message ... 2")); - pk.pack(std::string("Log message ... 3")); - - // serializes multiple objects into one message containing a map using msgpack::packer. - msgpack::sbuffer buffer2; - - msgpack::packer pk2(&buffer2); - pk2.pack_map(2); - pk2.pack(std::string("x")); - pk2.pack(3); - pk2.pack(std::string("y")); - pk2.pack(3.4321); - -} -``` - - -## User-defined classes - -You can use serialize/deserializes user-defined classes using `MSGPACK_DEFINE` macro. - -```cpp -#include -#include -#include - -class myclass { -private: - std::string m_str; - std::vector m_vec; -public: - MSGPACK_DEFINE(m_str, m_vec); -}; - -int main() { - std::vector vec; - // add some elements into vec... - - // you can serialize myclass directly - msgpack::sbuffer sbuf; - msgpack::pack(sbuf, vec); - - msgpack::object_handle oh = - msgpack::unpack(sbuf.data(), sbuf.size()); - - msgpack::object obj = oh.get(); - - // you can convert object to myclass directly - std::vector rvec; - obj.convert(rvec); -} -``` diff --git a/keyvi/3rdparty/msgpack-c/README.md b/keyvi/3rdparty/msgpack-c/README.md deleted file mode 100644 index 45c6106e9..000000000 --- a/keyvi/3rdparty/msgpack-c/README.md +++ /dev/null @@ -1,162 +0,0 @@ -`msgpack` for C++ -=================== - -Version 3.3.0 [![Build Status](https://github.com/msgpack/msgpack-c/workflows/CI/badge.svg?branch=cpp_master)](https://github.com/msgpack/msgpack-c/actions) [![Build status](https://ci.appveyor.com/api/projects/status/8kstcgt79qj123mw/branch/cpp_master?svg=true)](https://ci.appveyor.com/project/redboltz/msgpack-c/branch/cpp_master) -[![codecov](https://codecov.io/gh/msgpack/msgpack-c/branch/cpp_master/graph/badge.svg)](https://codecov.io/gh/msgpack/msgpack-c/branch/cpp_master) - -It's like JSON but smaller and faster. - -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 and short strings require only one extra byte in -addition to the strings themselves. - -Example -------- - -```c++ -#include -#include -#include -#include - -int main() -{ - msgpack::type::tuple src(1, true, "example"); - - // serialize the object into the buffer. - // any classes that implements write(const char*,size_t) can be a buffer. - std::stringstream buffer; - msgpack::pack(buffer, src); - - // send the buffer ... - buffer.seekg(0); - - // deserialize the buffer into msgpack::object instance. - std::string str(buffer.str()); - - msgpack::object_handle oh = - msgpack::unpack(str.data(), str.size()); - - // deserialized object is valid during the msgpack::object_handle instance is alive. - msgpack::object deserialized = oh.get(); - - // msgpack::object supports ostream. - std::cout << deserialized << std::endl; - - // convert msgpack::object instance into the original type. - // if the type is mismatched, it throws msgpack::type_error exception. - msgpack::type::tuple dst; - deserialized.convert(dst); - - // or create the new instance - msgpack::type::tuple dst2 = - deserialized.as >(); - - return 0; -} -``` - -See [`QUICKSTART-CPP.md`](./QUICKSTART-CPP.md) for more details. - -Dependency ------ -msgpack-c requires [boost library](https://www.boost.org/). -msgpack-c depends on only boost headers. You don't need to link boost libraries. - -Usage ------ - -### C++ Header Only Library - -When you use msgpack on C++, you can just add -msgpack-c/include to your include path: - - g++ -I msgpack-c/include -I path_to_boost your_source_file.cpp - - -### Building and Installing - -#### Install from git repository - -##### Using the Terminal (CLI) - -You will need: - - - `gcc >= 4.1.0` - - `cmake >= 3.0.0` - -C++03: - - $ git clone https://github.com/msgpack/msgpack-c.git - $ cd msgpack-c - $ git checkout cpp_master - $ cmake . - $ make - $ sudo make install - -If you want to setup C++17 version of msgpack instead, -execute the following commands: - - $ git clone https://github.com/msgpack/msgpack-c.git - $ cd msgpack-c - $ git checkout cpp_master - $ cmake -DMSGPACK_CXX17=ON . - $ make - $ sudo make install - -For C++11, replace `-DMSGPACK_CXX17=ON` with `-DMSGPACK_CXX11=ON`. - -`MSGPACK_CXX11` and `MSGPACK_CXX17` flags do not affect installation. They just switch test cases. All files are installed in every settings. - - -#### GUI on Windows - -Clone msgpack-c git repository. - - $ git clone https://github.com/msgpack/msgpack-c.git - -or using GUI git client. - -e.g.) tortoise git https://code.google.com/p/tortoisegit/ - -1. Checkout to cpp_master branch - -2. Launch [cmake GUI client](http://www.cmake.org/cmake/resources/software.html). - -3. Set 'Where is the source code:' text box and 'Where to build -the binaries:' text box. - -4. Click 'Configure' button. - -5. Choose your Visual Studio version. - -6. Click 'Generate' button. - -7. Open the created msgpack.sln on Visual Studio. - -8. Build all. - -### Documentation - -You can get additional information including the tutorial on the -[wiki](https://github.com/msgpack/msgpack-c/wiki). - -Contributing ------------- - -`msgpack-c` is developed on GitHub at [msgpack/msgpack-c](https://github.com/msgpack/msgpack-c). -To report an issue or send a pull request, use the -[issue tracker](https://github.com/msgpack/msgpack-c/issues). - -Here's the list of [great contributors](https://github.com/msgpack/msgpack-c/graphs/contributors). - -License -------- - -`msgpack-c` is licensed under the Boost Software License, Version 1.0. See -the [`LICENSE_1_0.txt`](./LICENSE_1_0.txt) file for details. diff --git a/keyvi/3rdparty/msgpack-c/appveyor.yml b/keyvi/3rdparty/msgpack-c/appveyor.yml deleted file mode 100644 index 281d374f2..000000000 --- a/keyvi/3rdparty/msgpack-c/appveyor.yml +++ /dev/null @@ -1,60 +0,0 @@ -version: 3.3.0.{build} - -branches: - only: - - cpp_master - -image: -- Visual Studio 2015 -environment: - global: - BOOST_ROOT: C:\Libraries\boost_1_67_0 - matrix: - - cpp11: -DMSGPACK_CXX11=OFF - example: -DMSGPACK_BUILD_EXAMPLES=OFF - msvc: '"Visual Studio 10 2010"' - - cpp11: -DMSGPACK_CXX11=OFF - example: -DMSGPACK_BUILD_EXAMPLES=OFF - msvc: '"Visual Studio 11 2012"' - - cpp11: -DMSGPACK_CXX11=OFF - example: -DMSGPACK_BUILD_EXAMPLES=OFF - msvc: '"Visual Studio 12 2013"' - - cpp11: -DMSGPACK_CXX11=ON - example: -DMSGPACK_BUILD_EXAMPLES=ON - msvc: '"Visual Studio 14 2015"' - - cpp11: -DMSGPACK_CXX11=OFF - example: -DMSGPACK_BUILD_EXAMPLES=ON - msvc: '"Visual Studio 14 2015"' -build_script: - - ps: | - appveyor DownloadFile https://github.com/google/googletest/archive/release-1.7.0.zip -FileName googletest-release-1.7.0.zip - 7z x googletest-release-1.7.0.zip 2> $null - cd googletest-release-1.7.0 - md build - cd build - cmake -G $env:msvc -DBUILD_SHARED_LIBS=ON -DCMAKE_CXX_FLAGS=/D_VARIADIC_MAX=10 .. - cmake --build . --config Release - cd .. - cd .. - appveyor DownloadFile http://zlib.net/zlib-1.2.11.tar.gz -FileName zlib-1.2.11.tar.gz - 7z x zlib-1.2.11.tar.gz 2> $null - 7z x zlib-1.2.11.tar 2> $null - cd zlib-1.2.11 - md build - cd build - cmake -G $env:msvc .. - cmake --build . --config Release - copy zconf.h .. - cd .. - cd .. - if ($env:msvc -ne '"Visual Studio 14 2015"') { - ((Get-Content CMakeLists.txt) -replace "COMPONENTS chrono system OPTIONAL_COMPONENTS timer", "") | Set-Content -Path CMakeLists.txt - } - md build - cd build - cmake -G $env:msvc $env:cpp11 $env:example $env:x3_parse -DGTEST_LIBRARY="$env:APPVEYOR_BUILD_FOLDER\googletest-release-1.7.0\build\Release\gtest.lib" -DGTEST_MAIN_LIBRARY="$env:APPVEYOR_BUILD_FOLDER\googletest-release-1.7.0\build\Release\gtest_main.lib" -DGTEST_INCLUDE_DIR="$env:APPVEYOR_BUILD_FOLDER\googletest-release-1.7.0\include" -DZLIB_LIBRARY="$env:APPVEYOR_BUILD_FOLDER\zlib-1.2.11\build\Release\zlib.lib" -DZLIB_INCLUDE_DIR="$env:APPVEYOR_BUILD_FOLDER\zlib-1.2.11" -DCMAKE_CXX_FLAGS='"/D_VARIADIC_MAX=10 /EHsc"' .. - cmake --build . --config Release -v - -test_script: -- set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release;%APPVEYOR_BUILD_FOLDER%\zlib-1.2.11\build\Release;%APPVEYOR_BUILD_FOLDER%\build\release -- ctest -V diff --git a/keyvi/3rdparty/msgpack-c/ci/build_cmake.sh b/keyvi/3rdparty/msgpack-c/ci/build_cmake.sh deleted file mode 100755 index d0b1066d4..000000000 --- a/keyvi/3rdparty/msgpack-c/ci/build_cmake.sh +++ /dev/null @@ -1,113 +0,0 @@ -#!/bin/bash - -mkdir build - -ret=$? -if [ $ret -ne 0 ] -then - exit $ret -fi - -cd build - -ret=$? -if [ $ret -ne 0 ] -then - exit $ret -fi - -if [ "${ARCH}" == "32" ] -then - export BIT32="ON" - export ARCH_FLAG="-m32" - ZLIB32="-DZLIB_LIBRARY=/usr/lib32/libz.a" -else - export BIT32="OFF" - export ARCH_FLAG="-m64" -fi - -cmake -DMSGPACK_CXX11=${CXX11} -DMSGPACK_CXX17=${CXX17} -DMSGPACK_32BIT=${BIT32} -DMSGPACK_CHAR_SIGN=${CHAR_SIGN} -DMSGPACK_DEFAULT_API_VERSION=${API_VERSION} -DMSGPACK_USE_X3_PARSE=${X3_PARSE} -DCMAKE_CXX_FLAGS="${ARCH_FLAG} ${CXXFLAGS}" ${ZLIB32} .. - -ret=$? -if [ $ret -ne 0 ] -then - exit $ret -fi - -make - -ret=$? -if [ $ret -ne 0 ] -then - exit $ret -fi - -ctest -VV - -ret=$? -if [ $ret -ne 0 ] -then - exit $ret -fi - -make install DESTDIR=`pwd`/install - -ret=$? -if [ $ret -ne 0 ] -then - exit $ret -fi - -if [ "${ARCH}" != "32" ] && [ `uname` = "Linux" ] -then - ctest -T memcheck | tee memcheck.log - - ret=${PIPESTATUS[0]} - if [ $ret -ne 0 ] - then - exit $ret - fi - cat memcheck.log | grep "Memory Leak" > /dev/null - ret=$? - if [ $ret -eq 0 ] - then - exit 1 - fi -fi - -if [ "${ARCH}" != "32" ] -then - mkdir install-test - - ret=$? - if [ $ret -ne 0 ] - then - exit $ret - fi - - cd install-test - - ret=$? - if [ $ret -ne 0 ] - then - exit $ret - fi - - ${CXX} ../../example/cpp03/simple.cpp -o simple -I `pwd`/../install/usr/local/include -I ${GTEST_ROOT}/include -L ${GTEST_ROOT}/lib -lgtest_main -lgtest - - ret=$? - if [ $ret -ne 0 ] - then - exit $ret - fi - - ./simple - - ret=$? - if [ $ret -ne 0 ] - then - exit $ret - fi -fi - -exit 0 diff --git a/keyvi/3rdparty/msgpack-c/ci/build_regression.sh b/keyvi/3rdparty/msgpack-c/ci/build_regression.sh deleted file mode 100755 index 3e8dff1f5..000000000 --- a/keyvi/3rdparty/msgpack-c/ci/build_regression.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash - -mkdir -p build - -ret=$? -if [ $ret -ne 0 ] -then - exit $ret -fi - -cd build - -ret=$? -if [ $ret -ne 0 ] -then - exit $ret -fi - -if [ "${ARCH}" == "32" ] -then - echo "64 bit support required for regressions" - exit 1 -fi - -cmake -DMSGPACK_FUZZ_REGRESSION="ON" -DMSGPACK_CXX11="ON" -DMSGPACK_SAN=${MSGPACK_SAN} -v .. - -ret=$? -if [ $ret -ne 0 ] -then - exit $ret -fi - -make - -ret=$? -if [ $ret -ne 0 ] -then - exit $ret -fi - -make test - -ret=$? -if [ $ret -ne 0 ] -then - exit $ret -fi - -exit 0 diff --git a/keyvi/3rdparty/msgpack-c/cmake/CodeCoverage.cmake b/keyvi/3rdparty/msgpack-c/cmake/CodeCoverage.cmake deleted file mode 100644 index f76b71747..000000000 --- a/keyvi/3rdparty/msgpack-c/cmake/CodeCoverage.cmake +++ /dev/null @@ -1,55 +0,0 @@ -# Check prereqs -FIND_PROGRAM(GCOV_PATH gcov) -FIND_PROGRAM(LCOV_PATH lcov) -FIND_PROGRAM(GENHTML_PATH genhtml) - -IF(NOT GCOV_PATH) - MESSAGE(FATAL_ERROR "gcov not found! Aborting...") -ENDIF() - -IF(NOT CMAKE_COMPILER_IS_GNUCC AND NOT CMAKE_COMPILER_IS_GNUCXX) - # Clang version 3.0.0 and greater now supports gcov as well. - MESSAGE(STATUS "Compiler is not GNU gcc! Clang Version 3.0.0 and greater supports gcov as well, but older versions don't.") - IF(NOT "${CMAKE_C_COMPILER_ID}" MATCHES "Clang" AND NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - MESSAGE(FATAL_ERROR "Compiler is not GNU gcc! Aborting...") - ENDIF() -ENDIF() - -SET(COVERAGE_FLAGS "-g -O0 --coverage") - -FUNCTION(SETUP_TARGET_FOR_COVERAGE _targetname _testrunner _outputname) - - IF(NOT LCOV_PATH) - MESSAGE(FATAL_ERROR "lcov not found! Aborting...") - ENDIF() - - IF(NOT GENHTML_PATH) - MESSAGE(FATAL_ERROR "genhtml not found! Aborting...") - ENDIF() - - # Setup target - ADD_CUSTOM_TARGET(${_targetname} - - # Cleanup lcov - ${LCOV_PATH} --directory . --zerocounters - - # Run tests - COMMAND ${_testrunner} ${ARGV3} - - # Capturing lcov counters and generating report - COMMAND ${LCOV_PATH} --directory . --capture --output-file ${_outputname}.info --base-directory ${CMAKE_SOURCE_DIR} --no-external --quiet - COMMAND ${LCOV_PATH} --remove ${_outputname}.info '*/test/*' '*/fuzz/*' --output-file ${_outputname}.info.cleaned --quiet - COMMAND ${GENHTML_PATH} -o ${_outputname} ${_outputname}.info.cleaned --prefix ${CMAKE_SOURCE_DIR} - # COMMAND ${CMAKE_COMMAND} -E remove ${_outputname}.info ${_outputname}.info.cleaned - - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - COMMENT "Resetting code coverage counters to zero.\nProcessing code coverage counters and generating report." - ) - - # Show info where to find the report - ADD_CUSTOM_COMMAND(TARGET ${_targetname} POST_BUILD - COMMAND ; - COMMENT "Open ./${_outputname}/index.html in your browser to view the coverage report." - ) - -ENDFUNCTION() diff --git a/keyvi/3rdparty/msgpack-c/codecov.yml b/keyvi/3rdparty/msgpack-c/codecov.yml deleted file mode 100644 index caa300582..000000000 --- a/keyvi/3rdparty/msgpack-c/codecov.yml +++ /dev/null @@ -1,36 +0,0 @@ -codecov: - notify: - require_ci_to_pass: yes - -coverage: - precision: 2 - round: down - range: "70...100" - - status: - project: yes - patch: yes - changes: no - -parsers: - gcov: - branch_detection: - conditional: yes - loop: yes - method: no - macro: no - -comment: - layout: "header, diff" - behavior: default - require_changes: no - -ignore: - - "test" - - "fuzz" - - "erb" - - "ci" - - "cmake" - - "examle" - - "external" - - "usr" diff --git a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_array.hpp.erb b/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_array.hpp.erb deleted file mode 100644 index 6e3c3c0fe..000000000 --- a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_array.hpp.erb +++ /dev/null @@ -1,110 +0,0 @@ -// -// 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_V1_CPP03_DEFINE_ARRAY_HPP -#define MSGPACK_V1_CPP03_DEFINE_ARRAY_HPP - -#include "msgpack/v1/adaptor/detail/cpp03_define_array_decl.hpp" -#include "msgpack/adaptor/msgpack_tuple.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/object_fwd.hpp" - -namespace msgpack { -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond -namespace type { - -<% GENERATION_LIMIT = 31 %> -template <> -struct define_array<> { - typedef define_array<> value_type; - typedef tuple<> tuple_type; - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(0); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - } - void msgpack_object(msgpack::object* o, msgpack::zone&) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = MSGPACK_NULLPTR; - o->via.array.size = 0; - } -}; - -/// @cond -<%0.upto(GENERATION_LIMIT) {|i|%> -template , typename A<%=j%><%}%>> -struct define_array, A<%=j%><%}%>> { - typedef define_array, A<%=j%><%}%>> value_type; - typedef tuple, A<%=j%><%}%>> tuple_type; - define_array(A0& _a0<%1.upto(i) {|j|%>, A<%=j%>& _a<%=j%><%}%>) : - a0(_a0)<%1.upto(i) {|j|%>, a<%=j%>(_a<%=j%>)<%}%> {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(<%=i+1%>); - <%0.upto(i) {|j|%> - pk.pack(a<%=j%>);<%}%> - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default:<%(i).downto(0) {|j|%> - case <%=j+1%>: ptr[<%=j%>].convert(a<%=j%>); - // fallthrough -<%}%> - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*<%=i+1%>, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = <%=i+1%>; - <%0.upto(i) {|j|%> - o->via.array.ptr[<%=j%>] = msgpack::object(a<%=j%>, z);<%}%> - } - <%0.upto(i) {|j|%> - A<%=j%>& a<%=j%>;<%}%> -}; -<%}%> -/// @endcond - -inline define_array<> make_define_array() -{ - return define_array<>(); -} - -/// @cond -<%0.upto(GENERATION_LIMIT) {|i|%> -template , typename A<%=j%><%}%>> -inline define_array, A<%=j%><%}%>> make_define_array(A0& a0<%1.upto(i) {|j|%>, A<%=j%>& a<%=j%><%}%>) -{ - return define_array, A<%=j%><%}%>>(a0<%1.upto(i) {|j|%>, a<%=j%><%}%>); -} -<%}%> -/// @endcond - -} // namespace type -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_DEFINE_ARRAY_HPP diff --git a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_array_decl.hpp.erb b/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_array_decl.hpp.erb deleted file mode 100644 index a2681ed12..000000000 --- a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_array_decl.hpp.erb +++ /dev/null @@ -1,42 +0,0 @@ -// -// 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_V1_CPP03_DEFINE_ARRAY_DECL_HPP -#define MSGPACK_V1_CPP03_DEFINE_ARRAY_DECL_HPP - -#include "msgpack/versioning.hpp" - -namespace msgpack { -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond -namespace type { - -/// @cond -<% GENERATION_LIMIT = 31 %> -template , typename A<%=i%> = void<%}%>> -struct define_array; -/// @endcond - -define_array<> make_define_array(); - -/// @cond -<%0.upto(GENERATION_LIMIT) {|i|%> -template , typename A<%=j%><%}%>> -inline define_array, A<%=j%><%}%>> make_define_array(A0& a0<%1.upto(i) {|j|%>, A<%=j%>& a<%=j%><%}%>); -<%}%> -/// @endcond - -} // namespace type -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_DEFINE_ARRAY_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_map.hpp.erb b/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_map.hpp.erb deleted file mode 100644 index a7b01fa2e..000000000 --- a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_map.hpp.erb +++ /dev/null @@ -1,120 +0,0 @@ -// -// 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_V1_CPP03_DEFINE_MAP_HPP -#define MSGPACK_V1_CPP03_DEFINE_MAP_HPP - -#include "msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp" -#include "msgpack/adaptor/msgpack_tuple.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/object_fwd.hpp" - -#include - -namespace msgpack { -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond -namespace type { - -<% GENERATION_LIMIT = 31 %> -template <> -struct define_map<> { - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(0); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - } - void msgpack_object(msgpack::object* o, msgpack::zone&) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = MSGPACK_NULLPTR; - o->via.map.size = 0; - } -}; - -/// @cond -<%1.step(GENERATION_LIMIT+1,2) {|i|%> -template , typename A<%=j%><%}%>> -struct define_map, A<%=j%><%}%>> { - define_map(A0& _a0<%1.upto(i) {|j|%>, A<%=j%>& _a<%=j%><%}%>) : - a0(_a0)<%1.upto(i) {|j|%>, a<%=j%>(_a<%=j%>)<%}%> {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(<%=(i+1)/2%>); - <%0.upto(i) {|j|%> - pk.pack(a<%=j%>);<%}%> - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - <%0.step(i,2) {|j|%> - { - std::map::const_iterator it = kvmap.find(a<%=j%>); - if (it != kvmap.end()) { - it->second->convert(a<%=j+1%>); - } - } - <%}%> - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*<%=(i+1)/2%>, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = <%=(i+1)/2%>; - <%0.step(i,2) {|j|%> - o->via.map.ptr[<%=j/2%>].key = msgpack::object(a<%=j%>, z); - o->via.map.ptr[<%=j/2%>].val = msgpack::object(a<%=j+1%>, z); - <%}%> - } - <%0.upto(i) {|j|%> - A<%=j%>& a<%=j%>;<%}%> -}; -<%}%> -/// @endcond - -inline define_map<> make_define_map() -{ - return define_map<>(); -} - -/// @cond -<%0.upto(GENERATION_LIMIT) {|i|%> -template , typename A<%=j%><%}%>> -inline define_map, A<%=j%><%}%>> make_define_map(A0& a0<%1.upto(i) {|j|%>, A<%=j%>& a<%=j%><%}%>) -{ - return define_map, A<%=j%><%}%>>(a0<%1.upto(i) {|j|%>, a<%=j%><%}%>); -} -<%}%> -/// @endcond - -} // namespace type -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_DEFINE_MAP_HPP diff --git a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_map_decl.hpp.erb b/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_map_decl.hpp.erb deleted file mode 100644 index f095456ec..000000000 --- a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_define_map_decl.hpp.erb +++ /dev/null @@ -1,42 +0,0 @@ -// -// 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_V1_CPP03_DEFINE_MAP_DECL_HPP -#define MSGPACK_V1_CPP03_DEFINE_MAP_DECL_HPP - -#include "msgpack/versioning.hpp" - -namespace msgpack { -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond -namespace type { - -/// @cond -<% GENERATION_LIMIT = 31 %> -template , typename A<%=i%> = void<%}%>> -struct define_map; -/// @endcond - -define_map<> make_define_map(); - -/// @cond -<%0.upto(GENERATION_LIMIT) {|i|%> -template , typename A<%=j%><%}%>> -define_map, A<%=j%><%}%>> make_define_map(A0& a0<%1.upto(i) {|j|%>, A<%=j%>& a<%=j%><%}%>); -<%}%> -/// @endcond - -} // namespace type -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_DEFINE_MAP_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_msgpack_tuple.hpp.erb b/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_msgpack_tuple.hpp.erb deleted file mode 100644 index d558ba966..000000000 --- a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_msgpack_tuple.hpp.erb +++ /dev/null @@ -1,227 +0,0 @@ -// -// 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_V1_CPP03_MSGPACK_TUPLE_HPP -#define MSGPACK_V1_CPP03_MSGPACK_TUPLE_HPP - -#include "msgpack/v1/adaptor/msgpack_tuple_decl.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -// FIXME operator== -// FIXME operator!= -<% GENERATION_LIMIT = 31 %> - -template -struct tuple_type { - typedef T type; - typedef T value_type; - typedef T& reference; - typedef const T& const_reference; - typedef const T& transparent_reference; -}; - -template -struct tuple_type { - typedef T type; - typedef T& value_type; - typedef T& reference; - typedef const T& const_reference; - typedef T& transparent_reference; -}; - -template -struct tuple_type { - typedef T type; - typedef T& value_type; - typedef T& reference; - typedef const T& const_reference; - typedef const T& transparent_reference; -}; - -/// @cond -<%0.upto(GENERATION_LIMIT) {|i|%> -<%0.upto(i) {|j|%> -template , typename A<%=k%><%}%>> -struct tuple_element, A<%=k%><%}%>>, <%=j%>> : tuple_type> { - tuple_element(tuple, A<%=k%> <%}%>>& x) : m_x(x.a<%=j%>) {} - typename tuple_type>::reference get() { return m_x; } - typename tuple_type>::const_reference get() const { return m_x; } -private: - typename tuple_type>::reference m_x; -}; -<%}%> -<%}%> - -<%0.upto(GENERATION_LIMIT) {|i|%> -<%0.upto(i) {|j|%> -template , typename A<%=k%><%}%>> -struct const_tuple_element, A<%=k%><%}%>>, <%=j%>> : tuple_type> { - const_tuple_element(const tuple, A<%=k%><%}%>>& x) : m_x(x.a<%=j%>) {} - typename tuple_type>::const_reference get() const { return m_x; } -private: - typename tuple_type>::const_reference m_x; -}; -<%}%> -<%}%> -/// @endcond - -template <> -struct tuple<> { - tuple() {} - tuple(msgpack::object const& o) { o.convert(*this); } - typedef tuple<> value_type; - std::size_t size() const { return 0; } -}; - -/// @cond -<%0.upto(GENERATION_LIMIT) {|i|%> -template , typename A<%=j%><%}%>> -struct tuple, A<%=j%><%}%>> { - typedef tuple, A<%=j%><%}%>> value_type; - std::size_t size() const { return <%=i+1%>; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0<%1.upto(i) {|j|%>, typename tuple_type>::transparent_reference _a<%=j%><%}%>) : - a0(_a0)<%1.upto(i) {|j|%>, a<%=j%>(_a<%=j%>)<%}%> {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - <%0.upto(i) {|j|%> - A<%=j%> a<%=j%>;<%}%> -}; - -template , typename A<%=j%><%}%>> -inline typename type::tuple_element, A<%=j%><%}%>>, N>::reference get(type::tuple, A<%=j%><%}%>>& t) -{ return t.template get(); } -template , typename A<%=j%><%}%>> -inline typename type::const_tuple_element, A<%=j%><%}%>>, N>::const_reference get(type::tuple, A<%=j%><%}%>> const& t) -{ return t.template get(); } -<%}%> -/// @endcond - -inline tuple<> make_tuple() -{ - return tuple<>(); -} - -/// @cond -<%0.upto(GENERATION_LIMIT) {|i|%> -template , typename A<%=j%><%}%>> -tuple, A<%=j%><%}%>> make_tuple(A0 const& a0<%1.upto(i) {|j|%>, A<%=j%> const& a<%=j%><%}%>) -{ - return tuple, A<%=j%><%}%>>(a0<%1.upto(i) {|j|%>, a<%=j%><%}%>); -} -<%}%> -/// @endcond - -} // namespace type - -namespace adaptor { - -template <> -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple<>&) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - return o; - } -}; - -/// @cond -<%0.upto(GENERATION_LIMIT) {|i|%> -template , typename A<%=j%><%}%>> -struct convert, A<%=j%><%}%>> > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple, A<%=j%><%}%>>& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - <%0.upto(i) {|j|%> - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > <%=j%>) - o.via.array.ptr[<%=j%>].msgpack::object::convert>::type>(v.template get<<%=j%>>());<%}%> - return o; - } -}; -<%}%> -/// @endcond - -template <> -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple<>&) const { - o.pack_array(0); - return o; - } -}; - -/// @cond -<%0.upto(GENERATION_LIMIT) {|i|%> -template , typename A<%=j%><%}%>> -struct pack, A<%=j%><%}%>> > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple, A<%=j%><%}%>>& v) const { - o.pack_array(<%=i+1%>); - <%0.upto(i) {|j|%> - o.pack(v.template get<<%=j%>>());<%}%> - return o; - } -}; -<%}%> -/// @endcond - -template <> -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple<>&) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } -}; - -/// @cond -<%0.upto(GENERATION_LIMIT) {|i|%> -template , typename A<%=j%><%}%>> -struct object_with_zone, A<%=j%><%}%>> > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple, A<%=j%><%}%>>& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*<%=i+1%>, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = <%=i+1%>; - <%0.upto(i) {|j|%> - o.via.array.ptr[<%=j%>] = msgpack::object(v.template get<<%=j%>>(), o.zone);<%}%> - } -}; -<%}%> -/// @endcond - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_MSGPACK_TUPLE_HPP diff --git a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_msgpack_tuple_decl.hpp.erb b/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_msgpack_tuple_decl.hpp.erb deleted file mode 100644 index 4cb793b75..000000000 --- a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_msgpack_tuple_decl.hpp.erb +++ /dev/null @@ -1,69 +0,0 @@ -// -// 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_V1_CPP03_MSGPACK_TUPLE_DECL_HPP -#define MSGPACK_V1_CPP03_MSGPACK_TUPLE_DECL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/object.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -// FIXME operator== -// FIXME operator!= -<% GENERATION_LIMIT = 31 %> - -/// @cond -template , typename A<%=i%> = void<%}%>> -struct tuple; -/// @endcond - -template -struct tuple_element; - -template -struct const_tuple_element; - -template -struct tuple_type; - -/// @cond -<%0.upto(GENERATION_LIMIT) {|i|%> -template , typename A<%=j%><%}%>> -typename type::tuple_element, A<%=j%><%}%>>, N>::reference get(type::tuple, A<%=j%><%}%>>& t); -template , typename A<%=j%><%}%>> -typename type::const_tuple_element, A<%=j%><%}%>>, N>::const_reference get(type::tuple, A<%=j%><%}%>> const& t); -<%}%> -/// @endcond - -tuple<> make_tuple(); - -/// @cond -<%0.upto(GENERATION_LIMIT) {|i|%> -template , typename A<%=j%><%}%>> -tuple, A<%=j%><%}%>> make_tuple(A0 const& a0<%1.upto(i) {|j|%>, A<%=j%> const& a<%=j%><%}%>); -<%}%> -/// @endcond - -} // namespace type - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_MSGPACK_TUPLE_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_zone.hpp.erb b/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_zone.hpp.erb deleted file mode 100644 index 7dfc35c05..000000000 --- a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_zone.hpp.erb +++ /dev/null @@ -1,334 +0,0 @@ -// -// MessagePack for C++ memory pool -// -// 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_V1_CPP03_ZONE_HPP -#define MSGPACK_V1_CPP03_ZONE_HPP - -#include "msgpack/zone_decl.hpp" - -<% GENERATION_LIMIT = 15 %> -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -class zone { - struct finalizer { - finalizer(void (*func)(void*), void* data):m_func(func), m_data(data) {} - void operator()() { m_func(m_data); } - void (*m_func)(void*); - void* m_data; - }; - struct finalizer_array { - finalizer_array():m_tail(MSGPACK_NULLPTR), m_end(MSGPACK_NULLPTR), m_array(MSGPACK_NULLPTR) {} - void call() { - finalizer* fin = m_tail; - for(; fin != m_array; --fin) (*(fin-1))(); - } - ~finalizer_array() { - call(); - ::free(m_array); - } - void clear() { - call(); - m_tail = m_array; - } - void push(void (*func)(void* data), void* data) - { - finalizer* fin = m_tail; - - if(fin == m_end) { - push_expand(func, data); - return; - } - - fin->m_func = func; - fin->m_data = data; - - ++m_tail; - } - void push_expand(void (*func)(void*), void* data) { - const size_t nused = static_cast(m_end - m_array); - size_t nnext; - if(nused == 0) { - nnext = (sizeof(finalizer) < 72/2) ? - 72 / sizeof(finalizer) : 8; - } else { - nnext = nused * 2; - } - finalizer* tmp = - static_cast(::realloc(m_array, sizeof(finalizer) * nnext)); - if(!tmp) { - throw std::bad_alloc(); - } - m_array = tmp; - m_end = tmp + nnext; - m_tail = tmp + nused; - new (m_tail) finalizer(func, data); - - ++m_tail; - } - finalizer* m_tail; - finalizer* m_end; - finalizer* m_array; - }; - struct chunk { - chunk* m_next; - }; - struct chunk_list { - chunk_list(size_t chunk_size) - { - chunk* c = static_cast(::malloc(sizeof(chunk) + chunk_size)); - if(!c) { - throw std::bad_alloc(); - } - - m_head = c; - m_free = chunk_size; - m_ptr = reinterpret_cast(c) + sizeof(chunk); - c->m_next = MSGPACK_NULLPTR; - } - ~chunk_list() - { - chunk* c = m_head; - while(c) { - chunk* n = c->m_next; - ::free(c); - c = n; - } - } - void clear(size_t chunk_size) - { - chunk* c = m_head; - while(true) { - chunk* n = c->m_next; - if(n) { - ::free(c); - c = n; - } else { - m_head = c; - break; - } - } - m_head->m_next = MSGPACK_NULLPTR; - m_free = chunk_size; - m_ptr = reinterpret_cast(m_head) + sizeof(chunk); - } - size_t m_free; - char* m_ptr; - chunk* m_head; - }; - size_t m_chunk_size; - chunk_list m_chunk_list; - finalizer_array m_finalizer_array; - -public: - zone(size_t chunk_size = MSGPACK_ZONE_CHUNK_SIZE) /* throw() */; - -public: - void* allocate_align(size_t size, size_t align = MSGPACK_ZONE_ALIGN); - void* allocate_no_align(size_t size); - - void push_finalizer(void (*func)(void*), void* data); - - template - void push_finalizer(msgpack::unique_ptr obj); - - void clear(); - - void swap(zone& o); - static void* operator new(std::size_t size) - { - void* p = ::malloc(size); - if (!p) throw std::bad_alloc(); - return p; - } - static void operator delete(void *p) /* throw() */ - { - ::free(p); - } - static void* operator new(std::size_t size, void* place) /* throw() */ - { - return ::operator new(size, place); - } - static void operator delete(void* p, void* place) /* throw() */ - { - ::operator delete(p, place); - } - /// @cond - <%0.upto(GENERATION_LIMIT) {|i|%> - template , typename A<%=j%><%}%>> - T* allocate(<%=(1..i).map{|j|"A#{j} a#{j}"}.join(', ')%>); - <%}%> - /// @endcond - -private: - void undo_allocate(size_t size); - - template - static void object_destruct(void* obj); - - template - static void object_delete(void* obj); - - static char* get_aligned(char* ptr, size_t align); - - char* allocate_expand(size_t size); -private: - zone(const zone&); - zone& operator=(const zone&); -}; - -inline zone::zone(size_t chunk_size) /* throw() */ :m_chunk_size(chunk_size), m_chunk_list(m_chunk_size) -{ -} - -inline char* zone::get_aligned(char* ptr, size_t align) -{ - return - reinterpret_cast( - reinterpret_cast( - (ptr + (align - 1))) / align * align); -} - -inline void* zone::allocate_align(size_t size, size_t align) -{ - char* aligned = get_aligned(m_chunk_list.m_ptr, align); - size_t adjusted_size = size + static_cast(aligned - m_chunk_list.m_ptr); - if (m_chunk_list.m_free < adjusted_size) { - size_t enough_size = size + align - 1; - char* ptr = allocate_expand(enough_size); - aligned = get_aligned(ptr, align); - adjusted_size = size + static_cast(aligned - m_chunk_list.m_ptr); - } - m_chunk_list.m_free -= adjusted_size; - m_chunk_list.m_ptr += adjusted_size; - return aligned; -} - -inline void* zone::allocate_no_align(size_t size) -{ - char* ptr = m_chunk_list.m_ptr; - if(m_chunk_list.m_free < size) { - ptr = allocate_expand(size); - } - m_chunk_list.m_free -= size; - m_chunk_list.m_ptr += size; - - return ptr; -} - -inline char* zone::allocate_expand(size_t size) -{ - chunk_list* const cl = &m_chunk_list; - - size_t sz = m_chunk_size; - - while(sz < size) { - size_t tmp_sz = sz * 2; - if (tmp_sz <= sz) { - sz = size; - break; - } - sz = tmp_sz; - } - - chunk* c = static_cast(::malloc(sizeof(chunk) + sz)); - if (!c) throw std::bad_alloc(); - - char* ptr = reinterpret_cast(c) + sizeof(chunk); - - c->m_next = cl->m_head; - cl->m_head = c; - cl->m_free = sz; - cl->m_ptr = ptr; - - return ptr; -} - -inline void zone::push_finalizer(void (*func)(void*), void* data) -{ - m_finalizer_array.push(func, data); -} - -template -inline void zone::push_finalizer(msgpack::unique_ptr obj) -{ - m_finalizer_array.push(&zone::object_delete, obj.release()); -} - -inline void zone::clear() -{ - m_finalizer_array.clear(); - m_chunk_list.clear(m_chunk_size); -} - -inline void zone::swap(zone& o) -{ - using std::swap; - swap(m_chunk_size, o.m_chunk_size); - swap(m_chunk_list, o.m_chunk_list); - swap(m_finalizer_array, o.m_finalizer_array); -} - -template -void zone::object_destruct(void* obj) -{ - static_cast(obj)->~T(); -} - -template -void zone::object_delete(void* obj) -{ - delete static_cast(obj); -} - -inline void zone::undo_allocate(size_t size) -{ - m_chunk_list.m_ptr -= size; - m_chunk_list.m_free += size; -} - -inline std::size_t aligned_size( - std::size_t size, - std::size_t align) { - return (size + align - 1) / align * align; -} - -/// @cond -<%0.upto(GENERATION_LIMIT) {|i|%> -template , typename A<%=j%><%}%>> -T* zone::allocate(<%=(1..i).map{|j|"A#{j} a#{j}"}.join(', ')%>) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(<%=(1..i).map{|j|"a#{j}"}.join(', ')%>); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} -<%}%> -/// @endcond - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_ZONE_HPP diff --git a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_zone_decl.hpp.erb b/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_zone_decl.hpp.erb deleted file mode 100644 index 7881065ab..000000000 --- a/keyvi/3rdparty/msgpack-c/erb/v1/cpp03_zone_decl.hpp.erb +++ /dev/null @@ -1,54 +0,0 @@ -// -// MessagePack for C++ memory pool -// -// 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_V1_CPP03_ZONE_DECL_HPP -#define MSGPACK_V1_CPP03_ZONE_DECL_HPP - -#include -#include -#include - -#include "msgpack/versioning.hpp" - -#ifndef MSGPACK_ZONE_CHUNK_SIZE -#define MSGPACK_ZONE_CHUNK_SIZE 8192 -#endif - -#ifndef MSGPACK_ZONE_ALIGN -#define MSGPACK_ZONE_ALIGN sizeof(void*) -#endif - -#if defined(_MSC_VER) -#define MSGPACK_ZONE_ALIGNOF(type) __alignof(type) -#else -#define MSGPACK_ZONE_ALIGNOF(type) __alignof__(type) -#endif -// For a compiler that doesn't support __alignof__: -// #define MSGPACK_ZONE_ALIGNOF(type) MSGPACK_ZONE_ALIGN - -<% GENERATION_LIMIT = 15 %> -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -class zone; - -std::size_t aligned_size( - std::size_t size, - std::size_t align = MSGPACK_ZONE_ALIGN); - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_ZONE_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/example/CMakeLists.txt b/keyvi/3rdparty/msgpack-c/example/CMakeLists.txt deleted file mode 100644 index 27edf05db..000000000 --- a/keyvi/3rdparty/msgpack-c/example/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -ADD_SUBDIRECTORY (cpp03) -ADD_SUBDIRECTORY (cpp11) -ADD_SUBDIRECTORY (boost) -ADD_SUBDIRECTORY (x3) diff --git a/keyvi/3rdparty/msgpack-c/example/boost/CMakeLists.txt b/keyvi/3rdparty/msgpack-c/example/boost/CMakeLists.txt deleted file mode 100644 index 64ab1a93e..000000000 --- a/keyvi/3rdparty/msgpack-c/example/boost/CMakeLists.txt +++ /dev/null @@ -1,54 +0,0 @@ -LIST (APPEND exec_PROGRAMS - msgpack_variant_capitalize.cpp - msgpack_variant_mapbased.cpp -) -IF (MSGPACK_CXX11 OR MSGPACK_CXX17) - FIND_PACKAGE (Threads REQUIRED) - LIST (APPEND exec_PROGRAMS - asio_send_recv.cpp - ) - IF (ZLIB_FOUND) - INCLUDE_DIRECTORIES ( - ${ZLIB_INCLUDE_DIRS} - ) - LIST (APPEND exec_PROGRAMS - asio_send_recv_zlib.cpp - ) - ENDIF () -ENDIF () - -FOREACH (source_file ${exec_PROGRAMS}) - GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE) - ADD_EXECUTABLE ( - ${source_file_we} - ${source_file} - ) - TARGET_INCLUDE_DIRECTORIES (${source_file_we} - PRIVATE - $ - ) - TARGET_LINK_LIBRARIES (${source_file_we} - ${Boost_SYSTEM_LIBRARY} - ${CMAKE_THREAD_LIBS_INIT} - ) - IF (ZLIB_FOUND) - TARGET_LINK_LIBRARIES (${source_file_we} - ${ZLIB_LIBRARIES} - ) - ENDIF() - IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") - ENDIF () - - IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") - ENDIF () - - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - STRING(REGEX REPLACE "/W[0-4]" "/W3 /WX" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - ELSE () - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /WX") - ENDIF () - ENDIF () -ENDFOREACH () diff --git a/keyvi/3rdparty/msgpack-c/example/boost/asio_send_recv.cpp b/keyvi/3rdparty/msgpack-c/example/boost/asio_send_recv.cpp deleted file mode 100644 index b4fb85541..000000000 --- a/keyvi/3rdparty/msgpack-c/example/boost/asio_send_recv.cpp +++ /dev/null @@ -1,104 +0,0 @@ -// MessagePack for C++ example -// -// 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) -// - -#include -#include -#include - -#include -#include - -#include - -int main() { - boost::asio::io_service ios; - std::uint16_t const port = 12345; - - // Server - std::size_t const window_size = 10; - boost::asio::ip::tcp::acceptor ac(ios, boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), port)); - boost::asio::ip::tcp::socket ss(ios); - std::function do_accept; - std::function do_async_read_some; - - msgpack::unpacker unp; - - do_accept = [&] { - ac.async_accept( - ss, - [&] - (boost::system::error_code const& e) { - if (e) { - std::cout << __LINE__ << ":" << e.message() << std::endl; - return; - } - do_async_read_some = [&] { - unp.reserve_buffer(window_size); - ss.async_read_some( - boost::asio::buffer(unp.buffer(), window_size), - [&](boost::system::error_code const& e, std::size_t bytes_transferred) { - if (e) { - std::cout << __LINE__ << ":" << e.message() << std::endl; - return; - } - std::cout << bytes_transferred << " bytes read." << std::endl; - unp.buffer_consumed(bytes_transferred); - msgpack::object_handle oh; - while (unp.next(oh)) { - std::cout << oh.get() << std::endl; - // In order to finish the program, - // return if one complete msgpack is processed. - // In actual server, don't return here. - return; - } - do_async_read_some(); - } - ); - }; - do_async_read_some(); - } - ); - }; - do_accept(); - - // 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(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(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) { - std::cout << __LINE__ << ":" << e.message() << std::endl; - return; - } - std::cout << __LINE__ << ":client connected" << std::endl; - msgpack::sbuffer sb; - msgpack::pack(sb, std::make_tuple(42, false, "hello world", 12.3456)); - write(cs, boost::asio::buffer(sb.data(), sb.size())); - } - ); - - // Start - ios.run(); -} diff --git a/keyvi/3rdparty/msgpack-c/example/boost/asio_send_recv_zlib.cpp b/keyvi/3rdparty/msgpack-c/example/boost/asio_send_recv_zlib.cpp deleted file mode 100644 index 885e8807b..000000000 --- a/keyvi/3rdparty/msgpack-c/example/boost/asio_send_recv_zlib.cpp +++ /dev/null @@ -1,176 +0,0 @@ -// MessagePack for C++ example -// -// 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) -// - -#include -#include -#include - -#include -#include - -#include -#include - -#include - -void print(std::string const& buf) { - for (std::string::const_iterator it = buf.begin(), end = buf.end(); - it != end; - ++it) { - std::cout - << std::setw(2) - << std::hex - << std::setfill('0') - << (static_cast(*it) & 0xff) - << ' '; - } - std::cout << std::dec << std::endl; -} - -int main() { - boost::asio::io_service ios; - std::uint16_t const port = 12345; - - int num_of_zlib_data = 2; - int idx_zlib_data = 0; - - // Server - std::size_t const window_size = 11; - boost::asio::ip::tcp::acceptor ac(ios, boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), port)); - boost::asio::ip::tcp::socket ss(ios); - std::function do_accept; - std::function do_async_read_some; - - // zlib for decompress - z_stream strm; - auto zlib_init = [&] { - strm.zalloc = Z_NULL; - strm.zfree = Z_NULL; - strm.opaque = Z_NULL; - strm.next_in = Z_NULL; - { - int zret = inflateInit(&strm); - if (zret != Z_OK) { - std::cout << "Zlib inflateInit() error = " << zret << std::endl; - } - } - }; - zlib_init(); - std::vector buf(4); // buf size - - msgpack::unpacker unp; - - do_accept = [&] { - ac.async_accept( - ss, - [&] - (boost::system::error_code const& e) { - if (e) { - std::cout << __LINE__ << ":" << e.message() << std::endl; - return; - } - do_async_read_some = [&] { - ss.async_read_some( - boost::asio::buffer(buf), - [&](boost::system::error_code const& e, std::size_t bytes_transferred) { - if (e) { - std::cout << __LINE__ << ":" << e.message() << std::endl; - return; - } - std::cout << bytes_transferred << " bytes read." << std::endl; - print(std::string(std::string(&buf[0], buf.size()))); - strm.avail_in = bytes_transferred; - do { - strm.next_in = reinterpret_cast(&buf[0]) + (bytes_transferred - strm.avail_in); - int zret; - unp.reserve_buffer(window_size); - strm.avail_out = window_size; - strm.next_out = reinterpret_cast(unp.buffer()); - do { - zret = inflate(&strm, Z_NO_FLUSH); - assert(zret != Z_STREAM_ERROR); - switch (zret) { - case Z_NEED_DICT: - zret = Z_DATA_ERROR; - // fall through - case Z_DATA_ERROR: - case Z_MEM_ERROR: - inflateEnd(&strm); - std::cout << "Zlib inflate() error = " << zret << std::endl; - std::exit(-1); - } - std::size_t decompressed_size = window_size - strm.avail_out; - std::cout << decompressed_size << " bytes decompressed." << std::endl; - unp.buffer_consumed(decompressed_size); - msgpack::object_handle oh; - while (unp.next(oh)) { - std::cout << oh.get() << std::endl; - } - } while (strm.avail_out == 0); - if (zret == Z_STREAM_END) { - inflateEnd(&strm); - std::cout << "Zlib decompress finished." << std::endl; - ++idx_zlib_data; - if (idx_zlib_data == num_of_zlib_data) { - std::cout << "All zlib decompress finished." << std::endl; - return; - } - zlib_init(); - } - } while (strm.avail_in != 0); - do_async_read_some(); - } - ); - }; - do_async_read_some(); - } - ); - }; - do_accept(); - - // 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(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(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) { - std::cout << __LINE__ << ":" << e.message() << std::endl; - return; - } - std::cout << __LINE__ << ":client connected" << std::endl; - for (int i = 0; i != num_of_zlib_data; ++i) { - msgpack::zbuffer zb; - msgpack::pack(zb, std::make_tuple(i, false, "hello world", 12.3456)); - zb.flush(); // finalize zbuffer (don't forget it) - print(std::string(zb.data(), zb.size())); - write(cs, boost::asio::buffer(zb.data(), zb.size())); - } - } - ); - - // Start - ios.run(); -} diff --git a/keyvi/3rdparty/msgpack-c/example/boost/msgpack_variant_capitalize.cpp b/keyvi/3rdparty/msgpack-c/example/boost/msgpack_variant_capitalize.cpp deleted file mode 100644 index 1f9019c7c..000000000 --- a/keyvi/3rdparty/msgpack-c/example/boost/msgpack_variant_capitalize.cpp +++ /dev/null @@ -1,94 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#include -#include -#include -#include -#include - -#include - -struct user { - std::string name; - int age; - std::string address; - MSGPACK_DEFINE(name, age, address); -}; - -struct proc:boost::static_visitor { - void operator()(std::string& v) const { - std::cout << " match std::string& v" << std::endl; - std::cout << " v: " << v << std::endl; - std::cout << " capitalize" << std::endl; - for (std::string::iterator it = v.begin(), end = v.end(); - it != end; - ++it) { - *it = std::toupper(*it); - } - } - void operator()(std::vector& v) const { - std::cout << "match vector (msgpack::type::ARRAY)" << std::endl; - std::vector::iterator it = v.begin(); - std::vector::const_iterator end = v.end(); - for (; it != end; ++it) { - boost::apply_visitor(*this, *it); - } - } - template - void operator()(T const&) const { - std::cout << " match others" << std::endl; - } -}; - -void print(std::string const& buf) { - for (std::string::const_iterator it = buf.begin(), end = buf.end(); - it != end; - ++it) { - std::cout - << std::setw(2) - << std::hex - << std::setfill('0') - << (static_cast(*it) & 0xff) - << ' '; - } - std::cout << std::dec << std::endl; -} - - -int main() { - std::stringstream ss1; - user u; - u.name = "Takatoshi Kondo"; - u.age = 42; - u.address = "Tokyo, JAPAN"; - - std::cout << "Packing object." << std::endl; - msgpack::pack(ss1, u); - print(ss1.str()); - - msgpack::object_handle oh1 = msgpack::unpack(ss1.str().data(), ss1.str().size()); - msgpack::object const& obj1 = oh1.get(); - std::cout << "Unpacked msgpack object." << std::endl; - std::cout << obj1 << std::endl; - - msgpack::type::variant v = obj1.as(); - std::cout << "Applying proc..." << std::endl; - boost::apply_visitor(proc(), v); - - std::stringstream ss2; - std::cout << "Packing modified object." << std::endl; - msgpack::pack(ss2, v); - print(ss2.str()); - - msgpack::object_handle oh2 = msgpack::unpack(ss2.str().data(), ss2.str().size()); - msgpack::object const& obj2 = oh2.get(); - std::cout << "Modified msgpack object." << std::endl; - std::cout << obj2 << std::endl; -} diff --git a/keyvi/3rdparty/msgpack-c/example/boost/msgpack_variant_mapbased.cpp b/keyvi/3rdparty/msgpack-c/example/boost/msgpack_variant_mapbased.cpp deleted file mode 100644 index 0faf48c54..000000000 --- a/keyvi/3rdparty/msgpack-c/example/boost/msgpack_variant_mapbased.cpp +++ /dev/null @@ -1,97 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#include -#include -#include - -#include - -struct user { - std::string name; - int age; - std::string address; - MSGPACK_DEFINE_MAP(name, age, address); -}; - -struct proc:boost::static_visitor { - // msgpack::type::MAP is converted to std::multimap, not std::map. - void operator()(std::multimap& v) const { - std::cout << "match map" << std::endl; - std::multimap::iterator it = v.begin(); - std::multimap::iterator end = v.end(); - while(it != end) { - boost::string_ref const& key = it->first.as_boost_string_ref(); - if (key == "name") { - boost::string_ref const& value = it->second.as_boost_string_ref(); - if (value == "Takatoshi Kondo") { - // You can add values to msgpack::type::variant_ref. - v.insert( - std::multimap::value_type( - "role", - "msgpack-c committer" - ) - ); - } - ++it; - } - else if (key == "age") { - // You can remove key-value pair from msgpack::type::variant_ref - -#if defined(MSGPACK_USE_CPP03) -# if MSGPACK_LIB_STD_CXX - v.erase(std::multimap::const_iterator(it++)); -# else // MSGPACK_LIB_STD_CXX - v.erase(it++); -# endif // MSGPACK_LIB_STD_CXX -#else // defined(MSGPACK_USE_CPP03) -# if MSGPACK_LIB_STD_CXX - it = v.erase(std::multimap::const_iterator(it)); -# else // MSGPACK_LIB_STD_CXX - it = v.erase(it); -# endif // MSGPACK_LIB_STD_CXX -#endif // defined(MSGPACK_USE_CPP03) - } - else if (key == "address") { - // When you want to append string - // "Tokyo" -> "Tokyo, JAPAN" - // Use msgpack::type::variant instead of msgpack::type::variant_ref - // or do as follows: - boost::string_ref const& value = it->second.as_boost_string_ref(); - it->second = std::string(&value.front(), value.size()) + ", JAPAN"; - ++it; - } - } - } - template - void operator()(T const&) const { - std::cout << " match others" << std::endl; - } -}; - -int main() { - std::stringstream ss; - user u; - u.name = "Takatoshi Kondo"; - u.age = 42; - u.address = "Tokyo"; - msgpack::pack(ss, u); - - std::string const& str = ss.str(); - msgpack::object_handle oh = msgpack::unpack(str.data(), str.size()); - msgpack::object const& obj = oh.get(); - std::cout << "Unpacked msgpack object." << std::endl; - std::cout << obj << std::endl; - msgpack::type::variant_ref v = obj.as(); - std::cout << "Applying proc..." << std::endl; - boost::apply_visitor(proc(), v); - msgpack::zone z; - std::cout << "Applied msgpack object." << std::endl; - std::cout << msgpack::object(v, z) << std::endl; -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp03/CMakeLists.txt b/keyvi/3rdparty/msgpack-c/example/cpp03/CMakeLists.txt deleted file mode 100644 index 5c48ca4fb..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp03/CMakeLists.txt +++ /dev/null @@ -1,120 +0,0 @@ -LIST (APPEND exec_PROGRAMS - class_intrusive.cpp - class_intrusive_map.cpp - class_non_intrusive.cpp - custom.cpp - enum.cpp - map_based_versionup.cpp - protocol_new.cpp - reuse_zone.cpp - simple.cpp -) - -IF (MSGPACK_DEFAULT_API_VERSION EQUAL 1) - LIST (APPEND exec_PROGRAMS - protocol.cpp - ) -ENDIF () - -IF (NOT MSVC) - LIST (APPEND with_pthread_PROGRAMS - stream.cpp - ) -ENDIF () - -if (Boost_TIMER_LIBRARY) - LIST (APPEND with_boost_lib_PROGRAMS - speed_test.cpp - speed_test_nested_array.cpp - ) -endif() - -FOREACH (source_file ${exec_PROGRAMS}) - GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE) - ADD_EXECUTABLE ( - ${source_file_we} - ${source_file} - ) - TARGET_INCLUDE_DIRECTORIES (${source_file_we} - PRIVATE - $ - ) - IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - 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]") - STRING(REGEX REPLACE "/W[0-4]" "/W3 /WX" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - ELSE () - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /WX") - ENDIF () - ENDIF () -ENDFOREACH () - -FOREACH (source_file ${with_pthread_PROGRAMS}) - GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE) - ADD_EXECUTABLE ( - ${source_file_we} - ${source_file} - ) - TARGET_INCLUDE_DIRECTORIES (${source_file_we} - PRIVATE - $ - ) - TARGET_LINK_LIBRARIES (${source_file_we} - ${CMAKE_THREAD_LIBS_INIT} - ) - IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - 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]") - STRING(REGEX REPLACE "/W[0-4]" "/W3 /WX" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - ELSE () - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /WX") - ENDIF () - ENDIF () -ENDFOREACH () - -FOREACH (source_file ${with_boost_lib_PROGRAMS}) - INCLUDE_DIRECTORIES ( - ../include - ${Boost_INCLUDE_DIRS} - ) - GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE) - ADD_EXECUTABLE ( - ${source_file_we} - ${source_file} - ) - TARGET_INCLUDE_DIRECTORIES (${source_file_we} - PRIVATE - $ - ) - LINK_DIRECTORIES(${Boost_LIBRARY_DIRS}) - TARGET_LINK_LIBRARIES (${source_file_we} - ${Boost_TIMER_LIBRARY} - ${Boost_CHRONO_LIBRARY} - ${Boost_SYSTEM_LIBRARY} - ) - IF (NOT MSVC AND NOT APPLE) - TARGET_LINK_LIBRARIES (${source_file_we} - rt - ) - ENDIF () - - IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -O3") - ENDIF () - - IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") - ENDIF () - - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - STRING(REGEX REPLACE "/W[0-4]" "/W3 /WX" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - ELSE () - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /WX") - ENDIF () - ENDIF () -ENDFOREACH () diff --git a/keyvi/3rdparty/msgpack-c/example/cpp03/class_intrusive.cpp b/keyvi/3rdparty/msgpack-c/example/cpp03/class_intrusive.cpp deleted file mode 100644 index b37042af3..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp03/class_intrusive.cpp +++ /dev/null @@ -1,104 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2008-2015 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) -// - -#include -#include -#include -#include -#include - -// When you want to adapt map instead of array, you can enable these macro definition. -// -// #define MSGPACK_USE_DEFINE_MAP - - -#include - -struct my_base1 { - int a; - MSGPACK_DEFINE(a); -}; -inline bool operator==(my_base1 const& lhs, my_base1 const& rhs) { - return lhs.a == rhs.a; -} - -struct my_base2 { - std::string b; - std::string c; - MSGPACK_DEFINE(b, c); -}; -inline bool operator==(my_base2 const& lhs, my_base2 const& rhs) { - return lhs.b == rhs.b && lhs.c == rhs.c; -} - -class my_class : public my_base1, private my_base2 { -public: - my_class() {} // When you want to convert from msgpack::object to my_class, - // my_class should be default constractible. - my_class(std::string const& name, int age):name_(name), age_(age) {} - void set_b(std::string const& str) { b = str; } - void set_c(std::string const& str) { c = str; } - friend bool operator==(my_class const& lhs, my_class const& rhs) { - return - static_cast(lhs) == static_cast(rhs) && - static_cast(lhs) == static_cast(rhs) && - lhs.name_ == rhs.name_ && lhs.age_ == rhs.age_; - } - -private: - std::string name_; - int age_; - -public: - MSGPACK_DEFINE(name_, age_, MSGPACK_BASE(my_base1), MSGPACK_BASE(my_base2)); -}; - -void print(std::string const& buf) { - for (std::string::const_iterator it = buf.begin(), end = buf.end(); - it != end; - ++it) { - std::cout - << std::setw(2) - << std::hex - << std::setfill('0') - << (static_cast(*it) & 0xff) - << ' '; - } - std::cout << std::dec << std::endl; -} - -int main() { - { // pack, unpack - my_class my("John Smith", 42); - my.a = 123; - my.set_b("ABC"); - my.set_c("DEF"); - std::stringstream ss; - msgpack::pack(ss, my); - - std::string const& str = ss.str(); - print(str); - - msgpack::object_handle oh = - msgpack::unpack(str.data(), str.size()); - msgpack::object obj = oh.get(); - std::cout << obj << std::endl; - assert(obj.as() == my); - } - { // create object with zone - my_class my("John Smith", 42); - my.a = 123; - my.set_b("ABC"); - my.set_c("DEF"); - msgpack::zone z; - msgpack::object obj(my, z); - std::cout << obj << std::endl; - assert(obj.as() == my); - } -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp03/class_intrusive_map.cpp b/keyvi/3rdparty/msgpack-c/example/cpp03/class_intrusive_map.cpp deleted file mode 100644 index ae7dff7e8..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp03/class_intrusive_map.cpp +++ /dev/null @@ -1,76 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#include -#include -#include -#include -#include - -#include - - -class my_class { -public: - my_class() {} // When you want to convert from msgpack::object to my_class, - // my_class should be default constractible. - // If you use C++11, you can adapt non-default constructible - // classes to msgpack::object. - // See https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_adaptor#non-default-constructible-class-support-c11-only - my_class(std::string const& name, int age):name_(name), age_(age) {} - - friend bool operator==(my_class const& lhs, my_class const& rhs) { - return lhs.name_ == rhs.name_ && lhs.age_ == rhs.age_; - } - -private: - std::string name_; - int age_; - -public: - MSGPACK_DEFINE_MAP(name_, age_); -}; - -void print(std::string const& buf) { - for (std::string::const_iterator it = buf.begin(), end = buf.end(); - it != end; - ++it) { - std::cout - << std::setw(2) - << std::hex - << std::setfill('0') - << (static_cast(*it) & 0xff) - << ' '; - } - std::cout << std::dec << std::endl; -} - -int main() { - { // pack, unpack - my_class my("John Smith", 42); - std::stringstream ss; - msgpack::pack(ss, my); - - print(ss.str()); - - std::string const& str = ss.str(); - msgpack::object_handle oh = - msgpack::unpack(str.data(), str.size()); - msgpack::object obj = oh.get(); - std::cout << obj << std::endl; - assert(obj.as() == my); - } - { // create object with zone - my_class my("John Smith", 42); - msgpack::zone z; - msgpack::object obj(my, z); - std::cout << obj << std::endl; - assert(obj.as() == my); - } -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp03/class_non_intrusive.cpp b/keyvi/3rdparty/msgpack-c/example/cpp03/class_non_intrusive.cpp deleted file mode 100644 index 9ee581188..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp03/class_non_intrusive.cpp +++ /dev/null @@ -1,119 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2008-2015 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) -// - -#include -#include -#include -#include -#include - -#include - -class my_class { -public: - my_class() {} // When you want to convert from msgpack::object to my_class, - // my_class should be default constractible. - my_class(std::string const& name, int age):name_(name), age_(age) {} - - // my_class should provide getters for the data members you want to pack. - std::string const& get_name() const { return name_; } - int get_age() const { return age_; } - - friend bool operator==(my_class const& lhs, my_class const& rhs) { - return lhs.name_ == rhs.name_ && lhs.age_ == rhs.age_; - } - -private: - std::string name_; - int age_; -}; - -// User defined class template specialization -namespace msgpack { -MSGPACK_API_VERSION_NAMESPACE(MSGPACK_DEFAULT_API_NS) { -namespace adaptor { - -template<> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, my_class& v) const { - if (o.type != msgpack::type::ARRAY) throw msgpack::type_error(); - if (o.via.array.size != 2) throw msgpack::type_error(); - v = my_class( - o.via.array.ptr[0].as(), - o.via.array.ptr[1].as()); - return o; - } -}; - -template<> -struct pack { - template - packer& operator()(msgpack::packer& o, my_class const& v) const { - // packing member variables as an array. - o.pack_array(2); - o.pack(v.get_name()); - o.pack(v.get_age()); - return o; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, my_class const& v) const { - o.type = type::ARRAY; - o.via.array.size = 2; - o.via.array.ptr = static_cast( - o.zone.allocate_align(sizeof(msgpack::object) * o.via.array.size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.ptr[0] = msgpack::object(v.get_name(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.get_age(), o.zone); - } -}; - -} // namespace adaptor -} // MSGPACK_API_VERSION_NAMESPACE(MSGPACK_DEFAULT_API_NS) -} // namespace msgpack - - -void print(std::string const& buf) { - for (std::string::const_iterator it = buf.begin(), end = buf.end(); - it != end; - ++it) { - std::cout - << std::setw(2) - << std::hex - << std::setfill('0') - << (static_cast(*it) & 0xff) - << ' '; - } - std::cout << std::dec << std::endl; -} - -int main() { - { // pack, unpack - my_class my("John Smith", 42); - std::stringstream ss; - msgpack::pack(ss, my); - - std::string const& str = ss.str(); - print(str); - - msgpack::object_handle oh = - msgpack::unpack(str.data(), str.size()); - msgpack::object obj = oh.get(); - std::cout << obj << std::endl; - assert(obj.as() == my); - } - { // create object with zone - my_class my("John Smith", 42); - msgpack::zone z; - msgpack::object obj(my, z); - std::cout << obj << std::endl; - assert(obj.as() == my); - } -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp03/custom.cpp b/keyvi/3rdparty/msgpack-c/example/cpp03/custom.cpp deleted file mode 100644 index 423544bb0..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp03/custom.cpp +++ /dev/null @@ -1,67 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2008-2015 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) -// - -#include -#include -#include -#include - -class old_class { -public: - old_class() : value("default") { } - - std::string value; - - MSGPACK_DEFINE(value); -}; - -class new_class { -public: - new_class() : value("default"), flag(-1) { } - - std::string value; - int flag; - - MSGPACK_DEFINE(value, flag); -}; - -int main(void) -{ - { - old_class oc; - new_class nc; - - std::stringstream sbuf; - msgpack::pack(sbuf, oc); - - msgpack::object_handle oh = - msgpack::unpack(sbuf.str().data(), sbuf.str().size()); - msgpack::object obj = oh.get(); - - obj.convert(nc); - - std::cout << obj << " value=" << nc.value << " flag=" << nc.flag << std::endl; - } - - { - new_class nc; - old_class oc; - - std::stringstream sbuf; - msgpack::pack(sbuf, nc); - - msgpack::object_handle oh = - msgpack::unpack(sbuf.str().data(), sbuf.str().size()); - msgpack::object obj = oh.get(); - - obj.convert(oc); - - std::cout << obj << " value=" << oc.value << std::endl; - } -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp03/enum.cpp b/keyvi/3rdparty/msgpack-c/example/cpp03/enum.cpp deleted file mode 100644 index f63d1a72b..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp03/enum.cpp +++ /dev/null @@ -1,59 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#include -#include -#include - -#include - -enum my_enum { - elem1, - elem2, - elem3 -}; - -MSGPACK_ADD_ENUM(my_enum); - -int main(void) -{ - { // pack, unpack - std::stringstream sbuf; - msgpack::pack(sbuf, elem1); - msgpack::pack(sbuf, elem2); - my_enum e3 = elem3; - msgpack::pack(sbuf, e3); - - msgpack::object_handle oh; - std::size_t off = 0; - - msgpack::unpack(oh, sbuf.str().data(), sbuf.str().size(), off); - std::cout << oh.get().as() << std::endl; - assert(oh.get().as() == elem1); - - msgpack::unpack(oh, sbuf.str().data(), sbuf.str().size(), off); - std::cout << oh.get().as() << std::endl; - assert(oh.get().as() == elem2); - - msgpack::unpack(oh, sbuf.str().data(), sbuf.str().size(), off); - std::cout << oh.get().as() << std::endl; - assert(oh.get().as() == elem3); - } - { // create object without zone - msgpack::object obj(elem2); - std::cout << obj.as() << std::endl; - assert(obj.as() == elem2); - } - { // create object with zone - msgpack::zone z; - msgpack::object objz(elem3, z); - std::cout << objz.as() << std::endl; - assert(objz.as() == elem3); - } -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp03/map_based_versionup.cpp b/keyvi/3rdparty/msgpack-c/example/cpp03/map_based_versionup.cpp deleted file mode 100644 index 6ec996bcf..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp03/map_based_versionup.cpp +++ /dev/null @@ -1,112 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#include -#include -#include -#include -#include - -#include - -struct base1 { - base1():a("default") {} - std::string a; - MSGPACK_DEFINE_MAP(a); -}; - -struct v1 : base1 { - v1():name("default"), age(0) {} - std::string name; - int age; - MSGPACK_DEFINE_MAP(MSGPACK_BASE_MAP(base1), name, age); -}; - -struct base2 { - base2():a("default") {} - std::string a; - MSGPACK_DEFINE_MAP(a); -}; - -// Removed: base1, name -// Added : base2, address -struct v2 : base2 { - v2(): age(0), address("default") {} - int age; - std::string address; - MSGPACK_DEFINE_MAP(MSGPACK_BASE_MAP(base2), age, address); -}; - -// The member variable "age" is in common between v1 and v2. - -void print(std::string const& buf) { - for (std::string::const_iterator it = buf.begin(), end = buf.end(); - it != end; - ++it) { - std::cout - << std::setw(2) - << std::hex - << std::setfill('0') - << (static_cast(*it) & 0xff) - << ' '; - } - std::cout << std::dec << std::endl; -} - -int main() { - { // pack v1, unpack, convert to v2 - v1 v; - v.a = "ABC"; - v.name = "John Smith"; - v.age = 35; - - std::stringstream ss; - msgpack::pack(ss, v); - - print(ss.str()); - - std::string const& str = ss.str(); - msgpack::object_handle oh = msgpack::unpack(str.data(), str.size()); - - msgpack::object obj = oh.get(); - std::cout << obj << std::endl; - - v2 newv = obj.as(); - - std::cout << "v2::a " << newv.a << std::endl; - std::cout << "v2::age " << newv.age << std::endl; - std::cout << "v2::address " << newv.address << std::endl; - - // "age" is set from v1 - assert(newv.a == "default"); - assert(newv.age == 35); - assert(newv.address == "default"); - } - { // create v2 object with zone, convert to v1 - v2 v; - v.a = "DEF"; - v.age = 42; - v.address = "Tokyo"; - - msgpack::zone z; - msgpack::object obj(v, z); - std::cout << obj << std::endl; - - v1 newv = obj.as(); - - std::cout << "v1::a " << newv.a << std::endl; - std::cout << "v1::name " << newv.name << std::endl; - std::cout << "v1::age " << newv.age << std::endl; - - // "age" is set from v2 - assert(newv.a == "default"); - assert(newv.name == "default"); - assert(newv.age == 42); - } -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp03/protocol.cpp b/keyvi/3rdparty/msgpack-c/example/cpp03/protocol.cpp deleted file mode 100644 index 01b802a9e..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp03/protocol.cpp +++ /dev/null @@ -1,97 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2008-2015 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) -// - -#include -#include -#include -#include - -// This example uses obsolete APIs -// See protocol_new.cpp -namespace myprotocol { - using namespace msgpack::type; - using msgpack::define; - - struct Get : define< tuple > { - Get() { } - Get(uint32_t f, const std::string& k) : - define_type(msgpack_type(f, k)) { } - uint32_t& flags() { return msgpack::type::get<0>(*this); } - std::string& key() { return msgpack::type::get<1>(*this); } - }; - - struct Put : define< tuple > { - Put() { } - Put(uint32_t f, const std::string& k, const char* valref, uint32_t vallen) : - define_type(msgpack_type( f, k, raw_ref(valref,vallen) )) { } - uint32_t& flags() { return msgpack::type::get<0>(*this); } - std::string& key() { return msgpack::type::get<1>(*this); } - raw_ref& value() { return msgpack::type::get<2>(*this); } - }; - - struct MultiGet : define< std::vector > { - }; -} - - -int main(void) -{ - // send Get request - std::stringstream stream; - { - myprotocol::Get req; - req.flags() = 0; - req.key() = "key0"; - msgpack::pack(stream, req); - } - - stream.seekg(0); - - // receive Get request - { - std::string buffer(stream.str()); - - msgpack::object_handle oh = - msgpack::unpack(buffer.data(), buffer.size()); - msgpack::object o = oh.get(); - - myprotocol::Get req; - o.convert(req); - std::cout << "received: " << o << std::endl; - } - - - stream.str(""); - - - // send MultiGet request - { - myprotocol::MultiGet req; - req.push_back( myprotocol::Get(1, "key1") ); - req.push_back( myprotocol::Get(2, "key2") ); - req.push_back( myprotocol::Get(3, "key3") ); - msgpack::pack(stream, req); - } - - stream.seekg(0); - - // receive MultiGet request - { - std::string buffer(stream.str()); - - msgpack::object_handle oh = - msgpack::unpack(buffer.data(), buffer.size()); - msgpack::object o = oh.get(); - - - myprotocol::MultiGet req; - o.convert(req); - std::cout << "received: " << o << std::endl; - } -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp03/protocol_new.cpp b/keyvi/3rdparty/msgpack-c/example/cpp03/protocol_new.cpp deleted file mode 100644 index 5b295bb09..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp03/protocol_new.cpp +++ /dev/null @@ -1,84 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#include -#include -#include -#include - -// This example uses obsolete APIs -// See protocol_new.cpp -namespace myprotocol { - struct Get { - Get() {} - Get(uint32_t f, const std::string& k) : flags(f), key(k) {} - uint32_t flags; - std::string key; - MSGPACK_DEFINE(flags, key); - }; - - typedef std::vector MultiGet; -} - - -int main(void) -{ - // send Get request - std::stringstream stream; - { - myprotocol::Get req; - req.flags = 0; - req.key = "key0"; - msgpack::pack(stream, req); - } - - stream.seekg(0); - - // receive Get request - { - std::string buffer(stream.str()); - - msgpack::object_handle oh = - msgpack::unpack(buffer.data(), buffer.size()); - msgpack::object o = oh.get(); - - myprotocol::Get req; - o.convert(req); - std::cout << "received: " << o << std::endl; - } - - - stream.str(""); - - - // send MultiGet request - { - myprotocol::MultiGet req; - req.push_back( myprotocol::Get(1, "key1") ); - req.push_back( myprotocol::Get(2, "key2") ); - req.push_back( myprotocol::Get(3, "key3") ); - msgpack::pack(stream, req); - } - - stream.seekg(0); - - // receive MultiGet request - { - std::string buffer(stream.str()); - - msgpack::object_handle oh = - msgpack::unpack(buffer.data(), buffer.size()); - msgpack::object o = oh.get(); - - - myprotocol::MultiGet req; - o.convert(req); - std::cout << "received: " << o << std::endl; - } -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp03/reuse_zone.cpp b/keyvi/3rdparty/msgpack-c/example/cpp03/reuse_zone.cpp deleted file mode 100644 index 0afd51343..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp03/reuse_zone.cpp +++ /dev/null @@ -1,43 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#include -#include -#include - -#include -#include - -#include - - -int main() { - std::vector v; - v.push_back(1); - v.push_back(42); - std::string s("ABC"); - - std::stringstream ss; - msgpack::pack(ss, v); - msgpack::pack(ss, s); - - msgpack::zone z; - std::size_t offset = 0; - - // msgpack array is constructed on z. - std::string const& ps = ss.str(); - msgpack::object obj = msgpack::unpack(z, ps.data(), ps.size(), offset); - std::cout << obj << std::endl; - assert(obj.as >() == v); - - // msgpack str is constructed on z. - std::string const& str = msgpack::unpack(z, ps.data(), ps.size(), offset).as(); - std::cout << str << std::endl; - assert(str == s); -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp03/simple.cpp b/keyvi/3rdparty/msgpack-c/example/cpp03/simple.cpp deleted file mode 100644 index 21b570183..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp03/simple.cpp +++ /dev/null @@ -1,44 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2008-2015 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) -// - -#include -#include -#include -#include - -int main(void) -{ - msgpack::type::tuple src(1, true, "example"); - - // serialize the object into the buffer. - // any classes that implements write(const char*,size_t) can be a buffer. - std::stringstream buffer; - msgpack::pack(buffer, src); - - // send the buffer ... - buffer.seekg(0); - - // deserialize the buffer into msgpack::object instance. - std::string str(buffer.str()); - - msgpack::object_handle oh = msgpack::unpack(str.data(), str.size()); - - // deserialized object is valid during the msgpack::object_handle instance alive. - msgpack::object deserialized = oh.get(); - - // msgpack::object supports ostream. - std::cout << deserialized << std::endl; - - // convert msgpack::object instance into the original type. - // if the type is mismatched, it throws msgpack::type_error exception. - msgpack::type::tuple dst; - deserialized.convert(dst); - - return 0; -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp03/speed_test.cpp b/keyvi/3rdparty/msgpack-c/example/cpp03/speed_test.cpp deleted file mode 100644 index 4aee65bb3..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp03/speed_test.cpp +++ /dev/null @@ -1,63 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2013-2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -// g++ -std=c++11 -O3 -g -Ipath_to_msgpack_src -Ipath_to_boost speed_test.cc -Lpath_to_boost_lib -lboost_timer -lboost_system -// export LD_LIBRARY_PATH=path_to_boost_lib - -#include -#include -#include -#include -#include -#include - -void test_map_pack_unpack() { - std::cout << "[TEST][map_pack_unpack]" << std::endl; - // setup - std::cout << "Setting up map data..." << std::endl; - std::map m1; - int const num = 30000000L; - for (int i = 0; i < num; ++i) m1[i] = i; - std::cout << "Start packing..." << std::endl; - std::stringstream buffer; - { - boost::timer::cpu_timer timer; - msgpack::pack(buffer, m1); - std::string result = timer.format(); - std::cout << result << std::endl; - } - std::cout << "Pack finished..." << std::endl; - - buffer.seekg(0); - std::string str(buffer.str()); - - msgpack::object_handle oh; - std::cout << "Start unpacking...by void unpack(object_handle& oh, const char* data, size_t len)" << std::endl; - { - boost::timer::cpu_timer timer; - msgpack::unpack(oh, str.data(), str.size()); - std::string result = timer.format(); - std::cout << result << std::endl; - } - std::cout << "Unpack finished..." << std::endl; - std::map m2; - std::cout << "Start converting..." << std::endl; - { - boost::timer::cpu_timer timer; - oh.get().convert(m2); - std::string result = timer.format(); - std::cout << result << std::endl; - } - std::cout << "Convert finished..." << std::endl; -} - -int main(void) -{ - test_map_pack_unpack(); -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp03/speed_test_nested_array.cpp b/keyvi/3rdparty/msgpack-c/example/cpp03/speed_test_nested_array.cpp deleted file mode 100644 index a19b6fa2c..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp03/speed_test_nested_array.cpp +++ /dev/null @@ -1,86 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2013-2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -// g++ -std=c++11 -O3 -g -Ipath_to_msgpack_src -Ipath_to_boost speed_test.cc -Lpath_to_boost_lib -lboost_timer -lboost_system -// export LD_LIBRARY_PATH=path_to_boost_lib - -#include -#include -#include -#include -#include -#include - -template -struct vecvec { - typedef std::vector::type> type; - static void fill(type& v, std::size_t num_of_elems, T const& val) { - for (std::size_t elem = 0; elem < num_of_elems; ++elem) { - typename vecvec::type child; - vecvec::fill(child, num_of_elems, val); - v.push_back(child); - } - } -}; - -template -struct vecvec { - typedef std::vector type; - static void fill(type& v, std::size_t num_of_elems, T const& val) { - for (std::size_t elem = 0; elem < num_of_elems; ++elem) { - v.push_back(val); - } - } -}; - -void test_array_of_array() { - std::cout << "[TEST][array_of_array]" << std::endl; - // setup - int const depth = 4; - std::cout << "Setting up array data..." << std::endl; - vecvec::type v1; - vecvec::fill(v1, 3, 42); - - std::cout << "Start packing..." << std::endl; - std::stringstream buffer; - { - boost::timer::cpu_timer timer; - msgpack::pack(buffer, v1); - std::string result = timer.format(); - std::cout << result << std::endl; - } - std::cout << "Pack finished..." << std::endl; - - buffer.seekg(0); - std::string str(buffer.str()); - - msgpack::object_handle oh; - std::cout << "Start unpacking...by void unpack(object_handle& oh, const char* data, size_t len)" << std::endl; - { - boost::timer::cpu_timer timer; - msgpack::unpack(oh, str.data(), str.size()); - std::string result = timer.format(); - std::cout << result << std::endl; - } - std::cout << "Unpack finished..." << std::endl; - vecvec::type v2; - std::cout << "Start converting..." << std::endl; - { - boost::timer::cpu_timer timer; - oh.get().convert(v2); - std::string result = timer.format(); - std::cout << result << std::endl; - } - std::cout << "Convert finished..." << std::endl; -} - -int main(void) -{ - test_array_of_array(); -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp03/stream.cpp b/keyvi/3rdparty/msgpack-c/example/cpp03/stream.cpp deleted file mode 100644 index 9b07c1110..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp03/stream.cpp +++ /dev/null @@ -1,148 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2008-2015 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) -// - -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(_MSC_VER) || defined(__MINGW32__) -#include -#include -#define pipe(fds) _pipe(fds, 4096, _O_BINARY) -#endif // _MSC_VER || __MINGW32__ - -class Server { -public: - Server(int sock) : m_sock(sock) { } - - ~Server() { } - - typedef msgpack::unique_ptr unique_zone; - - void socket_readable() - { - m_pac.reserve_buffer(1024); - - ssize_t count = - read(m_sock, m_pac.buffer(), m_pac.buffer_capacity()); - - if(count <= 0) { - if(count == 0) { - throw std::runtime_error("connection closed"); - } - if(errno == EAGAIN || errno == EINTR) { - return; - } - throw std::runtime_error(strerror(errno)); - } - - m_pac.buffer_consumed(count); - - msgpack::object_handle oh; - while (m_pac.next(oh)) { - msgpack::object msg = oh.get(); - unique_zone& life = oh.zone(); - process_message(msg, life); - } - - if(m_pac.message_size() > 10*1024*1024) { - throw std::runtime_error("message is too large"); - } - } - -private: - void process_message(msgpack::object msg, unique_zone&) - { - std::cout << "message reached: " << msg << std::endl; - } - -private: - int m_sock; - msgpack::unpacker m_pac; -}; - - -static void* run_server(void* arg) -{ - try { - Server* srv = reinterpret_cast(arg); - - while(true) { - srv->socket_readable(); - } - return NULL; - - } catch (std::exception& e) { - std::cerr << "error while processing client packet: " - << e.what() << std::endl; - return NULL; - - } catch (...) { - std::cerr << "error while processing client packet: " - << "unknown error" << std::endl; - return NULL; - } -} - -struct fwriter { - fwriter(int fd) : m_fp( fdopen(fd, "w") ) { } - - void write(const char* buf, size_t buflen) - { - size_t count = fwrite(buf, buflen, 1, m_fp); - if(count < 1) { - std::cout << buflen << std::endl; - std::cout << count << std::endl; - throw std::runtime_error(strerror(errno)); - } - } - - void flush() { fflush(m_fp); } - - void close() { fclose(m_fp); } - -private: - FILE* m_fp; -}; - - -int main(void) -{ - int pair[2]; - if (pipe(pair) != 0) return -1; - - // run server thread - Server srv(pair[0]); - pthread_t thread; - pthread_create(&thread, NULL, - run_server, reinterpret_cast(&srv)); - - // client thread: - fwriter writer(pair[1]); - msgpack::packer pk(writer); - - typedef msgpack::type::tuple put_t; - typedef msgpack::type::tuple get_t; - - put_t req1("put", "apple", "red"); - put_t req2("put", "lemon", "yellow"); - get_t req3("get", "apple"); - pk.pack(req1); - pk.pack(req2); - pk.pack(req3); - writer.flush(); - writer.close(); - - pthread_join(thread, NULL); -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp11/CMakeLists.txt b/keyvi/3rdparty/msgpack-c/example/cpp11/CMakeLists.txt deleted file mode 100644 index cd17d1386..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp11/CMakeLists.txt +++ /dev/null @@ -1,43 +0,0 @@ -IF (MSGPACK_CXX11 OR MSGPACK_CXX17) - INCLUDE_DIRECTORIES ( - ../include - ) - - LIST (APPEND exec_PROGRAMS - container.cpp - non_def_con_class.cpp - ) - - IF ("${MSGPACK_DEFAULT_API_VERSION}" GREATER "1") - LIST (APPEND exec_PROGRAMS - socket_stream_example.cpp - ) - ENDIF () - - FOREACH (source_file ${exec_PROGRAMS}) - GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE) - ADD_EXECUTABLE ( - ${source_file_we} - ${source_file} - ) - TARGET_INCLUDE_DIRECTORIES (${source_file_we} - PRIVATE - $ - ) - IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") - ENDIF () - - IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") - ENDIF () - - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - STRING(REGEX REPLACE "/W[0-4]" "/W3 /WX" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - ELSE () - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /WX") - ENDIF () - ENDIF () - ENDFOREACH () -ENDIF () diff --git a/keyvi/3rdparty/msgpack-c/example/cpp11/container.cpp b/keyvi/3rdparty/msgpack-c/example/cpp11/container.cpp deleted file mode 100644 index 60b5d4b81..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp11/container.cpp +++ /dev/null @@ -1,159 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include - -void array() { - std::array a { { 1, 2, 3, 4, 5 } }; - std::stringstream ss; - msgpack::pack(ss, a); - - auto const& str = ss.str(); - auto oh = msgpack::unpack(str.data(), str.size()); - auto obj = oh.get(); - - std::cout << obj << std::endl; - assert((obj.as>()) == a); -} - -void tuple() { - std::tuple t(true, "ABC", 42); - std::stringstream ss; - msgpack::pack(ss, t); - - auto const& str = ss.str(); - auto oh = msgpack::unpack(str.data(), str.size()); - auto obj = oh.get(); - - std::cout << obj << std::endl; - assert(obj.as() == t); -} - -void unordered_map() { - std::unordered_map m { {"ABC", 1}, {"DEF", 3} }; - std::stringstream ss; - msgpack::pack(ss, m); - - auto const& str = ss.str(); - auto oh = msgpack::unpack(str.data(), str.size()); - msgpack::object obj = oh.get(); - - std::cout << obj << std::endl; - assert(obj.as() == m); -} - -void unordered_set() { - std::unordered_set s { "ABC", "DEF" }; - std::stringstream ss; - msgpack::pack(ss, s); - - auto const& str = ss.str(); - auto oh = msgpack::unpack(str.data(), str.size()); - auto obj = oh.get(); - - std::cout << obj << std::endl; - assert(obj.as() == s); -} - -void forward_list() { - using type = std::forward_list; - type f { "ABC", "DEF" }; - std::stringstream ss; - msgpack::pack(ss, f); - - auto const& str = ss.str(); - auto oh = msgpack::unpack(str.data(), str.size()); - auto obj = oh.get(); - - std::cout << obj << std::endl; - assert(obj.as() == f); -} - -void combi() { - std::array a { { 1, 2, 3, 4, 5 } }; - std::tuple t {true, "ABC", 42}; - std::unordered_map m { {"ABC", 1}, {"DEF", 3} }; - std::unordered_set s { "ABC", "DEF" }; - std::forward_list f { "ABC", "DEF" }; - - std::stringstream ss; - msgpack::pack(ss, a); - msgpack::pack(ss, t); - msgpack::pack(ss, m); - msgpack::pack(ss, s); - msgpack::pack(ss, f); - - std::size_t offset = 0; - std::cout << "offset: " << offset << std::endl; - { - auto const& str = ss.str(); - auto oh = msgpack::unpack(str.data(), str.size(), offset); - auto obj = oh.get(); - - std::cout << obj << std::endl; - assert(obj.as() == a); - } - std::cout << "offset: " << offset << std::endl; - { - auto const& str = ss.str(); - auto oh = msgpack::unpack(str.data(), str.size(), offset); - auto obj = oh.get(); - - std::cout << obj << std::endl; - assert(obj.as() == t); - } - std::cout << "offset: " << offset << std::endl; - { - auto const& str = ss.str(); - auto oh = msgpack::unpack(str.data(), str.size(), offset); - auto obj = oh.get(); - - std::cout << obj << std::endl; - assert(obj.as() == m); - } - std::cout << "offset: " << offset << std::endl; - { - auto const& str = ss.str(); - auto oh = msgpack::unpack(str.data(), str.size(), offset); - auto obj = oh.get(); - - std::cout << obj << std::endl; - assert(obj.as() == s); - } - std::cout << "offset: " << offset << std::endl; - { - auto const& str = ss.str(); - auto oh = msgpack::unpack(str.data(), str.size(), offset); - auto obj = oh.get(); - - std::cout << obj << std::endl; - assert(obj.as() == f); - } - std::cout << "offset: " << offset << std::endl; -} - -int main() { - array(); - tuple(); - unordered_map(); - unordered_set(); - forward_list(); - combi(); -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp11/non_def_con_class.cpp b/keyvi/3rdparty/msgpack-c/example/cpp11/non_def_con_class.cpp deleted file mode 100644 index 2f53a3a52..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp11/non_def_con_class.cpp +++ /dev/null @@ -1,51 +0,0 @@ -// MessagePack for C++ example -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#include -#include -#include - -#include - -struct my { - my() = delete; - - // target class should be either copyable or movable (or both). - my(my const&) = delete; - my(my&&) = default; - - my(int a):a(a) {} - int a; - MSGPACK_DEFINE(a); -}; - -namespace msgpack { -MSGPACK_API_VERSION_NAMESPACE(MSGPACK_DEFAULT_API_NS) { -namespace adaptor { - -template<> -struct as { - my operator()(msgpack::object const& o) const { - if (o.type != msgpack::type::ARRAY) throw msgpack::type_error(); - if (o.via.array.size != 1) throw msgpack::type_error(); - return my(o.via.array.ptr[0].as()); - } -}; - -} // namespace adaptor -} // MSGPACK_API_VERSION_NAMESPACE(MSGPACK_DEFAULT_API_NS) -} // namespace msgpack - -int main() { - my m1(42); - msgpack::zone z; - msgpack::object obj(m1, z); - std::cout << obj << std::endl; - assert(m1.a == obj.as().a); -} diff --git a/keyvi/3rdparty/msgpack-c/example/cpp11/socket_stream_example.cpp b/keyvi/3rdparty/msgpack-c/example/cpp11/socket_stream_example.cpp deleted file mode 100644 index 3bb68f771..000000000 --- a/keyvi/3rdparty/msgpack-c/example/cpp11/socket_stream_example.cpp +++ /dev/null @@ -1,157 +0,0 @@ -#include -#include -#include - -struct json_like_visitor : msgpack::v2::null_visitor { - json_like_visitor(std::string& s):m_s(s), m_ref(false) {} // m_ref is false by default - - bool visit_nil() { - m_s += "null"; - return true; - } - bool visit_boolean(bool v) { - if (v) m_s += "true"; - else m_s += "false"; - return true; - } - bool visit_positive_integer(uint64_t v) { - std::stringstream ss; - ss << v; - m_s += ss.str(); - return true; - } - bool visit_negative_integer(int64_t v) { - std::stringstream ss; - ss << v; - m_s += ss.str(); - return true; - } - bool visit_str(const char* v, uint32_t size) { - // I omit escape process. - m_s += '"' + std::string(v, size) + '"'; - return true; - } - bool start_array(uint32_t /*num_elements*/) { - m_s += "["; - return true; - } - bool end_array_item() { - m_s += ","; - return true; - } - bool end_array() { - m_s.erase(m_s.size() - 1, 1); // remove the last ',' - m_s += "]"; - return true; - } - bool start_map(uint32_t /*num_kv_pairs*/) { - m_s += "{"; - return true; - } - bool end_map_key() { - m_s += ":"; - return true; - } - bool end_map_value() { - m_s += ","; - return true; - } - bool end_map() { - m_s.erase(m_s.size() - 1, 1); // remove the last ',' - m_s += "}"; - return true; - } - void parse_error(size_t /*parsed_offset*/, size_t /*error_offset*/) { - std::cerr << "parse error"<, - public json_like_visitor { - typedef parser parser_t; -public: - json_like_printer(std::size_t initial_buffer_size = MSGPACK_UNPACKER_INIT_BUFFER_SIZE) - :parser_t(do_nothing_, initial_buffer_size), - json_like_visitor(json_str_) { - } - - json_like_visitor& visitor() { return *this; } - void print() { std::cout << json_str_ << std::endl; json_str_.clear();} -private: - do_nothing do_nothing_; - std::string json_str_; -}; - -template -struct ref_buffer { - ref_buffer(T& t):t(t) {} - void write(char const* ptr, std::size_t len) { - if (len > t.buffer_capacity()) { - t.reserve_buffer(len - t.buffer_capacity()); - } - std::memcpy(t.buffer(), ptr, len); - t.buffer_consumed(len); - } - T& t; -}; - -#define BUFFERING_SIZE_MAX 100 - -//simulates streamed content (a socket for example) -bool produce( std::stringstream & ss, char* buff, std::size_t& size) -{ - ss.read(buff, BUFFERING_SIZE_MAX); - size = static_cast(ss.gcount()); - return (size > 0); -} - -//shows how you can treat data -void consume( const char* buff, const std::size_t size, - ref_buffer & rb, - json_like_printer & jp - ) -{ - rb.write(buff,size); - while( jp.next() ) - { - //here we print the data, you could do any wanted processing - jp.print(); - } -} - -int main() { - - std::vector> vvi1 { { 1,2,3,4,5}, { 6,7,8,9,10} }; - std::vector> vvi2 { { 11,12,13,14,15}, { 16,17,18,19,20} }; - - std::stringstream ss; - - msgpack::pack(ss, vvi1); - msgpack::pack(ss, vvi2); - - char buffer[BUFFERING_SIZE_MAX]; - std::size_t size = 0; - - json_like_printer jp(1); // set initial buffer size explicitly - ref_buffer rb(jp); - - while( produce(ss,buffer,size) ) - { - consume(buffer, size, rb, jp); - } - -} \ No newline at end of file diff --git a/keyvi/3rdparty/msgpack-c/example/x3/CMakeLists.txt b/keyvi/3rdparty/msgpack-c/example/x3/CMakeLists.txt deleted file mode 100644 index f67ff80a8..000000000 --- a/keyvi/3rdparty/msgpack-c/example/x3/CMakeLists.txt +++ /dev/null @@ -1,72 +0,0 @@ -IF (MSGPACK_USE_X3_PARSE AND MSGPACK_DEFAULT_API_VERSION VERSION_GREATER 1) - FIND_PACKAGE (Boost REQUIRED COMPONENTS context) - - INCLUDE_DIRECTORIES ( - ../include - ) - - LIST (APPEND exec_PROGRAMS - unpack.cpp - parse.cpp - ) - LIST (APPEND with_boost_PROGRAMS - stream_unpack.cpp - ) - FOREACH (source_file ${exec_PROGRAMS}) - GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE) - ADD_EXECUTABLE ( - ${source_file_we} - ${source_file} - ) - TARGET_INCLUDE_DIRECTORIES (${source_file_we} - PRIVATE - $ - ) - IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") - ENDIF () - - IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") - ENDIF () - - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - STRING(REGEX REPLACE "/W[0-4]" "/W3 /WX" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - ELSE () - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /WX") - ENDIF () - ENDIF () - ENDFOREACH () - FOREACH (source_file ${with_boost_PROGRAMS}) - GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE) - ADD_EXECUTABLE ( - ${source_file_we} - ${source_file} - ) - TARGET_INCLUDE_DIRECTORIES (${source_file_we} - PRIVATE - $ - ) - TARGET_LINK_LIBRARIES (${source_file_we} - ${Boost_CONTEXT_LIBRARY} - ${Boost_SYSTEM_LIBRARY} - ${CMAKE_THREAD_LIBS_INIT} - ) - IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") - ENDIF () - - IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") - ENDIF () - - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - STRING(REGEX REPLACE "/W[0-4]" "/W3 /WX" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - ELSE () - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /WX") - ENDIF () - ENDIF () - ENDFOREACH () -ENDIF () diff --git a/keyvi/3rdparty/msgpack-c/example/x3/parse.cpp b/keyvi/3rdparty/msgpack-c/example/x3/parse.cpp deleted file mode 100644 index 629a652c8..000000000 --- a/keyvi/3rdparty/msgpack-c/example/x3/parse.cpp +++ /dev/null @@ -1,125 +0,0 @@ -// MessagePack for C++ example -// -// 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) -// - -#include -#include -#include - -// MSGPACK_USE_X3_PARSE should be defined before including msgpack.hpp -// It usually defined as a compiler option as -DMSGPACK_USE_X3_PARSE. - -#include - -struct json_like_visitor : msgpack::v2::null_visitor { - json_like_visitor(std::string& s):m_s(s) {} - - bool visit_nil() { - m_s += "null"; - return true; - } - bool visit_boolean(bool v) { - if (v) m_s += "true"; - else m_s += "false"; - return true; - } - bool visit_positive_integer(uint64_t v) { - std::stringstream ss; - ss << v; - m_s += ss.str(); - return true; - } - bool visit_negative_integer(int64_t v) { - std::stringstream ss; - ss << v; - m_s += ss.str(); - return true; - } - bool visit_float32(float v) { - std::stringstream ss; - ss << v; - m_s += ss.str(); - return true; - } - bool visit_float64(double v) { - std::stringstream ss; - ss << v; - m_s += ss.str(); - return true; - } - bool visit_str(const char* v, uint32_t size) { - m_s += '"' + std::string(v, size) + '"'; - return true; - } - bool start_array(uint32_t /*num_elements*/) { - m_s += "["; - return true; - } - bool end_array_item() { - m_s += ","; - return true; - } - bool end_array() { - m_s.erase(m_s.size() - 1, 1); // remove the last ',' - m_s += "]"; - return true; - } - bool start_map(uint32_t /*num_kv_pairs*/) { - m_s += "{"; - return true; - } - bool end_map_key() { - m_s += ":"; - return true; - } - bool end_map_value() { - m_s += ","; - return true; - } - bool end_map() { - m_s.erase(m_s.size() - 1, 1); // remove the last ',' - m_s += "}"; - return true; - } - void parse_error(size_t /*parsed_offset*/, size_t /*error_offset*/) { - } - void insufficient_bytes(size_t /*parsed_offset*/, size_t /*error_offset*/) { - } - std::string& m_s; -}; - -int main() { - std::stringstream ss; - std::map> v1 { - { "ABC", { 1, 2, 3 } }, - { "DEFG", { 4, 5 } } - }; - std::vector v2 { - "HIJ", "KLM", "NOP" - }; - msgpack::pack(ss, v1); - msgpack::pack(ss, v2); - - std::string const& buf = ss.str(); - auto it = buf.begin(); - auto end = buf.end(); - { - std::string str; - bool ret = msgpack::parse(it, end, json_like_visitor(str)); - // it is updated here. - assert(ret); - std::cout << str << std::endl; - } - { - std::string str; - bool ret = msgpack::parse(it, end, json_like_visitor(str)); - // it is updated here. - assert(ret); - std::cout << str << std::endl; - } -} diff --git a/keyvi/3rdparty/msgpack-c/example/x3/stream_unpack.cpp b/keyvi/3rdparty/msgpack-c/example/x3/stream_unpack.cpp deleted file mode 100644 index fefbfb12f..000000000 --- a/keyvi/3rdparty/msgpack-c/example/x3/stream_unpack.cpp +++ /dev/null @@ -1,248 +0,0 @@ -// MessagePack for C++ example -// -// 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) -// - -#include -#include -#include -#include - -// MSGPACK_USE_X3_PARSE should be defined before including msgpack.hpp -// It usually defined as a compiler option as -DMSGPACK_USE_X3_PARSE. - -//#define MSGPACK_USE_X3_PARSE - -#include - -#include -#include - -#if defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wunused-parameter" -#endif // defined(__clang__) - -#include - -#if defined(__clang__) -#pragma GCC diagnostic pop -#endif // defined(__clang__) - -namespace as = boost::asio; -namespace x3 = boost::spirit::x3; -namespace coro2 = boost::coroutines2; - -using pull_type = coro2::asymmetric_coroutine>>::pull_type; - -// iterator fetching data from coroutine2. -class buffered_iterator : public std::iterator { -public: - using pointer_t = typename iterator::pointer; - using reference_t = typename iterator::reference; - - explicit buffered_iterator(pull_type& source) noexcept - : source_{ &source } { - fetch_(); - } - buffered_iterator() = default; - - bool operator==(buffered_iterator const& other) const noexcept { - if (!other.source_ && !source_ && !other.buf_ && !buf_) return true; - return other.it_ == it_; - } - - bool operator!=(buffered_iterator const& other) const noexcept { - return !(other == *this); - } - - buffered_iterator & operator++() { - increment_(); - return * this; - } - - buffered_iterator operator++(int) = delete; - - reference_t operator*() noexcept { - return *it_; - } - - pointer_t operator->() noexcept { - return std::addressof(*it_); - } - -private: - void fetch_() noexcept { - BOOST_ASSERT( nullptr != source_); - if (*source_) { - buf_ = source_->get(); - it_ = buf_->begin(); - } - else { - source_ = nullptr; - buf_.reset(); - } - } - - void increment_() { - BOOST_ASSERT( nullptr != source_); - BOOST_ASSERT(*source_); - if (++it_ == buf_->end()) { - (*source_)(); - fetch_(); - } - } - -private: - pull_type* source_{ nullptr }; - std::shared_ptr> buf_; - std::vector::iterator it_; -}; - -// session class that corresponding to each client -class session : public std::enable_shared_from_this { -public: - session(as::ip::tcp::socket socket) - : socket_(std::move(socket)) { - } - - void start() { - sink_ = std::make_shared>>::push_type>( - [&, this](pull_type& source) { - // *1 is started when the first sink is called. - - std::cout << "session started" << std::endl; - do_read(); - source(); - - // use buffered_iterator here - // b is incremented in msgpack::unpack() and fetch data from sink - // via coroutine2 mechanism - auto b = boost::spirit::make_default_multi_pass(buffered_iterator(source)); - auto e = boost::spirit::make_default_multi_pass(buffered_iterator()); - - // This is usually an infinity look, but for test, loop is finished when - // two message pack data is processed. - for (int i = 0; i != 2; ++i) { - auto oh = msgpack::unpack(b, e); - std::cout << oh.get() << std::endl; - } - } - ); - // send dummy data to start *1 - (*sink_)({}); - } - -private: - void do_read() { - std::cout << "session do_read() is called" << std::endl; - auto self(shared_from_this()); - auto data = std::make_shared>(static_cast(max_length)); - socket_.async_read_some( - boost::asio::buffer(*data), - [this, self, data] - (boost::system::error_code ec, std::size_t length) { - if (!ec) { - data->resize(length); - (*sink_)(data); - do_read(); - } - } - ); - } - - as::ip::tcp::socket socket_; - static constexpr std::size_t const max_length = 1024; - std::shared_ptr>>::push_type> sink_; -}; - -class server { -public: - server( - as::io_service& ios, - std::uint16_t port) - : acceptor_(ios, as::ip::tcp::endpoint(as::ip::tcp::v4(), port)), - socket_(ios) { - do_accept(); - std::cout << "server start accept" << std::endl; - ios.run(); - } - -private: - void do_accept() { - acceptor_.async_accept( - socket_, - [this](boost::system::error_code ec) { - if (!ec) { - std::make_shared(std::move(socket_))->start(); - } - // for test, only one session is accepted. - // do_accept(); - } - ); - } - - as::ip::tcp::acceptor acceptor_; - as::ip::tcp::socket socket_; -}; - -int main() { - std::thread srv( - []{ - boost::asio::io_service ios; - server s(ios, 12345); - } - ); - - std::thread cli( - []{ - std::this_thread::sleep_for(std::chrono::seconds(1)); - std::cout << "client start" << std::endl; - - std::stringstream ss; - std::map> v1 { - { "ABC", { 1, 2, 3 } }, - { "DEFG", { 4, 5 } } - }; - std::vector v2 { - "HIJ", "KLM", "NOP" - }; - msgpack::pack(ss, v1); - msgpack::pack(ss, v2); - - auto send_data = ss.str(); - - boost::asio::io_service ios; - as::ip::tcp::resolver::query q("127.0.0.1", "12345"); - as::ip::tcp::resolver r(ios); - auto it = r.resolve(q); - - std::cout << "client connect" << std::endl; - as::ip::tcp::socket s(ios); - as::connect(s, it); - - - std::size_t const size = 5; - std::size_t rest = send_data.size(); - std::size_t index = 0; - while (rest != 0) { - std::cout << "client send data" << std::endl; - auto send_size = size < rest ? size : rest; - as::write(s, as::buffer(&send_data[index], send_size)); - rest -= send_size; - index += send_size; - std::cout << "client wait" << std::endl; - std::this_thread::sleep_for(std::chrono::seconds(1)); - } - } - ); - - cli.join(); - std::cout << "client joinded" << std::endl; - srv.join(); - std::cout << "server joinded" << std::endl; -} diff --git a/keyvi/3rdparty/msgpack-c/example/x3/unpack.cpp b/keyvi/3rdparty/msgpack-c/example/x3/unpack.cpp deleted file mode 100644 index 8200c6637..000000000 --- a/keyvi/3rdparty/msgpack-c/example/x3/unpack.cpp +++ /dev/null @@ -1,43 +0,0 @@ -// MessagePack for C++ example -// -// 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) -// - -#include -#include -#include - -// MSGPACK_USE_X3_PARSE should be defined before including msgpack.hpp -// It usually defined as a compiler option as -DMSGPACK_USE_X3_PARSE. - -#include - -int main() { - std::stringstream ss; - std::map> v1 { - { "ABC", { 1, 2, 3 } }, - { "DEFG", { 4, 5 } } - }; - std::vector v2 { - "HIJ", "KLM", "NOP" - }; - msgpack::pack(ss, v1); - msgpack::pack(ss, v2); - - std::string const& buf = ss.str(); - auto it = buf.begin(); - auto end = buf.end(); - { - auto oh = msgpack::unpack(it, end); - // it is updated here. - assert(v1 == (oh.get().as>>())); - } - { - auto oh = msgpack::unpack(it, end); - assert(v2 == oh.get().as>()); - } -} diff --git a/keyvi/3rdparty/msgpack-c/fuzz/CMakeLists.txt b/keyvi/3rdparty/msgpack-c/fuzz/CMakeLists.txt deleted file mode 100644 index 4ba2dabe8..000000000 --- a/keyvi/3rdparty/msgpack-c/fuzz/CMakeLists.txt +++ /dev/null @@ -1,43 +0,0 @@ -FIND_PACKAGE (GTest REQUIRED) -FIND_PACKAGE (ZLIB REQUIRED) -FIND_PACKAGE (Boost REQUIRED COMPONENTS system filesystem) - -INCLUDE_DIRECTORIES ( - ${GTEST_INCLUDE_DIRS} - ${ZLIB_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} -) - -LIST (APPEND check_PROGRAMS - regression_runner.cpp -) - -LINK_DIRECTORIES ( - ${Boost_LIBRARY_DIRS} -) - -FOREACH (source_file ${check_PROGRAMS}) - GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE) - ADD_EXECUTABLE ( - ${source_file_we} - ${source_file} - ) - TARGET_LINK_LIBRARIES (${source_file_we} - msgpackcxx - ${GTEST_BOTH_LIBRARIES} - ${ZLIB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ${Boost_LIBRARIES} - ) - ADD_TEST (${source_file_we} ${source_file_we}) - IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Wno-mismatched-tags -g") - IF ("${MSGPACK_SAN}" STREQUAL "ASAN") - SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-omit-frame-pointer -fsanitize=address") - SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer -fsanitize=address") - ELSEIF ("${MSGPACK_SAN}" STREQUAL "UBSAN") - SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=undefined") - SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined") - ENDIF() - ENDIF() -ENDFOREACH () diff --git a/keyvi/3rdparty/msgpack-c/fuzz/regression_runner.cpp b/keyvi/3rdparty/msgpack-c/fuzz/regression_runner.cpp deleted file mode 100644 index 7b67222cb..000000000 --- a/keyvi/3rdparty/msgpack-c/fuzz/regression_runner.cpp +++ /dev/null @@ -1,50 +0,0 @@ -#include -#include - -#include -#include -#include - -#include "unpack_pack_fuzzer.cpp" - -using ::testing::TestWithParam; -using ::testing::ValuesIn; - - -std::vector ListDirectory(const std::string& path) { - std::vector v; - - boost::filesystem::path p(path); - boost::filesystem::directory_iterator f{p}; - - if(boost::filesystem::is_directory(p)) { - while (f != boost::filesystem::directory_iterator{}) { - v.push_back((*f++).path().string()); - } - } - return v; -} - -class UnpackPackFuzzerRegressionTest : public ::testing::TestWithParam { -public: -}; - -TEST_P(UnpackPackFuzzerRegressionTest, Returns0) { - auto fpath = GetParam(); - std::ifstream in(fpath, std::ifstream::binary); - if (!in) { - FAIL() << fpath << " not found"; - } - in.seekg(0, in.end); - size_t length = in.tellg(); - in.seekg(0, in.beg); - std::vector bytes(length); - in.read(bytes.data(), bytes.size()); - assert(in); - EXPECT_EQ(0, LLVMFuzzerTestOneInput(reinterpret_cast(bytes.data()), - bytes.size())); -} - -INSTANTIATE_TEST_CASE_P(UnpackPackFuzzerRegressions, - UnpackPackFuzzerRegressionTest, - ::testing::ValuesIn(ListDirectory("../../fuzz/unpack_pack_fuzzer_regressions"))); diff --git a/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer.cpp b/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer.cpp deleted file mode 100644 index c0467610d..000000000 --- a/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include - -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(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; -} diff --git a/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-5656982724804608 b/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-5656982724804608 deleted file mode 100644 index a76a19edc0023cbe827845991a60bd7670ceb38e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158105 zcmeI5*^=DE5{At+hroCk76*ngL2$=wfLH7TcnQG4VuSa6yPFp{7biL+j$dpZ=%DVg zq$-svTUn_dbukw~vVE%8J`1tW z$XPij=jFl*K4dnuK`{6I5g4=+_@HTQtdNhzhin|<;Ud+UpR-!KFA(X?X&#%r)|=1q+Da#GDqQ{^H?dq#W3n8BbE&uWLIU$6&z z#a&62({6p!ruaRoH!z=r^&K_nDCc0eWLP%n6O!=63V8McQpAE`eEWn^|iylgepMcX?Y(c$f>!zmK+jRoi#^ z6!?f`0+tD~Nr&VHJ+(Q4oWUy2(Y%0+iFFNw`7iV^b7SUa#^&t{pa*)O2YOlsvKiqJ ztbx{dFf3nlYxLkUtwxIZM%Eq6B^`V>1(V@Oa?1|kVK`?vw-6Jyg&ydEo{$L3HuOLb z^jL@q+gj=QZ^3QKOsqr2P21M+l-xy5cuXM)8*fl}=H1SA_eia=upkgTTwsHrenH*} zQ;}&qn+RA=%jn33Gh8@RTLXGH4RB7kZ!vdaTsc z?V$&HHk+QTgINH-TvJ~Et+Zl=wHCwtH|sQ3STkC(!g}~tSm#eV558>bL_W)il8rlu zh?7_Y@)AB8+-N1gi#DiKm;{f(xKgefq8#(O;_7<^~w$332>NT<@BtiHn* z#5h$c6~6O2XB?OmF)8XeO5JtZ?TBOlKUG^xr85p-5B3LWwBCSBpkXwPVGNdaJ=RSWF1(x??vUCq0eo#G1**&P|AD{@t?t?2njm4`;| zt?J7Blf8z`x)|*l?RA62wT$+$9>E^i2VxjD8SS^*AAw}FXS7$?ai(8Jdq#W3T}hSG zZmi@dik1~P;{f(xZ!w6fG-o#sTcX-eNqb-N4== zw$j!a2e1cw#a&62({5m&C|XwFj04z%y~TJ=yMet$Y^AL;4qy-Vio233r`^ClQM9bU z83(WjdyDa$b_08h*h*Vx9Kasz6?Y|7PP>79qG(xxGY()6_7>wg?FRN1v6Z&YIDkFa zEAC3FoOT2IMA5PWXB@yD>@CJ~+70Y2Vk>Q(aR7U;SKO6UIqe4aiK1l%&NzTQ*jtR} zv>Vu4#8%om;{f(xued9za@q~-6Gh7koN)kqu(ue`X*aO9h^@4B#sTcXUU64a<+K~v zCyJI8IO72JU~e&=({5mI5nE~Nj04z%z2dH<%4s*SPZTXHaK-`b!QNs#r`^EbBDT`j z83(Wjd&ONzmD6rupD0>Z;EV&7=kzHx zTf|n{I^zKLV6V6=Q-H3Y>8Od$6|{&uKTXw}`E@b;beg!CrA!QsuN8*e8mX z6*%Jn_F!)@p3`n%ZxLH*>x=`~gT3Oeq{?YGuul{%D{#gE?7`k*Jg42j-XgZr))@z| z2Yba`NtM%XV4o;jR^W^S*n_>rcuu>4y+v%Ltuqc_5B7??k}9X&z&=s5tiTxuum^jK z@tk%8dyCjgTW1`=9_$r&B~?zlfqkNAS%EVSU=Q{d<2mgH_7<^~w$3@8v|ZJludd$3pBl~g(H2KI@fWd+VSfIZk-jOVl)*jvO_ z+B)L^_F%8LE2(nY4eS#|%L<%v0DG{v7|&@pu(yb|uB6IoH?U6>Eh})w0qnuvVmznaCcu76-k0O@fynRj zhx{ow<(9lB6e0*_00c6_`enrva!D@FX2D4Fm;5calt$y zb35sU#6n^rv2>u=-vtfO01eQP`~?t9sF+Z70NIF9qtoXRc7y9oVqEsGI=Lfv<(}M^ z2l7xJ$zypUPvx0BmlyIfD_GpC=nXE)_wy^7s5(jLM-TJOri$7f;>+Z-Pfqj#H z!5-{m?)1HgO8Y1S_PV@-Yn^cbd$1quwW^`hZeVW_TWRZz1K5MT;;y91X}3wSPd-ey zVC0jE?&0J8p-RTD8on2vCCaz*ot%-ga!$_6g_V5Fy}i9|-{wW%eAO+T?+^X#nH3_E z*3n8@EEbNjwAlw@TLzM?7FvdCA8uf~oq)x{VfqeRo1SzY!D1nch1&yf%LaR}j}*x6 ztYlW6dpAb=NSUl0jP{XEr8`-D8STNo%v4hitZHwk>QuPaqjqq%Np@qBug7w5tuy_y z+;+5<+Xnk8)6i)*u+QjfEq2D?&|^P9At;Nnb9Qs*C`c!njIJ9~!Xz#Qe*aupAHl1+*d)5>z_H)_|>@8v|ZJlud zd$3pBl~g(H2KI@fWd+VSfIZk-jOVl)*jvO_+B)L^_F%8LE2(nY4eaZuLah9LpQ*lr zN-Pr=Ox3BS--|WBX>zLhEvN7`MC2G+-kLmwx$v$>O^;Es!lP>V3xrwgINaOZ;=Vf zgk(Z8A(@a&NG2o`k_pL#WI{3_nUG9KCL|M*3CVBonSrCTzb;p6XlV zwg>7K-8(MLwJHOjENU zNiMJa_UpC>>Q+zpgzlYGHESyi)EjB|UrCIP_(8WMy8WpQv$|E_0lC&W;=$%00AKRB zpf)-Lmzl#F%^V;Xa)ab_ptDxIhxhQ_nm!^R2+XTDuV?ee@2u04cj(?txg{%EOdu_j zmIJ()5|H;~n-%h_tg$p%fkg}!F<8WCa0oX*12jM*B%;{{4bT9M28VD1G(ZD1LL!=N z&;Sk4XmAKOK*Ns4RGM+C0=Ft~tHMavDt4}`gDu#CE!bM0+klv5g!9y3dn#dqE~J}N zb!zFj)pS)Z%HlWnM$B@}v6GGLwd4Dbf4(Dk<(}M^2l7xJ$zypUPvx0BmlyIfD`fm0 z(Ho5W$*xHCJ*`}i-*3FVO^O4*;k)EIo~&B~e@^nm^Tw~6WVgO61e*`C*a&3Z9r=@i zeUpB{9_(Z8^u376@J>}m`;n8>O5*_bV6Pi2t_Ay8k6;h%12GJnQ_ZK6`c&h4uQ zUvO@p^QJTXGTJlR=d9IN?z9`{_I;ujlsV%7_F%u%b$Be2C@V+l&9lrXhw01u(a7`P zNcLnW>+@l8U}#}zNj#+#IPEs+j8gen`&DZR?$Tao8iXqmi=Qt(BWLBDoRJgP#>l9P4`hd=k+81^aK06aWAK diff --git a/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyArray b/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyArray deleted file mode 100644 index 9e99dd5ec..000000000 --- a/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyArray +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyObject b/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyObject deleted file mode 100644 index 5416677bc..000000000 --- a/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyObject +++ /dev/null @@ -1 +0,0 @@ -€ \ No newline at end of file diff --git a/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/ExcessiveNesting b/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/ExcessiveNesting deleted file mode 100644 index 4800f04b0..000000000 --- a/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/ExcessiveNesting +++ /dev/null @@ -1,2 +0,0 @@ -’’’’’’’’’ ’ -’ ’ ’ ’’’’’’’’’’’’’’’’’’’ ’!’"’#’$’%’&’'’(’)’*’+’,’-’.’/’0’1’2’3’4’5’6’7’8’9’:’;’<’=’>’?’@’A’B’C’D’E’F’G’H’I’J’K’L’M’N’O’P’Q’R’S’T’U’V’W’X’Y’Z’[’\’]’^’_’`’a’b’c’d’e’f’g’h’i’j’k’l’m’n’o’p’q’r’s’t’u’v’w‘x \ No newline at end of file diff --git a/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/OpenWeatherMap b/keyvi/3rdparty/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/OpenWeatherMap deleted file mode 100644 index 05b87929025cc37123c81fbc33d26f6134dff6ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmZwDF-QY36b9f{9Yn`E>*C-dba8Ny77>eJ7Zofnl3vm_aF?WcIqP++sFOJ8;3PH#B%~=v&-nN_y?WVi#NnMDSbOX$oGGxuJCHd;#}fAZ6g)tR~`%36U|p`a~9q|=$EktVN4kT2|%H^ z3AAy%Zcz-X9|S^1Tf36PQigT%xpI-P$UOx~^qHP@jy f`dS=y?5Acnr%Zz~-0FZJ1c$lr)L^v5@$=IUg5w7-sLBk+_WnNV_8SXA-BC5RI}bE7+E5L$?wa%N>vHQEZQy88^+IfW08D zoZv*;WZNc9+fXD99QXkhKcE+W3$Mo^abYR=G#bym^Um`%Uti;#bCODz?Fqv7JxN*m z#~aRhL_F!z)F%fnKH6$eV}`xhl`q_wrQvluA)I1Qf69d0PD2tC@pGjBEW)bNH$zP2 z;P##Fr<-lGg0_gq(Q_|_fe$hFv*O29)kMk5+hG`+wS+krq zvyN5_$1u*JZGt@^-JHj_^+?KWP1pPVzShqHY#wsx-`6lp^qsEWY3qQIyTC|`WD-yM zKnsp&94ltdh>$daJNaK${sh3;B;x>c&I#~1vR1WK`_d=BFrI@AaV10gYF(FpGp4LCeLxl|0vEI`&#ROJFXdw-*d@8co8!W{4 ztrFk#pDLT(nF2Yrmol2v9nF}3W2F^0^^&S!j$hDhv|2X}^R;4|&hOZ=8m*>N%I&Dr zzE5To1yI89o7;t&L}m*45HTCC-bT_-5UH`+N9) znC??S_h<|$=Jt}I+0@L7g{>q6r+@fIZ|O&)&+KM*4x(#$O>t|;jn1>s+#+d zMCA6}r;u-GC-aL?LM$z^kU%EZPy?b6ZEqsr@o4AyVPjT#Wfm07ss;ZR5B99md#Ugv zWXw1z5__MxQJzpAxH@h&-utCmr)ccIBHAt^x_ZPM?}h)6GT_zHQm-du5>X);AE+FA zc8^i?`9j^JJOhR6OLgkS>!CMw%h4ZuG#)%DOR6W}6oNg2R3tAiB;ko*K^NX`ipl*i o%3lfXWmNZdwNsTl*(Y3pJ&p~{JPp9KAT{yT7<2?!!n}C!C+V;pFaQ7m diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack.hpp deleted file mode 100644 index 74ae1f663..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack.hpp +++ /dev/null @@ -1,22 +0,0 @@ -// -// MessagePack for C++ -// -// Copyright (C) 2008-2009 FURUHASHI Sadayuki -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#include "msgpack/object.hpp" -#include "msgpack/iterator.hpp" -#include "msgpack/zone.hpp" -#include "msgpack/pack.hpp" -#include "msgpack/null_visitor.hpp" -#include "msgpack/parse.hpp" -#include "msgpack/unpack.hpp" -#include "msgpack/x3_parse.hpp" -#include "msgpack/x3_unpack.hpp" -#include "msgpack/sbuffer.hpp" -#include "msgpack/vrefbuffer.hpp" -#include "msgpack/version.hpp" -#include "msgpack/type.hpp" diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/adaptor_base.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/adaptor_base.hpp deleted file mode 100644 index 4cf4fd445..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/adaptor_base.hpp +++ /dev/null @@ -1,19 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015-2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_ADAPTOR_BASE_HPP -#define MSGPACK_ADAPTOR_BASE_HPP - -#include "msgpack/adaptor/adaptor_base_decl.hpp" - -#include "msgpack/v1/adaptor/adaptor_base.hpp" -#include "msgpack/v2/adaptor/adaptor_base.hpp" -#include "msgpack/v3/adaptor/adaptor_base.hpp" - -#endif // MSGPACK_ADAPTOR_BASE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/adaptor_base_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/adaptor_base_decl.hpp deleted file mode 100644 index 753cfb91e..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/adaptor_base_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_ADAPTOR_BASE_DECL_HPP -#define MSGPACK_ADAPTOR_BASE_DECL_HPP - -#include "msgpack/v1/adaptor/adaptor_base_decl.hpp" -#include "msgpack/v2/adaptor/adaptor_base_decl.hpp" -#include "msgpack/v3/adaptor/adaptor_base_decl.hpp" - -#endif // MSGPACK_ADAPTOR_BASE_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/array_ref.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/array_ref.hpp deleted file mode 100644 index 2a3f61fbf..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/array_ref.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_ARRAY_REF_HPP -#define MSGPACK_TYPE_ARRAY_REF_HPP - -#include "msgpack/adaptor/array_ref_decl.hpp" - -#include "msgpack/v1/adaptor/array_ref.hpp" - -#endif // MSGPACK_TYPE_ARRAY_REFL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/array_ref_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/array_ref_decl.hpp deleted file mode 100644 index 43eaa98d7..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/array_ref_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_ARRAY_REF_DECL_HPP -#define MSGPACK_TYPE_ARRAY_REF_DECL_HPP - -#include "msgpack/v1/adaptor/array_ref_decl.hpp" -#include "msgpack/v2/adaptor/array_ref_decl.hpp" -#include "msgpack/v3/adaptor/array_ref_decl.hpp" - -#endif // MSGPACK_TYPE_ARRAY_REF_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/bool.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/bool.hpp deleted file mode 100644 index f904fb98f..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/bool.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_BOOL_HPP -#define MSGPACK_TYPE_BOOL_HPP - -#include "msgpack/v1/adaptor/bool.hpp" - -#endif // MSGPACK_TYPE_BOOL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/fusion.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/fusion.hpp deleted file mode 100644 index c6191f139..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/fusion.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_BOOST_FUSION_HPP -#define MSGPACK_TYPE_BOOST_FUSION_HPP - -#include "msgpack/v1/adaptor/boost/fusion.hpp" - -#endif // MSGPACK_TYPE_BOOST_FUSION_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant.hpp deleted file mode 100644 index b20f1ac93..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015-2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_BOOST_MSGPACK_VARIANT_HPP -#define MSGPACK_TYPE_BOOST_MSGPACK_VARIANT_HPP - -#include "msgpack/adaptor/boost/msgpack_variant_decl.hpp" - -#include "msgpack/v1/adaptor/boost/msgpack_variant.hpp" -//#include "msgpack/v2/adaptor/boost/msgpack_variant.hpp" - -#endif // MSGPACK_TYPE_BOOST_MSGPACK_VARIANT_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp deleted file mode 100644 index ada6c913b..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP -#define MSGPACK_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP - -#include "msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp" -#include "msgpack/v2/adaptor/boost/msgpack_variant_decl.hpp" -#include "msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp" - -#endif // MSGPACK_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/optional.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/optional.hpp deleted file mode 100644 index e4b53cebf..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/optional.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_BOOST_OPTIONAL_HPP -#define MSGPACK_TYPE_BOOST_OPTIONAL_HPP - -#include "msgpack/v1/adaptor/boost/optional.hpp" - -#endif // MSGPACK_TYPE_BOOST_OPTIONAL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/string_ref.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/string_ref.hpp deleted file mode 100644 index 43bf70f45..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/string_ref.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_BOOST_STRING_REF_HPP -#define MSGPACK_TYPE_BOOST_STRING_REF_HPP - -#include "msgpack/v1/adaptor/boost/string_ref.hpp" - -#endif // MSGPACK_TYPE_BOOST_STRING_REF_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/string_view.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/string_view.hpp deleted file mode 100644 index ccf272cf1..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/boost/string_view.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2017 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_BOOST_STRING_VIEW_HPP -#define MSGPACK_TYPE_BOOST_STRING_VIEW_HPP - -#include "msgpack/v1/adaptor/boost/string_view.hpp" - -#endif // MSGPACK_TYPE_BOOST_STRING_VIEW_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/carray.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/carray.hpp deleted file mode 100644 index b1caf53d5..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/carray.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_CARRAY_HPP -#define MSGPACK_TYPE_CARRAY_HPP - -#include "msgpack/v1/adaptor/carray.hpp" - -#endif // MSGPACK_TYPE_CARRAY_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/char_ptr.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/char_ptr.hpp deleted file mode 100644 index 71cce6ccf..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/char_ptr.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_CHAR_PTR_HPP -#define MSGPACK_TYPE_CHAR_PTR_HPP - -#include "msgpack/v1/adaptor/char_ptr.hpp" - -#endif // MSGPACK_TYPE_CHAR_PTR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/check_container_size.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/check_container_size.hpp deleted file mode 100644 index a464419fc..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/check_container_size.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015-2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_CHECK_CONTAINER_SIZE_HPP -#define MSGPACK_CHECK_CONTAINER_SIZE_HPP - -#include "msgpack/adaptor/check_container_size_decl.hpp" - -#include "msgpack/v1/adaptor/check_container_size.hpp" - -#endif // MSGPACK_CHECK_CONTAINER_SIZE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/check_container_size_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/check_container_size_decl.hpp deleted file mode 100644 index e61334af7..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/check_container_size_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_CHECK_CONTAINER_SIZE_DECL_HPP -#define MSGPACK_CHECK_CONTAINER_SIZE_DECL_HPP - -#include "msgpack/v1/adaptor/check_container_size_decl.hpp" -#include "msgpack/v2/adaptor/check_container_size_decl.hpp" -#include "msgpack/v3/adaptor/check_container_size_decl.hpp" - -#endif // MSGPACK_CHECK_CONTAINER_SIZE_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/complex.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/complex.hpp deleted file mode 100644 index 34d578e99..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/complex.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2020 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_COMPLEX_HPP -#define MSGPACK_TYPE_COMPLEX_HPP - -#include "msgpack/v1/adaptor/complex.hpp" - -#endif // MSGPACK_TYPE_COMPLEX_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/array.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/array.hpp deleted file mode 100644 index fdc49022f..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/array.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP11_ARRAY_HPP -#define MSGPACK_TYPE_CPP11_ARRAY_HPP - -#include "msgpack/v1/adaptor/cpp11/array.hpp" - -#endif // MSGPACK_TYPE_CPP11_ARRAY_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/array_char.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/array_char.hpp deleted file mode 100644 index 8a9bc6dfe..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/array_char.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP11_ARRAY_CHAR_HPP -#define MSGPACK_TYPE_CPP11_ARRAY_CHAR_HPP - -#include "msgpack/v1/adaptor/cpp11/array_char.hpp" - -#endif // MSGPACK_TYPE_CPP11_ARRAY_CHAR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/array_unsigned_char.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/array_unsigned_char.hpp deleted file mode 100644 index 0860a88af..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/array_unsigned_char.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP11_ARRAY_UNSIGNED_CHAR_HPP -#define MSGPACK_TYPE_CPP11_ARRAY_UNSIGNED_CHAR_HPP - -#include "msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp" - -#endif // MSGPACK_TYPE_CPP11_ARRAY_UNSIGNED_CHAR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/chrono.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/chrono.hpp deleted file mode 100644 index 48d939745..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/chrono.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2017 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP11_CHRONO_HPP -#define MSGPACK_TYPE_CPP11_CHRONO_HPP - -#include "msgpack/v1/adaptor/cpp11/chrono.hpp" - -#endif // MSGPACK_TYPE_CPP11_CHRONO_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/forward_list.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/forward_list.hpp deleted file mode 100644 index 27ac9c0d1..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/forward_list.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP11_FORWARD_LIST_HPP -#define MSGPACK_TYPE_CPP11_FORWARD_LIST_HPP - -#include "msgpack/v1/adaptor/cpp11/forward_list.hpp" - -#endif // MSGPACK_TYPE_CPP11_FORWARD_LIST_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/reference_wrapper.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/reference_wrapper.hpp deleted file mode 100644 index 6b09429c5..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/reference_wrapper.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP11_REFERENCE_WRAPPER_HPP -#define MSGPACK_TYPE_CPP11_REFERENCE_WRAPPER_HPP - -#include "msgpack/v1/adaptor/cpp11/reference_wrapper.hpp" - -#endif // MSGPACK_TYPE_CPP11_REFERENCE_WRAPPER_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/shared_ptr.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/shared_ptr.hpp deleted file mode 100644 index 2199a499d..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/shared_ptr.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP11_SHARED_PTR_HPP -#define MSGPACK_TYPE_CPP11_SHARED_PTR_HPP - -#include "msgpack/v1/adaptor/cpp11/shared_ptr.hpp" - -#endif // MSGPACK_TYPE_CPP11_SHARED_PTR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/timespec.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/timespec.hpp deleted file mode 100644 index 23652ce66..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/timespec.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2019 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP11_TIMESPEC_HPP -#define MSGPACK_TYPE_CPP11_TIMESPEC_HPP - -#include "msgpack/v1/adaptor/cpp11/timespec.hpp" - -#endif // MSGPACK_TYPE_CPP11_TIMESPEC_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/tuple.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/tuple.hpp deleted file mode 100644 index b833c2a26..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/tuple.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP11_TUPLE_HPP -#define MSGPACK_TYPE_CPP11_TUPLE_HPP - -#include "msgpack/v1/adaptor/cpp11/tuple.hpp" - -#endif // MSGPACK_TYPE_CPP11_TUPLE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/unique_ptr.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/unique_ptr.hpp deleted file mode 100644 index ef1001283..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/unique_ptr.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP11_UNIQUE_PTR_HPP -#define MSGPACK_TYPE_CPP11_UNIQUE_PTR_HPP - -#include "msgpack/v1/adaptor/cpp11/unique_ptr.hpp" - -#endif // MSGPACK_TYPE_CPP11_UNIQUE_PTR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/unordered_map.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/unordered_map.hpp deleted file mode 100644 index dadbf2e25..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/unordered_map.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP11_UNORDERED_MAP_HPP -#define MSGPACK_TYPE_CPP11_UNORDERED_MAP_HPP - -#include "msgpack/v1/adaptor/cpp11/unordered_map.hpp" - -#endif // MSGPACK_TYPE_CPP11_UNORDERED_MAP_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/unordered_set.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/unordered_set.hpp deleted file mode 100644 index f2e586211..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp11/unordered_set.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP11_UNORDERED_SET_HPP -#define MSGPACK_TYPE_CPP11_UNORDERED_SET_HPP - -#include "msgpack/v1/adaptor/cpp11/unordered_set.hpp" - -#endif // MSGPACK_TYPE_CPP11_UNORDERED_SET_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/byte.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/byte.hpp deleted file mode 100644 index eebaa9603..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/byte.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2018 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP17_BYTE_HPP -#define MSGPACK_TYPE_CPP17_BYTE_HPP - -#include "msgpack/v1/adaptor/cpp17/byte.hpp" - -#endif // MSGPACK_TYPE_CPP17_BYTE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/carray_byte.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/carray_byte.hpp deleted file mode 100644 index c41bccac7..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/carray_byte.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2018 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP17_CARRAY_BYTE_HPP -#define MSGPACK_TYPE_CPP17_CARRAY_BYTE_HPP - -#include "msgpack/v1/adaptor/cpp17/carray_byte.hpp" - -#endif // MSGPACK_TYPE_CPP17_CARRAY_BYTE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/optional.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/optional.hpp deleted file mode 100644 index 5df17d9f4..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/optional.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2017 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP17_OPTIONAL_HPP -#define MSGPACK_TYPE_CPP17_OPTIONAL_HPP - -#include "msgpack/v1/adaptor/cpp17/optional.hpp" - -#endif // MSGPACK_TYPE_CPP17_OPTIONAL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/string_view.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/string_view.hpp deleted file mode 100644 index 3f77e1bb1..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/string_view.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2017 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP17_STRING_VIEW_HPP -#define MSGPACK_TYPE_CPP17_STRING_VIEW_HPP - -#include "msgpack/v1/adaptor/cpp17/string_view.hpp" - -#endif // MSGPACK_TYPE_CPP17_STRING_VIEW_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/vector_byte.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/vector_byte.hpp deleted file mode 100644 index 8c5e6230a..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/cpp17/vector_byte.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2018 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_TYPE_CPP17_VECTOR_BYTE_HPP -#define MSGPACK_TYPE_CPP17_VECTOR_BYTE_HPP - -#include "msgpack/v1/adaptor/cpp17/vector_byte.hpp" - -#endif // MSGPACK_TYPE_CPP17_VECTOR_BYTE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/define.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/define.hpp deleted file mode 100644 index 159910082..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/define.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_DEFINE_HPP -#define MSGPACK_DEFINE_HPP - -#include "msgpack/adaptor/define_decl.hpp" - -#include "msgpack/v1/adaptor/define.hpp" - -#endif // MSGPACK_DEFINE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/define_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/define_decl.hpp deleted file mode 100644 index 89b962e12..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/define_decl.hpp +++ /dev/null @@ -1,144 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_DEFINE_DECL_HPP -#define MSGPACK_DEFINE_DECL_HPP - -// BOOST_PP_VARIADICS is defined in boost/preprocessor/config/config.hpp -// http://www.boost.org/libs/preprocessor/doc/ref/variadics.html -// However, supporting compiler detection is not complete. msgpack-c requires -// variadic macro arguments support. So BOOST_PP_VARIADICS is defined here explicitly. -#if !defined(BOOST_PP_VARIADICS) -#define BOOST_PP_VARIADICS -#endif - -#include - -#include "msgpack/versioning.hpp" - -// for MSGPACK_ADD_ENUM -#include "msgpack/adaptor/int.hpp" - -#define MSGPACK_DEFINE_ARRAY(...) \ - template \ - void msgpack_pack(Packer& msgpack_pk) const \ - { \ - msgpack::type::make_define_array(__VA_ARGS__).msgpack_pack(msgpack_pk); \ - } \ - void msgpack_unpack(msgpack::object const& msgpack_o) \ - { \ - msgpack::type::make_define_array(__VA_ARGS__).msgpack_unpack(msgpack_o); \ - }\ - template \ - void msgpack_object(MSGPACK_OBJECT* msgpack_o, msgpack::zone& msgpack_z) const \ - { \ - msgpack::type::make_define_array(__VA_ARGS__).msgpack_object(msgpack_o, msgpack_z); \ - } - -#define MSGPACK_BASE_ARRAY(base) (*const_cast(static_cast(this))) -#define MSGPACK_NVP(name, value) (name) (value) - -#define MSGPACK_DEFINE_MAP_EACH_PROC(r, data, elem) \ - BOOST_PP_IF( \ - BOOST_PP_IS_BEGIN_PARENS(elem), \ - elem, \ - (BOOST_PP_STRINGIZE(elem))(elem) \ - ) - -#define MSGPACK_DEFINE_MAP_IMPL(...) \ - BOOST_PP_SEQ_TO_TUPLE( \ - BOOST_PP_SEQ_FOR_EACH( \ - MSGPACK_DEFINE_MAP_EACH_PROC, \ - 0, \ - BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__) \ - ) \ - ) - -#define MSGPACK_DEFINE_MAP(...) \ - template \ - void msgpack_pack(Packer& msgpack_pk) const \ - { \ - msgpack::type::make_define_map \ - MSGPACK_DEFINE_MAP_IMPL(__VA_ARGS__) \ - .msgpack_pack(msgpack_pk); \ - } \ - void msgpack_unpack(msgpack::object const& msgpack_o) \ - { \ - msgpack::type::make_define_map \ - MSGPACK_DEFINE_MAP_IMPL(__VA_ARGS__) \ - .msgpack_unpack(msgpack_o); \ - }\ - template \ - void msgpack_object(MSGPACK_OBJECT* msgpack_o, msgpack::zone& msgpack_z) const \ - { \ - msgpack::type::make_define_map \ - MSGPACK_DEFINE_MAP_IMPL(__VA_ARGS__) \ - .msgpack_object(msgpack_o, msgpack_z); \ - } - -#define MSGPACK_BASE_MAP(base) \ - (BOOST_PP_STRINGIZE(base))(*const_cast(static_cast(this))) - -// MSGPACK_ADD_ENUM must be used in the global namespace. -#define MSGPACK_ADD_ENUM(enum_name) \ - namespace msgpack { \ - /** @cond */ \ - MSGPACK_API_VERSION_NAMESPACE(MSGPACK_DEFAULT_API_NS) { \ - /** @endcond */ \ - namespace adaptor { \ - template<> \ - struct convert { \ - msgpack::object const& operator()(msgpack::object const& msgpack_o, enum_name& msgpack_v) const { \ - msgpack::underlying_type::type tmp; \ - msgpack::operator>>(msgpack_o, tmp); \ - msgpack_v = static_cast(tmp); \ - return msgpack_o; \ - } \ - }; \ - template<> \ - struct object { \ - void operator()(msgpack::object& msgpack_o, const enum_name& msgpack_v) const { \ - msgpack::underlying_type::type tmp = static_cast::type>(msgpack_v); \ - msgpack::operator<<(msgpack_o, tmp); \ - } \ - }; \ - template<> \ - struct object_with_zone { \ - void operator()(msgpack::object::with_zone& msgpack_o, const enum_name& msgpack_v) const { \ - msgpack::underlying_type::type tmp = static_cast::type>(msgpack_v); \ - msgpack::operator<<(msgpack_o, tmp); \ - } \ - }; \ - template <> \ - struct pack { \ - template \ - msgpack::packer& operator()(msgpack::packer& msgpack_o, const enum_name& msgpack_v) const { \ - return msgpack::operator<<(msgpack_o, static_cast::type>(msgpack_v)); \ - } \ - }; \ - } \ - /** @cond */ \ - } \ - /** @endcond */ \ - } - -#if defined(MSGPACK_USE_DEFINE_MAP) -#define MSGPACK_DEFINE MSGPACK_DEFINE_MAP -#define MSGPACK_BASE MSGPACK_BASE_MAP -#else // defined(MSGPACK_USE_DEFINE_MAP) -#define MSGPACK_DEFINE MSGPACK_DEFINE_ARRAY -#define MSGPACK_BASE MSGPACK_BASE_ARRAY -#endif // defined(MSGPACK_USE_DEFINE_MAP) - - -#include "msgpack/v1/adaptor/define_decl.hpp" -#include "msgpack/v2/adaptor/define_decl.hpp" -#include "msgpack/v3/adaptor/define_decl.hpp" - -#endif // MSGPACK_DEFINE_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/deque.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/deque.hpp deleted file mode 100644 index dfb61b6bf..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/deque.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_DEQUE_HPP -#define MSGPACK_TYPE_DEQUE_HPP - -#include "msgpack/v1/adaptor/deque.hpp" - -#endif // MSGPACK_TYPE_DEQUE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/ext.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/ext.hpp deleted file mode 100644 index 37658dc9d..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/ext.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_EXT_HPP -#define MSGPACK_TYPE_EXT_HPP - -#include "msgpack/adaptor/ext_decl.hpp" - -#include "msgpack/v1/adaptor/ext.hpp" - -#endif // MSGPACK_TYPE_EXT_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/ext_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/ext_decl.hpp deleted file mode 100644 index 7da30427b..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/ext_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_EXT_DECL_HPP -#define MSGPACK_TYPE_EXT_DECL_HPP - -#include "msgpack/v1/adaptor/ext_decl.hpp" -#include "msgpack/v2/adaptor/ext_decl.hpp" -#include "msgpack/v3/adaptor/ext_decl.hpp" - -#endif // MSGPACK_TYPE_EXT_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/fixint.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/fixint.hpp deleted file mode 100644 index 1c49116e2..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/fixint.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_FIXINT_HPP -#define MSGPACK_TYPE_FIXINT_HPP - -#include "msgpack/adaptor/fixint_decl.hpp" - -#include "msgpack/v1/adaptor/fixint.hpp" - -#endif // MSGPACK_TYPE_FIXINT_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/fixint_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/fixint_decl.hpp deleted file mode 100644 index 3e73ded25..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/fixint_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_FIXINT_DECL_HPP -#define MSGPACK_TYPE_FIXINT_DECL_HPP - -#include "msgpack/v1/adaptor/fixint_decl.hpp" -#include "msgpack/v2/adaptor/fixint_decl.hpp" -#include "msgpack/v3/adaptor/fixint_decl.hpp" - -#endif // MSGPACK_TYPE_FIXINT_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/float.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/float.hpp deleted file mode 100644 index 5683c96d5..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/float.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_FLOAT_HPP -#define MSGPACK_TYPE_FLOAT_HPP - -#include "msgpack/v1/adaptor/float.hpp" - -#endif // MSGPACK_TYPE_FLOAT_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/int.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/int.hpp deleted file mode 100644 index e2213e7e3..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/int.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_INT_HPP -#define MSGPACK_TYPE_INT_HPP - -#include "msgpack/adaptor/int_decl.hpp" - -#include "msgpack/v1/adaptor/int.hpp" - -#endif // MSGPACK_TYPE_INT_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/int_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/int_decl.hpp deleted file mode 100644 index f68ef8bc0..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/int_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_INT_DECL_HPP -#define MSGPACK_TYPE_INT_DECL_HPP - -#include "msgpack/v1/adaptor/int_decl.hpp" -#include "msgpack/v2/adaptor/int_decl.hpp" -#include "msgpack/v3/adaptor/int_decl.hpp" - -#endif // MSGPACK_TYPE_INT_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/list.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/list.hpp deleted file mode 100644 index 8761da3a9..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/list.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_LIST_HPP -#define MSGPACK_TYPE_LIST_HPP - -#include "msgpack/v1/adaptor/list.hpp" - -#endif // MSGPACK_TYPE_LIST_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/map.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/map.hpp deleted file mode 100644 index 7f0e22e22..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/map.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_MAP_HPP -#define MSGPACK_TYPE_MAP_HPP - -#include "msgpack/adaptor/map_decl.hpp" - -#include "msgpack/v1/adaptor/map.hpp" - - -#endif // MSGPACK_TYPE_MAP_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/map_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/map_decl.hpp deleted file mode 100644 index 757688ec4..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/map_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_MAP_DECL_HPP -#define MSGPACK_TYPE_MAP_DECL_HPP - -#include "msgpack/v1/adaptor/map_decl.hpp" -#include "msgpack/v2/adaptor/map_decl.hpp" -#include "msgpack/v3/adaptor/map_decl.hpp" - -#endif // MSGPACK_TYPE_MAP_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/msgpack_tuple.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/msgpack_tuple.hpp deleted file mode 100644 index a63927761..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/msgpack_tuple.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2014 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_MSGPACK_TUPLE_HPP -#define MSGPACK_MSGPACK_TUPLE_HPP - -#include "msgpack/adaptor/msgpack_tuple_decl.hpp" - -#include "msgpack/v1/adaptor/msgpack_tuple.hpp" - -#endif // MSGPACK_MSGPACK_TUPLE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/msgpack_tuple_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/msgpack_tuple_decl.hpp deleted file mode 100644 index 0c70b2265..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/msgpack_tuple_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_MSGPACK_TUPLE_DECL_HPP -#define MSGPACK_MSGPACK_TUPLE_DECL_HPP - -#include "msgpack/v1/adaptor/msgpack_tuple_decl.hpp" -#include "msgpack/v2/adaptor/msgpack_tuple_decl.hpp" -#include "msgpack/v3/adaptor/msgpack_tuple_decl.hpp" - -#endif // MSGPACK_MSGPACK_TUPLE_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/nil.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/nil.hpp deleted file mode 100644 index 92f308125..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/nil.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_NIL_HPP -#define MSGPACK_TYPE_NIL_HPP - -#include "msgpack/adaptor/nil_decl.hpp" - -#include "msgpack/v1/adaptor/nil.hpp" - -#endif // MSGPACK_TYPE_NIL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/nil_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/nil_decl.hpp deleted file mode 100644 index d45f45bb9..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/nil_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_NIL_DECL_HPP -#define MSGPACK_TYPE_NIL_DECL_HPP - -#include "msgpack/v1/adaptor/nil_decl.hpp" -#include "msgpack/v2/adaptor/nil_decl.hpp" -#include "msgpack/v3/adaptor/nil_decl.hpp" - -#endif // MSGPACK_TYPE_NIL_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/pair.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/pair.hpp deleted file mode 100644 index 0956aa9a6..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/pair.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_PAIR_HPP -#define MSGPACK_TYPE_PAIR_HPP - -#include "msgpack/v1/adaptor/pair.hpp" - -#endif // MSGPACK_TYPE_PAIR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/raw.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/raw.hpp deleted file mode 100644 index f85f882cc..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/raw.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_RAW_HPP -#define MSGPACK_TYPE_RAW_HPP - -#include "msgpack/adaptor/raw_decl.hpp" - -#include "msgpack/v1/adaptor/raw.hpp" - -#endif // MSGPACK_TYPE_RAW_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/raw_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/raw_decl.hpp deleted file mode 100644 index 60777bddc..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/raw_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_RAW_DECL_HPP -#define MSGPACK_TYPE_RAW_DECL_HPP - -#include "msgpack/v1/adaptor/raw_decl.hpp" -#include "msgpack/v2/adaptor/raw_decl.hpp" -#include "msgpack/v3/adaptor/raw_decl.hpp" - -#endif // MSGPACK_TYPE_RAW_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/set.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/set.hpp deleted file mode 100644 index fbf820aba..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/set.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_SET_HPP -#define MSGPACK_TYPE_SET_HPP - -#include "msgpack/v1/adaptor/set.hpp" - -#endif // MSGPACK_TYPE_SET_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/size_equal_only.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/size_equal_only.hpp deleted file mode 100644 index de9d24731..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/size_equal_only.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_SIZE_EQUAL_ONLY_HPP -#define MSGPACK_TYPE_SIZE_EQUAL_ONLY_HPP - -#include "msgpack/adaptor/size_equal_only_decl.hpp" - -#include "msgpack/v1/adaptor/size_equal_only.hpp" - -#endif // MSGPACK_TYPE_SIZE_EQUAL_ONLYL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/size_equal_only_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/size_equal_only_decl.hpp deleted file mode 100644 index d3e5dcf75..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/size_equal_only_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_SIZE_EQUAL_ONLY_DECL_HPP -#define MSGPACK_TYPE_SIZE_EQUAL_ONLY_DECL_HPP - -#include "msgpack/v1/adaptor/size_equal_only_decl.hpp" -#include "msgpack/v2/adaptor/size_equal_only_decl.hpp" -#include "msgpack/v3/adaptor/size_equal_only_decl.hpp" - -#endif // MSGPACK_TYPE_SIZE_EQUAL_ONLY_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/string.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/string.hpp deleted file mode 100644 index 8e3182548..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/string.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_STRING_HPP -#define MSGPACK_TYPE_STRING_HPP - -#include "msgpack/v1/adaptor/string.hpp" - -#endif // MSGPACK_TYPE_STRING_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/tr1/unordered_map.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/tr1/unordered_map.hpp deleted file mode 100644 index 9c8190e85..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/tr1/unordered_map.hpp +++ /dev/null @@ -1,171 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2015 FURUHASHI Sadayuki -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_TR1_UNORDERED_MAP_HPP -#define MSGPACK_TYPE_TR1_UNORDERED_MAP_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#if defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700) - -#define MSGPACK_HAS_STD_UNORDERED_MAP -#include -#define MSGPACK_STD_TR1 std - -#else // defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700) - -#if __GNUC__ >= 4 - -#define MSGPACK_HAS_STD_TR1_UNORDERED_MAP - -#include -#define MSGPACK_STD_TR1 std::tr1 - -#endif // __GNUC__ >= 4 - -#endif // defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700) - -#if defined(MSGPACK_STD_TR1) - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, MSGPACK_STD_TR1::unordered_map& v) const { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - msgpack::object_kv* p(o.via.map.ptr); - msgpack::object_kv* const pend(o.via.map.ptr + o.via.map.size); - MSGPACK_STD_TR1::unordered_map tmp; - for(; p != pend; ++p) { - K key; - p->key.convert(key); - p->val.convert(tmp[key]); - } - tmp.swap(v); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const MSGPACK_STD_TR1::unordered_map& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_map(size); - for(typename MSGPACK_STD_TR1::unordered_map::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(it->first); - o.pack(it->second); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const MSGPACK_STD_TR1::unordered_map& v) const { - o.type = msgpack::type::MAP; - if(v.empty()) { - o.via.map.ptr = MSGPACK_NULLPTR; - o.via.map.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object_kv* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - msgpack::object_kv* const pend = p + size; - o.via.map.ptr = p; - o.via.map.size = size; - typename MSGPACK_STD_TR1::unordered_map::const_iterator it(v.begin()); - do { - p->key = msgpack::object(it->first, o.zone); - p->val = msgpack::object(it->second, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, MSGPACK_STD_TR1::unordered_multimap& v) const { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - msgpack::object_kv* p(o.via.map.ptr); - msgpack::object_kv* const pend(o.via.map.ptr + o.via.map.size); - MSGPACK_STD_TR1::unordered_multimap tmp; - for(; p != pend; ++p) { - std::pair value; - p->key.convert(value.first); - p->val.convert(value.second); - tmp.insert(value); - } - tmp.swap(v); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const MSGPACK_STD_TR1::unordered_multimap& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_map(size); - for(typename MSGPACK_STD_TR1::unordered_multimap::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(it->first); - o.pack(it->second); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const MSGPACK_STD_TR1::unordered_multimap& v) const { - o.type = msgpack::type::MAP; - if(v.empty()) { - o.via.map.ptr = MSGPACK_NULLPTR; - o.via.map.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object_kv* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - msgpack::object_kv* const pend = p + size; - o.via.map.ptr = p; - o.via.map.size = size; - typename MSGPACK_STD_TR1::unordered_multimap::const_iterator it(v.begin()); - do { - p->key = msgpack::object(it->first, o.zone); - p->val = msgpack::object(it->second, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#undef MSGPACK_STD_TR1 - -#endif // MSGPACK_STD_TR1 - -#endif // MSGPACK_TYPE_TR1_UNORDERED_MAP_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/tr1/unordered_set.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/tr1/unordered_set.hpp deleted file mode 100644 index dd6c0448f..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/tr1/unordered_set.hpp +++ /dev/null @@ -1,165 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2015 FURUHASHI Sadayuki -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_TR1_UNORDERED_SET_HPP -#define MSGPACK_TYPE_TR1_UNORDERED_SET_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#if defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700) - -#define MSGPACK_HAS_STD_UNORDERED_SET -#include -#define MSGPACK_STD_TR1 std - -#else // defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700) - -#if __GNUC__ >= 4 - -#define MSGPACK_HAS_STD_TR1_UNORDERED_SET - -#include -#define MSGPACK_STD_TR1 std::tr1 - -#endif // __GNUC__ >= 4 - -#endif // defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700) - -#if defined(MSGPACK_STD_TR1) - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, MSGPACK_STD_TR1::unordered_set& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - msgpack::object* p = o.via.array.ptr + o.via.array.size; - msgpack::object* const pbegin = o.via.array.ptr; - MSGPACK_STD_TR1::unordered_set tmp; - while(p > pbegin) { - --p; - tmp.insert(p->as()); - } - tmp.swap(v); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const MSGPACK_STD_TR1::unordered_set& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for(typename MSGPACK_STD_TR1::unordered_set::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(*it); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const MSGPACK_STD_TR1::unordered_set& v) const { - o.type = msgpack::type::ARRAY; - if(v.empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - msgpack::object* const pend = p + size; - o.via.array.ptr = p; - o.via.array.size = size; - typename MSGPACK_STD_TR1::unordered_set::const_iterator it(v.begin()); - do { - *p = msgpack::object(*it, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, MSGPACK_STD_TR1::unordered_multiset& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - msgpack::object* p = o.via.array.ptr + o.via.array.size; - msgpack::object* const pbegin = o.via.array.ptr; - MSGPACK_STD_TR1::unordered_multiset tmp; - while(p > pbegin) { - --p; - tmp.insert(p->as()); - } - tmp.swap(v); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const MSGPACK_STD_TR1::unordered_multiset& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for(typename MSGPACK_STD_TR1::unordered_multiset::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(*it); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const MSGPACK_STD_TR1::unordered_multiset& v) const { - o.type = msgpack::type::ARRAY; - if(v.empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - msgpack::object* const pend = p + size; - o.via.array.ptr = p; - o.via.array.size = size; - typename MSGPACK_STD_TR1::unordered_multiset::const_iterator it(v.begin()); - do { - *p = msgpack::object(*it, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#undef MSGPACK_STD_TR1 - -#endif // MSGPACK_STD_TR1 - -#endif // MSGPACK_TYPE_TR1_UNORDERED_SET_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/v4raw.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/v4raw.hpp deleted file mode 100644 index 52c0de37e..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/v4raw.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_V4RAW_HPP -#define MSGPACK_TYPE_V4RAW_HPP - -#include "msgpack/adaptor/v4raw_decl.hpp" - -#include "msgpack/v1/adaptor/v4raw.hpp" - -#endif // MSGPACK_TYPE_V4RAW_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/v4raw_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/v4raw_decl.hpp deleted file mode 100644 index 989351832..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/v4raw_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_V4RAW_DECL_HPP -#define MSGPACK_TYPE_V4RAW_DECL_HPP - -#include "msgpack/v1/adaptor/v4raw_decl.hpp" -#include "msgpack/v2/adaptor/v4raw_decl.hpp" -#include "msgpack/v3/adaptor/v4raw_decl.hpp" - -#endif // MSGPACK_TYPE_V4RAW_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector.hpp deleted file mode 100644 index 5eb6caca0..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_VECTOR_HPP -#define MSGPACK_TYPE_VECTOR_HPP - -#include "msgpack/v1/adaptor/vector.hpp" - -#endif // MSGPACK_TYPE_VECTOR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector_bool.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector_bool.hpp deleted file mode 100644 index f259ac9b8..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector_bool.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_VECTOR_BOOL_HPP -#define MSGPACK_TYPE_VECTOR_BOOL_HPP - -#include "msgpack/v1/adaptor/vector_bool.hpp" - -#endif // MSGPACK_TYPE_VECTOR_BOOL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector_char.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector_char.hpp deleted file mode 100644 index d196efa4d..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector_char.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_VECTOR_CHAR_HPP -#define MSGPACK_TYPE_VECTOR_CHAR_HPP - -#include "msgpack/v1/adaptor/vector_char.hpp" - -#endif // MSGPACK_TYPE_VECTOR_CHAR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector_unsigned_char.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector_unsigned_char.hpp deleted file mode 100644 index e71e0d369..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/vector_unsigned_char.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_VECTOR_UNSIGNED_CHAR_HPP -#define MSGPACK_TYPE_VECTOR_UNSIGNED_CHAR_HPP - -#include "msgpack/v1/adaptor/vector_unsigned_char.hpp" - -#endif // MSGPACK_TYPE_VECTOR_UNSIGNED_CHAR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/wstring.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/wstring.hpp deleted file mode 100644 index 52b59d526..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/adaptor/wstring.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2018 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_WSTRING_HPP -#define MSGPACK_TYPE_WSTRING_HPP - -#include "msgpack/v1/adaptor/wstring.hpp" - -#endif // MSGPACK_TYPE_WSTRING_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/cpp_config.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/cpp_config.hpp deleted file mode 100644 index 0b36d7ef0..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/cpp_config.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ C++03/C++11 Adaptation -// -// Copyright (C) 2013-2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_CPP_CONFIG_HPP -#define MSGPACK_CPP_CONFIG_HPP - -#include "msgpack/cpp_config_decl.hpp" - -#include "msgpack/v1/cpp_config.hpp" - -#endif // MSGPACK_CPP_CONFIG_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/cpp_config_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/cpp_config_decl.hpp deleted file mode 100644 index 332e2a81f..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/cpp_config_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ C++03/C++11 Adaptation -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_CPP_CONFIG_DECL_HPP -#define MSGPACK_CPP_CONFIG_DECL_HPP - -#include "msgpack/v1/cpp_config_decl.hpp" -#include "msgpack/v2/cpp_config_decl.hpp" -#include "msgpack/v3/cpp_config_decl.hpp" - -#endif // MSGPACK_CPP_CONFIG_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/create_object_visitor.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/create_object_visitor.hpp deleted file mode 100644 index 40d69974a..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/create_object_visitor.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// 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 diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/create_object_visitor_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/create_object_visitor_decl.hpp deleted file mode 100644 index 56e81e1bb..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/create_object_visitor_decl.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// 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 diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/fbuffer.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/fbuffer.hpp deleted file mode 100644 index 6d51cd541..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/fbuffer.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ FILE* buffer adaptor -// -// Copyright (C) 2013 Vladimir Volodko -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_FBUFFER_HPP -#define MSGPACK_FBUFFER_HPP - -#include "msgpack/fbuffer_decl.hpp" - -#include "msgpack/v1/fbuffer.hpp" - -#endif // MSGPACK_FBUFFER_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/fbuffer_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/fbuffer_decl.hpp deleted file mode 100644 index d1a5a6a52..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/fbuffer_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ FILE* buffer adaptor -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_FBUFFER_DECL_HPP -#define MSGPACK_FBUFFER_DECL_HPP - -#include "msgpack/v1/fbuffer_decl.hpp" -#include "msgpack/v2/fbuffer_decl.hpp" -#include "msgpack/v3/fbuffer_decl.hpp" - -#endif // MSGPACK_FBUFFER_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/gcc_atomic.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/gcc_atomic.hpp deleted file mode 100644 index 186cf1996..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/gcc_atomic.hpp +++ /dev/null @@ -1,30 +0,0 @@ -// -// MessagePack for C++ old gcc workaround for atomic operation -// -// Copyright (C) 2008-2013 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_GCC_ATOMIC_HPP -#define MSGPACK_GCC_ATOMIC_HPP - -#if defined(__GNUC__) && ((__GNUC__*10 + __GNUC_MINOR__) < 41) - -#include - -int _msgpack_sync_decr_and_fetch(volatile _msgpack_atomic_counter_t* ptr) -{ - return __gnu_cxx::__exchange_and_add(ptr, -1) - 1; -} - -int _msgpack_sync_incr_and_fetch(volatile _msgpack_atomic_counter_t* ptr) -{ - return __gnu_cxx::__exchange_and_add(ptr, 1) + 1; -} - -#endif // old gcc workaround - -#endif /* gcc_atomic.hpp */ diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/iterator.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/iterator.hpp deleted file mode 100644 index a118b5925..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/iterator.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015-2016 MIZUKI Hirata -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_ITERATOR_HPP -#define MSGPACK_ITERATOR_HPP - -#include - -#include - -#endif // MSGPACK_ITERATOR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/iterator_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/iterator_decl.hpp deleted file mode 100644 index 5bf28cb10..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/iterator_decl.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_ITERATOR_DECL_HPP -#define MSGPACK_ITERATOR_DECL_HPP - -#include -#include -#include - -#endif // MSGPACK_ITERATOR_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/meta.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/meta.hpp deleted file mode 100644 index 7062cc551..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/meta.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015-2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_META_HPP -#define MSGPACK_META_HPP - -#include "msgpack/meta_decl.hpp" - -#include "msgpack/v1/meta.hpp" - -#endif // MSGPACK_META_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/meta_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/meta_decl.hpp deleted file mode 100644 index 54380f8c8..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/meta_decl.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015-2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_META_DECL_HPP -#define MSGPACK_META_DECL_HPP - -#include "msgpack/v1/meta_decl.hpp" -#include "msgpack/v2/meta_decl.hpp" -#include "msgpack/v3/meta_decl.hpp" - -#endif // MSGPACK_META_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/null_visitor.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/null_visitor.hpp deleted file mode 100644 index 523d0dd19..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/null_visitor.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// 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 diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/null_visitor_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/null_visitor_decl.hpp deleted file mode 100644 index b398ed245..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/null_visitor_decl.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// 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 diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/object.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/object.hpp deleted file mode 100644 index 327999266..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/object.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_OBJECT_HPP -#define MSGPACK_OBJECT_HPP - -#include "msgpack/object_decl.hpp" - -#include "msgpack/v1/object.hpp" -#include "msgpack/v2/object.hpp" - -#endif // MSGPACK_OBJECT_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/object_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/object_decl.hpp deleted file mode 100644 index 7aab1288d..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/object_decl.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_OBJECT_DECL_HPP -#define MSGPACK_OBJECT_DECL_HPP - -#include "msgpack/v1/object_decl.hpp" -#include "msgpack/v2/object_decl.hpp" -#include "msgpack/v3/object_decl.hpp" - -#endif // MSGPACK_OBJECT_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/object_fwd.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/object_fwd.hpp deleted file mode 100644 index 515df9dc6..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/object_fwd.hpp +++ /dev/null @@ -1,20 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_OBJECT_FWD_HPP -#define MSGPACK_OBJECT_FWD_HPP - -#include "msgpack/object_fwd_decl.hpp" - -#include "msgpack/v1/object_fwd.hpp" -#include "msgpack/v2/object_fwd.hpp" -#include "msgpack/v3/object_fwd.hpp" - -#endif // MSGPACK_OBJECT_FWD_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/object_fwd_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/object_fwd_decl.hpp deleted file mode 100644 index c933c3451..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/object_fwd_decl.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_OBJECT_FWD_DECL_HPP -#define MSGPACK_OBJECT_FWD_DECL_HPP - -#include "msgpack/v1/object_fwd_decl.hpp" -#include "msgpack/v2/object_fwd_decl.hpp" -#include "msgpack/v3/object_fwd_decl.hpp" - -#endif // MSGPACK_OBJECT_FWD_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/pack.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/pack.hpp deleted file mode 100644 index 518b45784..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/pack.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ serializing routine -// -// Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_PACK_HPP -#define MSGPACK_PACK_HPP - -#include "msgpack/pack_decl.hpp" - -#include "msgpack/v1/pack.hpp" - -#endif // MSGPACK_PACK_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/pack_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/pack_decl.hpp deleted file mode 100644 index 5aaec94a8..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/pack_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ serializing routine -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_PACK_DECL_HPP -#define MSGPACK_PACK_DECL_HPP - -#include "msgpack/v1/pack_decl.hpp" -#include "msgpack/v2/pack_decl.hpp" -#include "msgpack/v3/pack_decl.hpp" - -#endif // MSGPACK_PACK_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/parse.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/parse.hpp deleted file mode 100644 index 90e140276..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/parse.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// -// 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 diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/parse_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/parse_decl.hpp deleted file mode 100644 index 381aa1a4f..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/parse_decl.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// -// 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 diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/parse_return.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/parse_return.hpp deleted file mode 100644 index c06d1891a..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/parse_return.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ deserializing routine -// -// Copyright (C) 2017 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_PARSE_RETURN_HPP -#define MSGPACK_PARSE_RETURN_HPP - -#include "msgpack/v1/parse_return.hpp" -#include "msgpack/v2/parse_return.hpp" -#include "msgpack/v3/parse_return.hpp" - -#endif // MSGPACK_PARSE_RETURN_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/sbuffer.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/sbuffer.hpp deleted file mode 100644 index 99f67eab3..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/sbuffer.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ simple buffer implementation -// -// 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_SBUFFER_HPP -#define MSGPACK_SBUFFER_HPP - -#include "msgpack/sbuffer_decl.hpp" - -#include "msgpack/v1/sbuffer.hpp" - -#endif // MSGPACK_SBUFFER_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/sbuffer_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/sbuffer_decl.hpp deleted file mode 100644 index 58efec460..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/sbuffer_decl.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// -// MessagePack for C++ simple buffer implementation -// -// 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_SBUFFER_DECL_HPP -#define MSGPACK_SBUFFER_DECL_HPP - -#include "msgpack/v1/sbuffer_decl.hpp" -#include "msgpack/v2/sbuffer_decl.hpp" -#include "msgpack/v3/sbuffer_decl.hpp" - - -#endif // MSGPACK_SBUFFER_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/sysdep.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/sysdep.hpp deleted file mode 100644 index 9f95b60b8..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/sysdep.hpp +++ /dev/null @@ -1,191 +0,0 @@ -/* - * MessagePack system dependencies - * - * Copyright (C) 2008-2010 FURUHASHI Sadayuki - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - */ -#ifndef MSGPACK_SYSDEP_HPP -#define MSGPACK_SYSDEP_HPP - -#include -#include - -#if defined(_MSC_VER) && _MSC_VER <= 1800 -# define snprintf(buf, len, format,...) _snprintf_s(buf, len, _TRUNCATE, format, __VA_ARGS__) -#endif - -#if defined(_MSC_VER) && _MSC_VER < 1600 - typedef signed __int8 int8_t; - typedef unsigned __int8 uint8_t; - typedef signed __int16 int16_t; - typedef unsigned __int16 uint16_t; - typedef signed __int32 int32_t; - typedef unsigned __int32 uint32_t; - typedef signed __int64 int64_t; - typedef unsigned __int64 uint64_t; -#elif defined(_MSC_VER) // && _MSC_VER >= 1600 -# include -#else -# include -# include -#endif - -#if !defined(MSGPACK_DLLEXPORT) -#if defined(_MSC_VER) -# define MSGPACK_DLLEXPORT __declspec(dllexport) -#else /* _MSC_VER */ -# define MSGPACK_DLLEXPORT -#endif /* _MSC_VER */ -#endif - -#ifdef _WIN32 -# if defined(_KERNEL_MODE) -# define _msgpack_atomic_counter_header -# else -# define _msgpack_atomic_counter_header -# if !defined(WIN32_LEAN_AND_MEAN) -# define WIN32_LEAN_AND_MEAN -# endif /* WIN32_LEAN_AND_MEAN */ -# endif - typedef long _msgpack_atomic_counter_t; -#if defined(_AMD64_) || defined(_M_X64) || defined(_M_ARM64) -# define _msgpack_sync_decr_and_fetch(ptr) _InterlockedDecrement(ptr) -# define _msgpack_sync_incr_and_fetch(ptr) _InterlockedIncrement(ptr) -#else -# define _msgpack_sync_decr_and_fetch(ptr) InterlockedDecrement(ptr) -# define _msgpack_sync_incr_and_fetch(ptr) InterlockedIncrement(ptr) -#endif -#elif defined(__GNUC__) && ((__GNUC__*10 + __GNUC_MINOR__) < 41) - -# define _msgpack_atomic_counter_header "msgpack/gcc_atomic.hpp" - -#else - typedef unsigned int _msgpack_atomic_counter_t; -# define _msgpack_sync_decr_and_fetch(ptr) __sync_sub_and_fetch(ptr, 1) -# define _msgpack_sync_incr_and_fetch(ptr) __sync_add_and_fetch(ptr, 1) -#endif - -#ifdef _WIN32 - - /* numeric_limits::min,max */ -# ifdef max -# undef max -# endif -# ifdef min -# undef min -# endif - -#elif defined(unix) || defined(__unix) || defined(__APPLE__) || defined(__OpenBSD__) - -#include /* __BYTE_ORDER */ -# if defined(linux) -# include -# endif - -#endif - -#if !defined(MSGPACK_ENDIAN_LITTLE_BYTE) && !defined(MSGPACK_ENDIAN_BIG_BYTE) -#include -#define MSGPACK_ENDIAN_LITTLE_BYTE BOOST_ENDIAN_LITTLE_BYTE -#define MSGPACK_ENDIAN_BIG_BYTE BOOST_ENDIAN_BIG_BYTE -#endif // !defined(MSGPACK_ENDIAN_LITTLE_BYTE) && !defined(MSGPACK_ENDIAN_BIG_BYTE) - -#if MSGPACK_ENDIAN_LITTLE_BYTE - -# if defined(unix) || defined(__unix) || defined(__APPLE__) || defined(__OpenBSD__) -# define _msgpack_be16(x) ntohs((uint16_t)x) -# else -# if defined(ntohs) -# define _msgpack_be16(x) ntohs(x) -# elif defined(_byteswap_ushort) || (defined(_MSC_VER) && _MSC_VER >= 1400) -# define _msgpack_be16(x) ((uint16_t)_byteswap_ushort((unsigned short)x)) -# else -# define _msgpack_be16(x) ( \ - ((((uint16_t)x) << 8) ) | \ - ((((uint16_t)x) >> 8) ) ) -# endif -# endif - -# if defined(unix) || defined(__unix) || defined(__APPLE__) || defined(__OpenBSD__) -# define _msgpack_be32(x) ntohl((uint32_t)x) -# else -# if defined(ntohl) -# define _msgpack_be32(x) ntohl(x) -# elif defined(_byteswap_ulong) || (defined(_MSC_VER) && _MSC_VER >= 1400) -# define _msgpack_be32(x) ((uint32_t)_byteswap_ulong((unsigned long)x)) -# else -# define _msgpack_be32(x) \ - ( ((((uint32_t)x) << 24) ) | \ - ((((uint32_t)x) << 8) & 0x00ff0000U ) | \ - ((((uint32_t)x) >> 8) & 0x0000ff00U ) | \ - ((((uint32_t)x) >> 24) ) ) -# endif -# endif - -# if defined(_byteswap_uint64) || (defined(_MSC_VER) && _MSC_VER >= 1400) -# define _msgpack_be64(x) (_byteswap_uint64(x)) -# elif defined(bswap_64) -# define _msgpack_be64(x) bswap_64(x) -# elif defined(__DARWIN_OSSwapInt64) -# define _msgpack_be64(x) __DARWIN_OSSwapInt64(x) -# else -# define _msgpack_be64(x) \ - ( ((((uint64_t)x) << 56) ) | \ - ((((uint64_t)x) << 40) & 0x00ff000000000000ULL ) | \ - ((((uint64_t)x) << 24) & 0x0000ff0000000000ULL ) | \ - ((((uint64_t)x) << 8) & 0x000000ff00000000ULL ) | \ - ((((uint64_t)x) >> 8) & 0x00000000ff000000ULL ) | \ - ((((uint64_t)x) >> 24) & 0x0000000000ff0000ULL ) | \ - ((((uint64_t)x) >> 40) & 0x000000000000ff00ULL ) | \ - ((((uint64_t)x) >> 56) ) ) -# endif - -#elif MSGPACK_ENDIAN_BIG_BYTE - -# define _msgpack_be16(x) (x) -# define _msgpack_be32(x) (x) -# define _msgpack_be64(x) (x) - -#else -# error msgpack-c supports only big endian and little endian -#endif /* MSGPACK_ENDIAN_LITTLE_BYTE */ - -#define _msgpack_load16(cast, from, to) do { \ - memcpy((cast*)(to), (from), sizeof(cast)); \ - *(to) = (cast)_msgpack_be16(*(to)); \ - } while (0); - -#define _msgpack_load32(cast, from, to) do { \ - memcpy((cast*)(to), (from), sizeof(cast)); \ - *(to) = (cast)_msgpack_be32(*(to)); \ - } while (0); -#define _msgpack_load64(cast, from, to) do { \ - memcpy((cast*)(to), (from), sizeof(cast)); \ - *(to) = (cast)_msgpack_be64(*(to)); \ - } while (0); - -#define _msgpack_store16(to, num) \ - do { uint16_t val = _msgpack_be16(num); memcpy(to, &val, 2); } while(0) -#define _msgpack_store32(to, num) \ - do { uint32_t val = _msgpack_be32(num); memcpy(to, &val, 4); } while(0) -#define _msgpack_store64(to, num) \ - do { uint64_t val = _msgpack_be64(num); memcpy(to, &val, 8); } while(0) - -/* -#define _msgpack_load16(cast, from) \ - ({ cast val; memcpy(&val, (char*)from, 2); _msgpack_be16(val); }) -#define _msgpack_load32(cast, from) \ - ({ cast val; memcpy(&val, (char*)from, 4); _msgpack_be32(val); }) -#define _msgpack_load64(cast, from) \ - ({ cast val; memcpy(&val, (char*)from, 8); _msgpack_be64(val); }) -*/ - - -#ifdef __APPLE__ -# include -#endif - -#endif /* msgpack/sysdep.hpp */ diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/type.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/type.hpp deleted file mode 100644 index d2f3ee93e..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/type.hpp +++ /dev/null @@ -1,67 +0,0 @@ -#include "cpp_config.hpp" -#include "adaptor/array_ref.hpp" -#include "adaptor/bool.hpp" -#include "adaptor/carray.hpp" -#include "adaptor/char_ptr.hpp" -#include "adaptor/deque.hpp" -#include "adaptor/ext.hpp" -#include "adaptor/fixint.hpp" -#include "adaptor/float.hpp" -#include "adaptor/int.hpp" -#include "adaptor/complex.hpp" -#include "adaptor/list.hpp" -#include "adaptor/map.hpp" -#include "adaptor/nil.hpp" -#include "adaptor/pair.hpp" -#include "adaptor/raw.hpp" -#include "adaptor/v4raw.hpp" -#include "adaptor/set.hpp" -#include "adaptor/size_equal_only.hpp" -#include "adaptor/string.hpp" -#include "adaptor/vector.hpp" -#include "adaptor/vector_bool.hpp" -#include "adaptor/vector_char.hpp" -#include "adaptor/vector_unsigned_char.hpp" -#include "adaptor/wstring.hpp" -#include "adaptor/msgpack_tuple.hpp" -#include "adaptor/define.hpp" - -#if defined(MSGPACK_USE_CPP03) - -#include "adaptor/tr1/unordered_map.hpp" -#include "adaptor/tr1/unordered_set.hpp" - -#else // defined(MSGPACK_USE_CPP03) - -#include "adaptor/cpp11/array.hpp" -#include "adaptor/cpp11/array_char.hpp" -#include "adaptor/cpp11/array_unsigned_char.hpp" -#include "adaptor/cpp11/chrono.hpp" -#include "adaptor/cpp11/forward_list.hpp" -#include "adaptor/cpp11/reference_wrapper.hpp" -#include "adaptor/cpp11/shared_ptr.hpp" -#include "adaptor/cpp11/timespec.hpp" -#include "adaptor/cpp11/tuple.hpp" -#include "adaptor/cpp11/unique_ptr.hpp" -#include "adaptor/cpp11/unordered_map.hpp" -#include "adaptor/cpp11/unordered_set.hpp" - -#if MSGPACK_HAS_INCLUDE() -#include "adaptor/cpp17/optional.hpp" -#endif // MSGPACK_HAS_INCLUDE() - -#if MSGPACK_HAS_INCLUDE() -#include "adaptor/cpp17/string_view.hpp" -#endif // MSGPACK_HAS_INCLUDE() - -#include "adaptor/cpp17/byte.hpp" -#include "adaptor/cpp17/carray_byte.hpp" -#include "adaptor/cpp17/vector_byte.hpp" - -#endif // defined(MSGPACK_USE_CPP03) - -#include "adaptor/boost/fusion.hpp" -#include "adaptor/boost/msgpack_variant.hpp" -#include "adaptor/boost/optional.hpp" -#include "adaptor/boost/string_ref.hpp" -#include "adaptor/boost/string_view.hpp" diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/unpack.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/unpack.hpp deleted file mode 100644 index d1e429296..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/unpack.hpp +++ /dev/null @@ -1,19 +0,0 @@ -// -// MessagePack for C++ deserializing 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_UNPACK_HPP -#define MSGPACK_UNPACK_HPP - -#include "msgpack/unpack_decl.hpp" - -#include "msgpack/v1/unpack.hpp" -#include "msgpack/v2/unpack.hpp" -#include "msgpack/v3/unpack.hpp" - -#endif // MSGPACK_UNPACK_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/unpack_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/unpack_decl.hpp deleted file mode 100644 index 69a751d03..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/unpack_decl.hpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// MessagePack for C++ deserializing 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_UNPACK_DECL_HPP -#define MSGPACK_UNPACK_DECL_HPP - -#include "msgpack/v1/unpack_decl.hpp" -#include "msgpack/v2/unpack_decl.hpp" -#include "msgpack/v3/unpack_decl.hpp" - -#endif // MSGPACK_UNPACK_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/unpack_define.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/unpack_define.hpp deleted file mode 100644 index b3a4db9e6..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/unpack_define.hpp +++ /dev/null @@ -1,75 +0,0 @@ -/* - * MessagePack unpacking routine template - * - * Copyright (C) 2008-2010 FURUHASHI Sadayuki - * - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - */ -#ifndef MSGPACK_UNPACK_DEFINE_HPP -#define MSGPACK_UNPACK_DEFINE_HPP - -#include "msgpack/sysdep.hpp" - -#ifndef MSGPACK_EMBED_STACK_SIZE -#define MSGPACK_EMBED_STACK_SIZE 32 -#endif - - -typedef enum { - MSGPACK_CS_HEADER = 0x00, // nil - - //MSGPACK_CS_ = 0x01, - //MSGPACK_CS_ = 0x02, // false - //MSGPACK_CS_ = 0x03, // true - - MSGPACK_CS_BIN_8 = 0x04, - MSGPACK_CS_BIN_16 = 0x05, - MSGPACK_CS_BIN_32 = 0x06, - - MSGPACK_CS_EXT_8 = 0x07, - MSGPACK_CS_EXT_16 = 0x08, - MSGPACK_CS_EXT_32 = 0x09, - - MSGPACK_CS_FLOAT = 0x0a, - MSGPACK_CS_DOUBLE = 0x0b, - MSGPACK_CS_UINT_8 = 0x0c, - MSGPACK_CS_UINT_16 = 0x0d, - MSGPACK_CS_UINT_32 = 0x0e, - MSGPACK_CS_UINT_64 = 0x0f, - MSGPACK_CS_INT_8 = 0x10, - MSGPACK_CS_INT_16 = 0x11, - MSGPACK_CS_INT_32 = 0x12, - MSGPACK_CS_INT_64 = 0x13, - - MSGPACK_CS_FIXEXT_1 = 0x14, - MSGPACK_CS_FIXEXT_2 = 0x15, - MSGPACK_CS_FIXEXT_4 = 0x16, - MSGPACK_CS_FIXEXT_8 = 0x17, - MSGPACK_CS_FIXEXT_16 = 0x18, - - MSGPACK_CS_STR_8 = 0x19, // str8 - MSGPACK_CS_STR_16 = 0x1a, // str16 - MSGPACK_CS_STR_32 = 0x1b, // str32 - MSGPACK_CS_ARRAY_16 = 0x1c, - MSGPACK_CS_ARRAY_32 = 0x1d, - MSGPACK_CS_MAP_16 = 0x1e, - MSGPACK_CS_MAP_32 = 0x1f, - - //MSGPACK_ACS_BIG_INT_VALUE, - //MSGPACK_ACS_BIG_FLOAT_VALUE, - MSGPACK_ACS_STR_VALUE, - MSGPACK_ACS_BIN_VALUE, - MSGPACK_ACS_EXT_VALUE -} msgpack_unpack_state; - - -typedef enum { - MSGPACK_CT_ARRAY_ITEM, - MSGPACK_CT_MAP_KEY, - MSGPACK_CT_MAP_VALUE -} msgpack_container_type; - - -#endif /* msgpack/unpack_define.hpp */ diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/unpack_exception.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/unpack_exception.hpp deleted file mode 100644 index fa28f7497..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/unpack_exception.hpp +++ /dev/null @@ -1,15 +0,0 @@ -// -// 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_UNPACK_EXCEPTION_HPP -#define MSGPACK_UNPACK_EXCEPTION_HPP - -#include "msgpack/v1/unpack_exception.hpp" - -#endif // MSGPACK_UNPACK_EXCEPTION_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/adaptor_base.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/adaptor_base.hpp deleted file mode 100644 index 489362b4d..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/adaptor_base.hpp +++ /dev/null @@ -1,116 +0,0 @@ -// -// 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_V1_ADAPTOR_BASE_HPP -#define MSGPACK_V1_ADAPTOR_BASE_HPP - -#include "msgpack/v1/adaptor/adaptor_base_decl.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - - -namespace adaptor { - -// Adaptor functors - -template -struct convert { - msgpack::object const& operator()(msgpack::object const& o, T& v) const; -}; - -template -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, T const& v) const; -}; - -template -struct object { - void operator()(msgpack::object& o, T const& v) const; -}; - -template -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, T const& v) const; -}; - -} // namespace adaptor - -// operators - -template -inline -typename msgpack::enable_if< - !is_array::value, - msgpack::object const& ->::type -operator>> (msgpack::object const& o, T& v) { - return msgpack::adaptor::convert()(o, v); -} -template -inline -msgpack::object const& operator>> (msgpack::object const& o, T(&v)[N]) { - return msgpack::adaptor::convert()(o, v); -} - -template -inline -typename msgpack::enable_if< - !is_array::value, - msgpack::packer& ->::type -operator<< (msgpack::packer& o, T const& v) { - return msgpack::adaptor::pack()(o, v); -} -template -inline -msgpack::packer& operator<< (msgpack::packer& o, const T(&v)[N]) { - return msgpack::adaptor::pack()(o, v); -} - -template -inline -typename msgpack::enable_if< - !is_array::value ->::type -operator<< (msgpack::object& o, T const& v) { - msgpack::adaptor::object()(o, v); -} -template -inline -void operator<< (msgpack::v1::object& o, const T(&v)[N]) { - msgpack::v1::adaptor::object()(o, v); -} - -template -inline -typename msgpack::enable_if< - !is_array::value ->::type -operator<< (msgpack::object::with_zone& o, T const& v) { - msgpack::adaptor::object_with_zone()(o, v); -} -template -inline -void operator<< (msgpack::object::with_zone& o, const T(&v)[N]) { - msgpack::adaptor::object_with_zone()(o, v); -} - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - - -#endif // MSGPACK_V1_ADAPTOR_BASE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/adaptor_base_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/adaptor_base_decl.hpp deleted file mode 100644 index 42e8f0e38..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/adaptor_base_decl.hpp +++ /dev/null @@ -1,86 +0,0 @@ -// -// 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_V1_ADAPTOR_BASE_DECL_HPP -#define MSGPACK_V1_ADAPTOR_BASE_DECL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/object_fwd.hpp" -#include "msgpack/pack.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -template -class packer; - -namespace adaptor { - -// Adaptor functors - -template -struct convert; - -template -struct pack; - -template -struct object; - -template -struct object_with_zone; - -} // namespace adaptor - -// operators - -template -typename msgpack::enable_if< - !is_array::value, - msgpack::object const& ->::type -operator>> (msgpack::object const& o, T& v); -template -msgpack::object const& operator>> (msgpack::object const& o, T(&v)[N]); - -template -typename msgpack::enable_if< - !is_array::value, - msgpack::packer& ->::type -operator<< (msgpack::packer& o, T const& v); -template -msgpack::packer& operator<< (msgpack::packer& o, const T(&v)[N]); - -template -typename msgpack::enable_if< - !is_array::value ->::type -operator<< (msgpack::object& o, T const& v); -template -void operator<< (msgpack::object& o, const T(&v)[N]); - -template -typename msgpack::enable_if< - !is_array::value ->::type -operator<< (msgpack::object::with_zone& o, T const& v); -template -void operator<< (msgpack::object::with_zone& o, const T(&v)[N]); - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_ADAPTOR_BASE_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/array_ref.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/array_ref.hpp deleted file mode 100644 index d44be1645..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/array_ref.hpp +++ /dev/null @@ -1,305 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2016 FURUHASHI Sadayuki -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_ARRAY_REF_HPP -#define MSGPACK_V1_TYPE_ARRAY_REF_HPP - -#include "msgpack/adaptor/check_container_size.hpp" -#include "msgpack/cpp_config.hpp" -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -template -struct array_ref { - array_ref() : data(MSGPACK_NULLPTR) {} - array_ref(T& t) : data(&t) {} - - T* data; - - std::size_t size() const { - return data->size(); - } - - template - bool operator==(array_ref const& t) const { - return *data == *t.data; - } - template - bool operator!=(array_ref const& t) const { - return !(*data == *t.data); - } - template - bool operator< (array_ref const& t) const - { - return *data < *t.data; - } - template - bool operator> (array_ref const& t) const - { - return *t.data < *data; - } - template - bool operator<= (array_ref const& t) const - { - return !(*t.data < *data); - } - template - bool operator>= (array_ref const& t) const - { - return !(*data < *t.data); - } -}; - -template -struct array_ref { - array_ref() : data(MSGPACK_NULLPTR) {} - array_ref(T(&t)[N]) : data(t) {} - - T* data; - - std::size_t size() const { - return N; - } - - template - bool operator==(array_ref const& t) const { - if (N != t.size()) return false; - T const* pself = data; - U const* pother = t.data; - for (; pself != &data[N]; ++pself, ++pother) { - if (*pself != *pother) return false; - } - return true; - } - template - bool operator!=(array_ref const& t) const { - return !(*this == t); - } - template - bool operator< (array_ref const& t) const - { - T const* pself = data; - U const* pother = t.data; - for (; pself != &data[N] && pother != t.data[t.size()]; ++pself, ++pother) { - if (*pself < *pother) return true; - } - if (N < t.size()) return true; - return false; - } - template - bool operator> (array_ref const& t) const - { - return t.data < data; - } - template - bool operator<= (array_ref const& t) const - { - return !(t.data < data); - } - template - bool operator>= (array_ref const& t) const - { - return !(data < t.data); - } -}; - -template -inline -typename msgpack::enable_if< - !msgpack::is_array::value, - array_ref ->::type -make_array_ref(const T& t) { - return array_ref(t); -} - -template -inline -typename msgpack::enable_if< - !msgpack::is_array::value, - array_ref ->::type -make_array_ref(T& t) { - return array_ref(t); -} - -template -inline array_ref make_array_ref(const T(&t)[N]) { - return array_ref(t); -} - -template -inline array_ref make_array_ref(T(&t)[N]) { - return array_ref(t); -} - -} // namespace type - -namespace adaptor { - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, msgpack::type::array_ref& v) const { - if (!v.data) { throw msgpack::type_error(); } - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if (v.size() < o.via.bin.size) { throw msgpack::type_error(); } - if (o.via.array.size > 0) { - msgpack::object* p = o.via.array.ptr; - msgpack::object* const pend = o.via.array.ptr + o.via.array.size; - typename T::iterator it = v.data->begin(); - do { - p->convert(*it); - ++p; - ++it; - } while(p < pend); - } - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, msgpack::type::array_ref& v) const { - if (!v.data) { throw msgpack::type_error(); } - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if (v.size() < o.via.bin.size) { throw msgpack::type_error(); } - if (o.via.array.size > 0) { - msgpack::object* p = o.via.array.ptr; - msgpack::object* const pend = o.via.array.ptr + o.via.array.size; - T* it = v.data; - do { - p->convert(*it); - ++p; - ++it; - } while(p < pend); - } - return o; - } -}; - -template -struct convert > > { - msgpack::object const& operator()(msgpack::object const& o, msgpack::type::array_ref >& v) const { - if (!v.data) { throw msgpack::type_error(); } - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - v.data->resize(o.via.bin.size); - if (o.via.array.size > 0) { - msgpack::object* p = o.via.array.ptr; - msgpack::object* const pend = o.via.array.ptr + o.via.array.size; - typename std::vector::iterator it = v.data->begin(); - do { - p->convert(*it); - ++p; - ++it; - } while(p < pend); - } - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const msgpack::type::array_ref& v) const { - if (!v.data) { throw msgpack::type_error(); } - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for (typename T::const_iterator it(v.data->begin()), it_end(v.data->end()); - it != it_end; ++it) { - o.pack(*it); - } - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const msgpack::type::array_ref& v) const { - if (!v.data) { throw msgpack::type_error(); } - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for (T const* it = v.data; - it != &v.data[v.size()]; ++it) { - o.pack(*it); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const msgpack::type::array_ref& v) const { - if (!v.data) { throw msgpack::type_error(); } - o.type = msgpack::type::ARRAY; - if (v.data->empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } - else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - msgpack::object* const pend = p + size; - o.via.array.ptr = p; - o.via.array.size = size; - typename T::const_iterator it(v.data->begin()); - do { -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - - *p = msgpack::object(*it, o.zone); -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic pop -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - ++p; - ++it; - } while(p < pend); - } - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const msgpack::type::array_ref& v) const { - if (!v.data) { throw msgpack::type_error(); } - o.type = msgpack::type::ARRAY; - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - msgpack::object* const pend = p + size; - o.via.array.ptr = p; - o.via.array.size = size; - T const* it = v.data; - do { - *p = msgpack::object(*it, o.zone); - ++p; - ++it; - } while(p < pend); - } -}; - - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_ARRAY_REF_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/array_ref_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/array_ref_decl.hpp deleted file mode 100644 index 433e24f66..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/array_ref_decl.hpp +++ /dev/null @@ -1,55 +0,0 @@ -// -// 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_V1_TYPE_ARRAY_REF_DECL_HPP -#define MSGPACK_V1_TYPE_ARRAY_REF_DECL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -template -struct array_ref; - -template -typename msgpack::enable_if< - !msgpack::is_array::value, - array_ref ->::type -make_array_ref(T const& t); - -template -typename msgpack::enable_if< - !msgpack::is_array::value, - array_ref ->::type -make_array_ref(T& t); - -template -array_ref make_array_ref(const T(&t)[N]); - -template -array_ref make_array_ref(T(&t)[N]); - -} // namespace type - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_ARRAY_REF_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/bool.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/bool.hpp deleted file mode 100644 index 95cd704f3..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/bool.hpp +++ /dev/null @@ -1,66 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2016 FURUHASHI Sadayuki -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_BOOL_HPP -#define MSGPACK_V1_TYPE_BOOL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, bool& v) const { - if(o.type != msgpack::type::BOOLEAN) { throw msgpack::type_error(); } - v = o.via.boolean; - return o; - } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const bool& v) const { - if(v) { o.pack_true(); } - else { o.pack_false(); } - return o; - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, bool v) const { - o.type = msgpack::type::BOOLEAN; - o.via.boolean = v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, bool v) const { - static_cast(o) << v; - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_BOOL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/fusion.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/fusion.hpp deleted file mode 100644 index d47a7f24c..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/fusion.hpp +++ /dev/null @@ -1,215 +0,0 @@ -// -// 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_V1_TYPE_BOOST_FUSION_HPP -#define MSGPACK_V1_TYPE_BOOST_FUSION_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" -#include "msgpack/meta.hpp" - -#include "msgpack/adaptor/pair.hpp" - -#if !defined (MSGPACK_USE_CPP03) -#include "msgpack/adaptor/cpp11/tuple.hpp" -#endif // #if !defined (MSGPACK_USE_CPP03) - -#if defined(__GNUC__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif // defined(__GNUC__) - -#include -#include -#include -#include -#include - - -#if defined(__GNUC__) -#pragma GCC diagnostic pop -#endif // defined(__GNUC__) - - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -namespace detail { - -template -struct is_std_pair { - static bool const value = false; -}; - -template -struct is_std_pair > { - static bool const value = true; -}; - -#if !defined(MSGPACK_USE_CPP03) - -template -struct is_std_tuple { - static bool const value = false; -}; - -template -struct is_std_tuple> { - static bool const value = true; -}; - -#endif // !defined(MSGPACK_USE_CPP03) - -template -struct is_seq_no_pair_no_tuple { - static bool const value = - boost::fusion::traits::is_sequence::value - && - !is_std_pair::value -#if !defined (MSGPACK_USE_CPP03) - && - !is_std_tuple::value -#endif // !defined (MSGPACK_USE_CPP03) - ; -}; - -} // namespace detail - -#if !defined (MSGPACK_USE_CPP03) - -template -struct as< - T, - typename msgpack::enable_if< - detail::is_seq_no_pair_no_tuple::value && - boost::mpl::fold< - T, - boost::mpl::bool_, - boost::mpl::if_ < - boost::mpl::or_< - boost::mpl::_1, - msgpack::has_as - >, - boost::mpl::bool_, - boost::mpl::bool_ - > - >::type::value - >::type -> { - T operator()(msgpack::object const& o) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if (o.via.array.size != checked_get_container_size(boost::mpl::size::value)) { - throw msgpack::type_error(); - } - using tuple_t = decltype(to_tuple(std::declval(), gen_seq::value>())); - return to_t( - o.as(), - msgpack::gen_seq::value>()); - } - template - static std::tuple< - typename std::remove_reference< - typename boost::fusion::result_of::at_c(Is)>::type - >::type...> - to_tuple(U const& u, seq) { - return std::make_tuple(boost::fusion::at_c(u)...); - } - template - static T to_t(U const& u, seq) { - return T(std::get(u)...); - } -}; - -#endif // !defined (MSGPACK_USE_CPP03) - -template -struct convert::value>::type > { - msgpack::object const& operator()(msgpack::object const& o, T& v) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if (o.via.array.size != checked_get_container_size(boost::fusion::size(v))) { - throw msgpack::type_error(); - } - uint32_t index = 0; - boost::fusion::for_each(v, convert_imp(o, index)); - return o; - } -private: - struct convert_imp { - convert_imp(msgpack::object const& obj, uint32_t& index):obj_(obj), index_(index) {} - template - void operator()(U& v) const { - msgpack::adaptor::convert()(obj_.via.array.ptr[index_++], v); - } - private: - msgpack::object const& obj_; - uint32_t& index_; - }; -}; - -template -struct pack::value>::type > { - template - msgpack::packer& operator()(msgpack::packer& o, const T& v) const { - uint32_t size = checked_get_container_size(boost::fusion::size(v)); - o.pack_array(size); - boost::fusion::for_each(v, pack_imp(o)); - return o; - } -private: - template - struct pack_imp { - pack_imp(msgpack::packer& stream):stream_(stream) {} - template - void operator()(U const& v) const { - stream_.pack(v); - } - private: - msgpack::packer& stream_; - }; -}; - -template -struct object_with_zone::value>::type > { - void operator()(msgpack::object::with_zone& o, const T& v) const { - uint32_t size = checked_get_container_size(boost::fusion::size(v)); - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = size; - uint32_t count = 0; - boost::fusion::for_each(v, with_zone_imp(o, count)); - } -private: - struct with_zone_imp { - with_zone_imp(msgpack::object::with_zone const& obj, uint32_t& count):obj_(obj), count_(count) {} - template - void operator()(U const& v) const { - obj_.via.array.ptr[count_++] = msgpack::object(v, obj_.zone); - } - msgpack::object::with_zone const& obj_; - uint32_t& count_; - }; -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_BOOST_FUSION_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant.hpp deleted file mode 100644 index ecf8ac17b..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant.hpp +++ /dev/null @@ -1,451 +0,0 @@ -// -// 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_V1_TYPE_BOOST_MSGPACK_VARIANT_HPP -#define MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_HPP - -#include "msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp" - -#include "msgpack/adaptor/check_container_size.hpp" -#include "msgpack/adaptor/boost/string_ref.hpp" - -#include "msgpack/adaptor/nil.hpp" -#include "msgpack/adaptor/bool.hpp" -#include "msgpack/adaptor/int.hpp" -#include "msgpack/adaptor/float.hpp" -#include "msgpack/adaptor/string.hpp" -#include "msgpack/adaptor/vector_char.hpp" -#include "msgpack/adaptor/raw.hpp" -#include "msgpack/adaptor/ext.hpp" -#include "msgpack/adaptor/vector.hpp" -#include "msgpack/adaptor/map.hpp" - - -#if defined(__GNUC__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif // defined(__GNUC__) - -#include - -#if defined(__GNUC__) -#pragma GCC diagnostic pop -#endif // defined(__GNUC__) - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - - -template -struct basic_variant : - boost::variant< - nil_t, // NIL - bool, // BOOL - int64_t, // NEGATIVE_INTEGER - uint64_t, // POSITIVE_INTEGER - double, // FLOAT32, FLOAT64 - std::string, // STR -#if (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - boost::string_ref, // STR -#endif // (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - std::vector, // BIN - msgpack::type::raw_ref, // BIN - msgpack::type::ext, // EXT - msgpack::type::ext_ref, // EXT - boost::recursive_wrapper > >, // ARRAY - boost::recursive_wrapper, basic_variant > >, // MAP - boost::recursive_wrapper, basic_variant > >// MAP - >, - private boost::totally_ordered > { - typedef boost::variant< - nil_t, // NIL - bool, // BOOL - int64_t, // NEGATIVE_INTEGER - uint64_t, // POSITIVE_INTEGER - double, // FLOAT32, FLOAT64 - std::string, // STR -#if (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - boost::string_ref, // STR -#endif // (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - std::vector, // BIN - msgpack::type::raw_ref, // BIN - msgpack::type::ext, // EXT - msgpack::type::ext_ref, // EXT - boost::recursive_wrapper > >, // ARRAY - boost::recursive_wrapper, basic_variant > >, // MAP - boost::recursive_wrapper, basic_variant > >// MAP - > base; - basic_variant() {} - template - basic_variant(T const& t):base(t) {} - -#if defined(_MSC_VER) && _MSC_VER < 1700 - // The following redundant functions are required to avoid MSVC - // See https://svn.boost.org/trac/boost/ticket/592 - basic_variant(basic_variant const& other):base(static_cast(other)) {} - basic_variant& operator=(basic_variant const& other) { - *static_cast(this) = static_cast(other); - return *this; - } -#endif // defined(_MSC_VER) && _MSC_VER < 1700 - - basic_variant(char const* p):base(std::string(p)) {} - basic_variant(char v) { - int_init(v); - } - basic_variant(signed char v) { - int_init(v); - } - basic_variant(unsigned char v):base(uint64_t(v)) {} - basic_variant(signed int v) { - int_init(v); - } - basic_variant(unsigned int v):base(uint64_t(v)) {} - basic_variant(signed long v) { - int_init(v); - } - basic_variant(unsigned long v):base(uint64_t(v)) {} - basic_variant(signed long long v) { - int_init(v); - } - basic_variant(unsigned long long v):base(uint64_t(v)) {} - - bool is_nil() const { - return boost::get(this) != MSGPACK_NULLPTR; - } - bool is_bool() const { - return boost::get(this) != MSGPACK_NULLPTR; - } - bool is_int64_t() const { - return boost::get(this) != MSGPACK_NULLPTR; - } - bool is_uint64_t() const { - return boost::get(this) != MSGPACK_NULLPTR; - } - bool is_double() const { - return boost::get(this) != MSGPACK_NULLPTR; - } - bool is_string() const { - return boost::get(this) != MSGPACK_NULLPTR; - } -#if (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - bool is_boost_string_ref() const { - return boost::get(this) != MSGPACK_NULLPTR; - } -#endif // (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - bool is_vector_char() const { - return boost::get >(this) != MSGPACK_NULLPTR; - } - bool is_vector_char() { - return boost::get >(this) != MSGPACK_NULLPTR; - } - bool is_raw_ref() const { - return boost::get(this) != MSGPACK_NULLPTR; - } - bool is_ext() const { - return boost::get(this) != MSGPACK_NULLPTR; - } - bool is_ext_ref() const { - return boost::get(this) != MSGPACK_NULLPTR; - } - bool is_vector() const { - return boost::get > >(this) != MSGPACK_NULLPTR; - } - bool is_map() const { - return boost::get, basic_variant > >(this) != MSGPACK_NULLPTR; - } - bool is_multimap() const { - return boost::get, basic_variant > >(this) != MSGPACK_NULLPTR; - } - - bool as_bool() const { - return boost::get(*this); - } - int64_t as_int64_t() const { - return boost::get(*this); - } - int64_t& as_int64_t() { - return boost::get(*this); - } - uint64_t as_uint64_t() const { - return boost::get(*this); - } - uint64_t& as_uint64_t() { - return boost::get(*this); - } - double as_double() const { - return boost::get(*this); - } - double& as_double() { - return boost::get(*this); - } - std::string const& as_string() const { - return boost::get(*this); - } - std::string& as_string() { - return boost::get(*this); - } -#if (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - boost::string_ref const& as_boost_string_ref() const { - return boost::get(*this); - } - boost::string_ref& as_boost_string_ref() { - return boost::get(*this); - } -#endif // (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - std::vector const& as_vector_char() const { - return boost::get >(*this); - } - std::vector& as_vector_char() { - return boost::get >(*this); - } - raw_ref const& as_raw_ref() const { - return boost::get(*this); - } - ext const& as_ext() const { - return boost::get(*this); - } - ext& as_ext() { - return boost::get(*this); - } - ext_ref const& as_ext_ref() const { - return boost::get(*this); - } - std::vector > const& as_vector() const { - return boost::get > >(*this); - } - std::vector >& as_vector() { - return boost::get > >(*this); - } - std::map, basic_variant > const& as_map() const { - return boost::get, basic_variant > >(*this); - } - std::map, basic_variant >& as_map() { - return boost::get, basic_variant > >(*this); - } - std::multimap, basic_variant > const& as_multimap() const { - return boost::get, basic_variant > >(*this); - } - std::multimap, basic_variant >& as_multimap() { - return boost::get, basic_variant > >(*this); - } -private: - template - void int_init(T v) { - if (v < 0) { - static_cast(*this) = int64_t(v); - } - else { - static_cast(*this) = uint64_t(v); - } - } -}; - -template -inline bool operator<(basic_variant const& lhs, basic_variant const& rhs) { - return - static_cast::base const&>(lhs) < - static_cast::base const&>(rhs); -} - -template -inline bool operator==(basic_variant const& lhs, basic_variant const& rhs) { - return - static_cast::base const&>(lhs) == - static_cast::base const&>(rhs); -} - -typedef basic_variant, ext> variant; -typedef basic_variant< -#if (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - boost::string_ref, -#else // (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - std::string, -#endif // (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - raw_ref, ext_ref> variant_ref; - -} // namespace type - -namespace adaptor { - -#if !defined (MSGPACK_USE_CPP03) - -template -struct as > { - type::basic_variant operator()(msgpack::object const& o) const { - switch(o.type) { - case type::NIL: - return o.as(); - case type::BOOLEAN: - return o.as(); - case type::POSITIVE_INTEGER: - return o.as(); - case type::NEGATIVE_INTEGER: - return o.as(); - case type::FLOAT32: - case type::FLOAT64: - return o.as(); - case type::STR: - return o.as(); - case type::BIN: - return o.as(); - case type::EXT: - return o.as(); - case type::ARRAY: - return o.as > >(); - case type::MAP: - return o.as, type::basic_variant > >(); - default: - break; - } - return type::basic_variant(); - } -}; - -#endif // !defined (MSGPACK_USE_CPP03) - - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::basic_variant& v) const { - switch(o.type) { - case type::NIL: - v = o.as(); - break; - case type::BOOLEAN: - v = o.as(); - break; - case type::POSITIVE_INTEGER: - v = o.as(); - break; - case type::NEGATIVE_INTEGER: - v = o.as(); - break; - case type::FLOAT32: - case type::FLOAT64: - v = o.as(); - break; - case type::STR: - v = o.as(); - break; - case type::BIN: - v = o.as(); - break; - case type::EXT: - v = o.as(); - break; - case type::ARRAY: - v = o.as > >(); - break; - case type::MAP: - v = o.as, type::basic_variant > >(); - break; - default: - break; - } - return o; - } -}; - -namespace detail { - -template -struct pack_imp : boost::static_visitor { - template - void operator()(T const& value) const { - pack()(o_, value); - } - pack_imp(packer& o):o_(o) {} - packer& o_; -}; - -} // namespace detail - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const type::basic_variant& v) const { - boost::apply_visitor(detail::pack_imp(o), v); - return o; - } -}; - -namespace detail { - -struct object_imp : boost::static_visitor { - void operator()(msgpack::type::nil_t const& v) const { - object()(o_, v); - } - void operator()(bool const& v) const { - object()(o_, v); - } - void operator()(uint64_t const& v) const { - object()(o_, v); - } - void operator()(int64_t const& v) const { - object()(o_, v); - } - void operator()(double const& v) const { - object()(o_, v); - } - template - void operator()(T const&) const { - throw msgpack::type_error(); - } - object_imp(msgpack::object& o):o_(o) {} - msgpack::object& o_; -}; - -} // namespace detail - -template -struct object > { - void operator()(msgpack::object& o, const type::basic_variant& v) const { - boost::apply_visitor(detail::object_imp(o), v); - } -}; - -namespace detail { - -struct object_with_zone_imp : boost::static_visitor { - template - void operator()(T const& v) const { - object_with_zone()(o_, v); - } - object_with_zone_imp(msgpack::object::with_zone& o):o_(o) {} - msgpack::object::with_zone& o_; -}; - -} // namespace detail - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const type::basic_variant& v) const { - boost::apply_visitor(detail::object_with_zone_imp(o), v); - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp deleted file mode 100644 index 46609a115..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp +++ /dev/null @@ -1,59 +0,0 @@ -// -// 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_V1_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP -#define MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" -#include "msgpack/adaptor/boost/string_ref.hpp" -#include "msgpack/adaptor/ext.hpp" -#include "msgpack/adaptor/raw.hpp" - -#include -#include -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -template -struct basic_variant; - -template -bool operator<(basic_variant const& lhs, basic_variant const& rhs); - -template -bool operator==(basic_variant const& lhs, basic_variant const& rhs); - -template -bool operator!=(basic_variant const& lhs, basic_variant const& rhs); - -typedef basic_variant, msgpack::type::ext> variant; -typedef basic_variant< -#if (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - boost::string_ref, -#else // (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - std::string, -#endif // (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - msgpack::type::raw_ref, msgpack::type::ext_ref> variant_ref; - -} // namespace type - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/optional.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/optional.hpp deleted file mode 100644 index bd51cdf29..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/optional.hpp +++ /dev/null @@ -1,105 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_BOOST_OPTIONAL_HPP -#define MSGPACK_V1_TYPE_BOOST_OPTIONAL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#if defined(__GNUC__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif // defined(__GNUC__) - -// To suppress warning on Boost.1.58.0 -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wunused-parameter" -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__) - -#include - -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__) -#pragma GCC diagnostic pop -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__) - -#if defined(__GNUC__) -#pragma GCC diagnostic pop -#endif // defined(__GNUC__) - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -#if !defined (MSGPACK_USE_CPP03) - -template -struct as, typename std::enable_if::value>::type> { - boost::optional operator()(msgpack::object const& o) const { - if(o.is_nil()) return boost::none; - return o.as(); - } -}; - -#endif // !defined (MSGPACK_USE_CPP03) - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, boost::optional& v) const { - if(o.is_nil()) v = boost::none; - else { - T t; - msgpack::adaptor::convert()(o, t); - v = t; - } - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const boost::optional& v) const { - if (v) o.pack(*v); - else o.pack_nil(); - return o; - } -}; - -template -struct object > { - void operator()(msgpack::object& o, const boost::optional& v) const { - if (v) msgpack::adaptor::object()(o, *v); - else o.type = msgpack::type::NIL; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const boost::optional& v) const { - if (v) msgpack::adaptor::object_with_zone()(o, *v); - else o.type = msgpack::type::NIL; - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_BOOST_OPTIONAL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/string_ref.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/string_ref.hpp deleted file mode 100644 index 9af03898b..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/string_ref.hpp +++ /dev/null @@ -1,87 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_BOOST_STRING_REF_HPP -#define MSGPACK_V1_TYPE_BOOST_STRING_REF_HPP - -#include -#if (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, boost::string_ref& v) const { - switch (o.type) { - case msgpack::type::BIN: - v = boost::string_ref(o.via.bin.ptr, o.via.bin.size); - break; - case msgpack::type::STR: - v = boost::string_ref(o.via.str.ptr, o.via.str.size); - break; - default: - throw msgpack::type_error(); - break; - } - return o; - } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const boost::string_ref& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_str(size); - o.pack_str_body(v.data(), size); - return o; - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, const boost::string_ref& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.type = msgpack::type::STR; - o.via.str.ptr = v.data(); - o.via.str.size = size; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const boost::string_ref& v) const { - static_cast(o) << v; - } -}; - - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - -#endif // MSGPACK_V1_TYPE_BOOST_STRING_REF_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/string_view.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/string_view.hpp deleted file mode 100644 index e3023ca32..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/boost/string_view.hpp +++ /dev/null @@ -1,87 +0,0 @@ -// -// 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_TYPE_BOOST_STRING_VIEW_HPP -#define MSGPACK_V1_TYPE_BOOST_STRING_VIEW_HPP - -#include -#if (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 61 - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, boost::string_view& v) const { - switch (o.type) { - case msgpack::type::BIN: - v = boost::string_view(o.via.bin.ptr, o.via.bin.size); - break; - case msgpack::type::STR: - v = boost::string_view(o.via.str.ptr, o.via.str.size); - break; - default: - throw msgpack::type_error(); - break; - } - return o; - } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const boost::string_view& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_str(size); - o.pack_str_body(v.data(), size); - return o; - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, const boost::string_view& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.type = msgpack::type::STR; - o.via.str.ptr = v.data(); - o.via.str.size = size; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const boost::string_view& v) const { - static_cast(o) << v; - } -}; - - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 - -#endif // MSGPACK_V1_TYPE_BOOST_STRING_VIEW_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/carray.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/carray.hpp deleted file mode 100644 index 8fff44688..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/carray.hpp +++ /dev/null @@ -1,253 +0,0 @@ -// -// 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_V1_TYPE_CARRAY_HPP -#define MSGPACK_V1_TYPE_CARRAY_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/object_fwd.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct convert { - msgpack::object const& operator()(msgpack::object const& o, T* v) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if (o.via.array.size > N) { throw msgpack::type_error(); } - msgpack::object* p = o.via.array.ptr; - msgpack::object* const pend = o.via.array.ptr + o.via.array.size; - do { - p->convert(*v); - ++p; - ++v; - } while(p < pend); - return o; - } -}; - -template -struct convert { - msgpack::object const& operator()(msgpack::object const& o, char(&v)[N]) const { - switch (o.type) { - case msgpack::type::BIN: - if (o.via.bin.size > N) { throw msgpack::type_error(); } - std::memcpy(v, o.via.bin.ptr, o.via.bin.size); - break; - case msgpack::type::STR: - if (o.via.str.size > N) { throw msgpack::type_error(); } - std::memcpy(v, o.via.str.ptr, o.via.str.size); - if (o.via.str.size < N) v[o.via.str.size] = '\0'; - break; - default: - throw msgpack::type_error(); - break; - } - return o; - } -}; - -template -struct convert { - msgpack::object const& operator()(msgpack::object const& o, unsigned char(&v)[N]) const { - switch (o.type) { - case msgpack::type::BIN: - if (o.via.bin.size > N) { throw msgpack::type_error(); } - std::memcpy(v, o.via.bin.ptr, o.via.bin.size); - break; - case msgpack::type::STR: - if (o.via.str.size > N) { throw msgpack::type_error(); } - std::memcpy(v, o.via.str.ptr, o.via.str.size); - if (o.via.str.size < N) v[o.via.str.size] = '\0'; - break; - default: - throw msgpack::type_error(); - break; - } - return o; - } -}; - - -template -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const T(&v)[N]) const { - uint32_t size = checked_get_container_size(N); - o.pack_array(size); - const T* ptr = v; - for (; ptr != &v[N]; ++ptr) o.pack(*ptr); - return o; - } -}; - -template -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const char(&v)[N]) const { - char const* p = v; - uint32_t size = checked_get_container_size(N); - char const* p2 = static_cast(std::memchr(p, '\0', size)); - uint32_t adjusted_size = p2 ? static_cast(p2 - p) : size; - o.pack_str(adjusted_size); - o.pack_str_body(p, adjusted_size); - return o; - } -}; - -template -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const char(&v)[N]) const { - uint32_t size = checked_get_container_size(N); - char const* p = v; - char const* p2 = static_cast(std::memchr(p, '\0', size)); - uint32_t adjusted_size = p2 ? static_cast(p2 - p) : size; - o.pack_str(adjusted_size); - o.pack_str_body(p, adjusted_size); - return o; - } -}; - -template -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const unsigned char(&v)[N]) const { - unsigned char const* p = v; - uint32_t size = checked_get_container_size(N); - o.pack_bin(size); - o.pack_bin_body(reinterpret_cast(p), size); - return o; - } -}; - -template -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const unsigned char(&v)[N]) const { - unsigned char const* p = v; - uint32_t size = checked_get_container_size(N); - o.pack_bin(size); - o.pack_bin_body(reinterpret_cast(p), size); - return o; - } -}; - -template -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const T(&v)[N]) const { - uint32_t size = checked_get_container_size(N); - o.type = msgpack::type::ARRAY; - msgpack::object* ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object) * size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.ptr = ptr; - o.via.array.size = size; - const T* pv = v; - for (; pv != &v[size]; ++pv) { - *ptr++ = msgpack::object(*pv, o.zone); - } - } -}; - -template -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const char(&v)[N]) const { - char const* p = v; - uint32_t size = checked_get_container_size(N); - char const* p2 = static_cast(std::memchr(p, '\0', size)); - uint32_t adjusted_size = p2 ? static_cast(p2 - p) : size; - o.type = msgpack::type::STR; - char* ptr = static_cast(o.zone.allocate_align(adjusted_size, MSGPACK_ZONE_ALIGNOF(char))); - o.via.str.ptr = ptr; - o.via.str.size = adjusted_size; - std::memcpy(ptr, p, adjusted_size); - } -}; - -template -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const char(&v)[N]) const { - char const* p = v; - uint32_t size = checked_get_container_size(N); - char const* p2 = static_cast(std::memchr(p, '\0', size)); - uint32_t adjusted_size = p2 ? static_cast(p2 - p) : size; - o.type = msgpack::type::STR; - char* ptr = static_cast(o.zone.allocate_align(adjusted_size, MSGPACK_ZONE_ALIGNOF(char))); - o.via.str.ptr = ptr; - o.via.str.size = adjusted_size; - std::memcpy(ptr, p, adjusted_size); - } -}; - -template -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const unsigned char(&v)[N]) const { - uint32_t size = checked_get_container_size(N); - o.type = msgpack::type::BIN; - char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); - o.via.bin.ptr = ptr; - o.via.bin.size = size; - std::memcpy(ptr, v, size); - } -}; - -template -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const unsigned char(&v)[N]) const { - uint32_t size = checked_get_container_size(N); - o.type = msgpack::type::BIN; - char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); - o.via.bin.ptr = ptr; - o.via.bin.size = size; - std::memcpy(ptr, v, size); - } -}; - -template -struct object { - void operator()(msgpack::object& o, const char(&v)[N]) const { - char const* p = v; - uint32_t size = checked_get_container_size(N); - char const* p2 = static_cast(std::memchr(p, '\0', size)); - uint32_t adjusted_size = p2 ? static_cast(p2 - p) : size; - o.type = msgpack::type::STR; - o.via.str.ptr = p; - o.via.str.size = adjusted_size; - } -}; - -template -struct object { - void operator()(msgpack::object& o, const char(&v)[N]) const { - char const* p = v; - uint32_t size = checked_get_container_size(N); - char const* p2 = static_cast(std::memchr(p, '\0', size)); - uint32_t adjusted_size = p2 ? static_cast(p2 - p) : size; - o.type = msgpack::type::STR; - o.via.str.ptr = p; - o.via.str.size = adjusted_size; - } -}; - - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_CARRAY_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/char_ptr.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/char_ptr.hpp deleted file mode 100644 index a405fa3c3..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/char_ptr.hpp +++ /dev/null @@ -1,92 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2014-2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_CHAR_PTR_HPP -#define MSGPACK_V1_TYPE_CHAR_PTR_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/object_fwd.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const char* v) const { - uint32_t size = checked_get_container_size(std::strlen(v)); - o.pack_str(size); - o.pack_str_body(v, size); - return o; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const char* v) const { - uint32_t size = checked_get_container_size(std::strlen(v)); - o.type = msgpack::type::STR; - char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); - o.via.str.ptr = ptr; - o.via.str.size = size; - std::memcpy(ptr, v, size); - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, const char* v) const { - uint32_t size = checked_get_container_size(std::strlen(v)); - o.type = msgpack::type::STR; - o.via.str.ptr = v; - o.via.str.size = size; - } -}; - - -template <> -struct pack { - template - packer& operator()(packer& o, char* v) const { - return o << static_cast(v); - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, char* v) const { - o << static_cast(v); - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, char* v) const { - o << static_cast(v); - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_CHAR_PTR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/check_container_size.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/check_container_size.hpp deleted file mode 100644 index 8c4f23ce3..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/check_container_size.hpp +++ /dev/null @@ -1,67 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_CHECK_CONTAINER_SIZE_HPP -#define MSGPACK_V1_CHECK_CONTAINER_SIZE_HPP - -#include "msgpack/v1/adaptor/check_container_size_decl.hpp" -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -struct container_size_overflow : public std::runtime_error { - explicit container_size_overflow(const std::string& msg) - :std::runtime_error(msg) {} -#if !defined(MSGPACK_USE_CPP03) - explicit container_size_overflow(const char* msg): - std::runtime_error(msg) {} -#endif // !defined(MSGPACK_USE_CPP03) -}; - -namespace detail { - -template -inline void check_container_size(std::size_t size) { - if (size > 0xffffffff) throw container_size_overflow("container size overflow"); -} - -template <> -inline void check_container_size<4>(std::size_t /*size*/) { -} - -template -inline void check_container_size_for_ext(std::size_t size) { - if (size > 0xffffffff) throw container_size_overflow("container size overflow"); -} - -template <> -inline void check_container_size_for_ext<4>(std::size_t size) { - if (size > 0xfffffffe) throw container_size_overflow("container size overflow"); -} - -} // namespace detail - -template -inline uint32_t checked_get_container_size(T size) { - detail::check_container_size(static_cast(size)); - return static_cast(size); -} - - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_CHECK_CONTAINER_SIZE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/check_container_size_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/check_container_size_decl.hpp deleted file mode 100644 index 9a2923208..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/check_container_size_decl.hpp +++ /dev/null @@ -1,44 +0,0 @@ -// -// 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_V1_CHECK_CONTAINER_SIZE_DECL_HPP -#define MSGPACK_V1_CHECK_CONTAINER_SIZE_DECL_HPP - -#include "msgpack/versioning.hpp" -#include -#include "msgpack/sysdep.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -struct container_size_overflow; - -namespace detail { - -template -inline void check_container_size(std::size_t size); - -template -inline void check_container_size_for_ext(std::size_t size); - -} // namespace detail - -template -inline uint32_t checked_get_container_size(T size); - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_CHECK_CONTAINER_SIZE_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/complex.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/complex.hpp deleted file mode 100644 index d631b4ac2..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/complex.hpp +++ /dev/null @@ -1,91 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2020 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_V1_TYPE_COMPLEX_HPP -#define MSGPACK_V1_TYPE_COMPLEX_HPP - -#include -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/meta.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -#if !defined(MSGPACK_USE_CPP03) - -template -struct as, typename std::enable_if::value>::type> { - std::complex operator()(msgpack::object const& o) const { - if (o.type != msgpack::type::ARRAY) - throw msgpack::type_error(); - if (o.via.array.size != 2) - throw msgpack::type_error(); - return std::complex(o.via.array.ptr[0].as(), o.via.array.ptr[1].as()); - } -}; - -#endif // !defined(MSGPACK_USE_CPP03) - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, std::complex& v) const { - if(o.type != msgpack::type::ARRAY) - throw msgpack::type_error(); - if(o.via.array.size != 2) - throw msgpack::type_error(); - T real; - T imag; - o.via.array.ptr[0].convert(real); - o.via.array.ptr[1].convert(imag); - v.real(real); - v.imag(imag); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, std::complex const& v) const { - o.pack_array(2); - o.pack(v.real()); - o.pack(v.imag()); - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, std::complex const& v) const { - o.type = msgpack::type::ARRAY; - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*2, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.ptr = p; - o.via.array.size = 2; - p[0] = msgpack::object(v.real(), o.zone); - p[1] = msgpack::object(v.imag(), o.zone); - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - - -#endif // MSGPACK_V1_TYPE_COMPLEX_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/array.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/array.hpp deleted file mode 100644 index 1a5ba36bb..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/array.hpp +++ /dev/null @@ -1,138 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2014-2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_V1_TYPE_CPP11_ARRAY_HPP -#define MSGPACK_V1_TYPE_CPP11_ARRAY_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" -#include "msgpack/meta.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -namespace detail { - -namespace array { - -template -inline std::array concat( - std::array&& a1, - std::array&& a2, - msgpack::seq, - msgpack::seq) { - return {{ std::move(a1[I1])..., std::move(a2[I2])... }}; -} - -template -inline std::array concat(std::array&& a1, std::array&& a2) { - return concat(std::move(a1), std::move(a2), msgpack::gen_seq(), msgpack::gen_seq()); -} - -template -struct as_impl { - static std::array as(msgpack::object const& o) { - msgpack::object* p = o.via.array.ptr + N - 1; - return concat(as_impl::as(o), std::array{{p->as()}}); - } -}; - -template -struct as_impl { - static std::array as(msgpack::object const& o) { - msgpack::object* p = o.via.array.ptr; - return std::array{{p->as()}}; - } -}; - -template -struct as_impl { - static std::array as(msgpack::object const&) { - return std::array(); - } -}; - -} // namespace array - -} // namespace detail - -template -struct as, typename std::enable_if::value>::type> { - std::array operator()(msgpack::object const& o) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size > N) { throw msgpack::type_error(); } - return detail::array::as_impl::as(o); - } -}; - -template -struct convert> { - msgpack::object const& operator()(msgpack::object const& o, std::array& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size > N) { throw msgpack::type_error(); } - if(o.via.array.size > 0) { - msgpack::object* p = o.via.array.ptr; - msgpack::object* const pend = o.via.array.ptr + o.via.array.size; - T* it = &v[0]; - do { - p->convert(*it); - ++p; - ++it; - } while(p < pend); - } - return o; - } -}; - -template -struct pack> { - template - msgpack::packer& operator()(msgpack::packer& o, const std::array& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for(auto const& e : v) o.pack(e); - return o; - } -}; - -template -struct object_with_zone> { - void operator()(msgpack::object::with_zone& o, const std::array& v) const { - o.type = msgpack::type::ARRAY; - if(v.empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = size; - o.via.array.ptr = p; - for (auto const& e : v) *p++ = msgpack::object(e, o.zone); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_CPP11_ARRAY_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_char.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_char.hpp deleted file mode 100644 index 865e77eb5..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_char.hpp +++ /dev/null @@ -1,97 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2014-2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_CPP11_ARRAY_CHAR_HPP -#define MSGPACK_V1_TYPE_CPP11_ARRAY_CHAR_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct convert> { - msgpack::object const& operator()(msgpack::object const& o, std::array& v) const { - switch (o.type) { - case msgpack::type::BIN: - if(o.via.bin.size > N) { throw msgpack::type_error(); } - std::memcpy(v.data(), o.via.bin.ptr, o.via.bin.size); - break; - case msgpack::type::STR: - if(o.via.str.size > N) { throw msgpack::type_error(); } - std::memcpy(v.data(), o.via.str.ptr, N); - break; - default: - throw msgpack::type_error(); - break; - } - return o; - } -}; - -template <> -struct convert> { - msgpack::object const& operator()(msgpack::object const& o, std::array&) const { - return o; - } -}; - -template -struct pack> { - template - msgpack::packer& operator()(msgpack::packer& o, const std::array& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_bin(size); - o.pack_bin_body(v.data(), size); - - return o; - } -}; - -template -struct object> { - void operator()(msgpack::object& o, const std::array& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.type = msgpack::type::BIN; - o.via.bin.ptr = v.data(); - o.via.bin.size = size; - } -}; - -template -struct object_with_zone> { - void operator()(msgpack::object::with_zone& o, const std::array& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.type = msgpack::type::BIN; - char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); - o.via.bin.ptr = ptr; - o.via.bin.size = size; - std::memcpy(ptr, v.data(), size); - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_CPP11_ARRAY_CHAR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp deleted file mode 100644 index 5b35d15f7..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp +++ /dev/null @@ -1,97 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2014-2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_CPP11_ARRAY_UNSIGNED_CHAR_HPP -#define MSGPACK_V1_TYPE_CPP11_ARRAY_UNSIGNED_CHAR_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct convert> { - msgpack::object const& operator()(msgpack::object const& o, std::array& v) const { - switch (o.type) { - case msgpack::type::BIN: - if(o.via.bin.size > N) { throw msgpack::type_error(); } - std::memcpy(v.data(), o.via.bin.ptr, o.via.bin.size); - break; - case msgpack::type::STR: - if(o.via.str.size > N) { throw msgpack::type_error(); } - std::memcpy(v.data(), o.via.str.ptr, N); - break; - default: - throw msgpack::type_error(); - break; - } - return o; - } -}; - -template <> -struct convert> { - msgpack::object const& operator()(msgpack::object const& o, std::array&) const { - return o; - } -}; - -template -struct pack> { - template - msgpack::packer& operator()(msgpack::packer& o, const std::array& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_bin(size); - o.pack_bin_body(reinterpret_cast(v.data()), size); - - return o; - } -}; - -template -struct object> { - void operator()(msgpack::object& o, const std::array& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.type = msgpack::type::BIN; - o.via.bin.ptr = reinterpret_cast(v.data()); - o.via.bin.size = size; - } -}; - -template -struct object_with_zone> { - void operator()(msgpack::object::with_zone& o, const std::array& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.type = msgpack::type::BIN; - char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); - o.via.bin.ptr = ptr; - o.via.bin.size = size; - std::memcpy(ptr, v.data(), size); - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_CPP11_ARRAY_UNSIGNED_CHAR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/chrono.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/chrono.hpp deleted file mode 100644 index 333194ed5..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/chrono.hpp +++ /dev/null @@ -1,250 +0,0 @@ -// -// 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_TYPE_CPP11_CHRONO_HPP -#define MSGPACK_V1_TYPE_CPP11_CHRONO_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct as> { - typename std::chrono::time_point operator()(msgpack::object const& o) const { - if(o.type != msgpack::type::EXT) { throw msgpack::type_error(); } - if(o.via.ext.type() != -1) { throw msgpack::type_error(); } - std::chrono::time_point tp; - switch(o.via.ext.size) { - case 4: { - uint32_t sec; - _msgpack_load32(uint32_t, o.via.ext.data(), &sec); - tp += std::chrono::seconds(sec); - } break; - case 8: { - uint64_t value; - _msgpack_load64(uint64_t, o.via.ext.data(), &value); - uint32_t nanosec = boost::numeric_cast(value >> 34); - uint64_t sec = value & 0x00000003ffffffffLL; - tp += std::chrono::duration_cast( - std::chrono::nanoseconds(nanosec)); - tp += std::chrono::seconds(sec); - } break; - case 12: { - uint32_t nanosec; - _msgpack_load32(uint32_t, o.via.ext.data(), &nanosec); - int64_t sec; - _msgpack_load64(int64_t, o.via.ext.data() + 4, &sec); - - if (sec > 0) { - tp += std::chrono::seconds(sec); - tp += std::chrono::duration_cast( - std::chrono::nanoseconds(nanosec)); - } - else { - if (nanosec == 0) { - tp += std::chrono::seconds(sec); - } - else { - ++sec; - tp += std::chrono::seconds(sec); - int64_t ns = boost::numeric_cast(nanosec) - 1000000000L; - tp += std::chrono::duration_cast( - std::chrono::nanoseconds(ns)); - } - } - } break; - default: - throw msgpack::type_error(); - } - return tp; - } -}; - -template -struct convert> { - msgpack::object const& operator()(msgpack::object const& o, std::chrono::time_point& v) const { - if(o.type != msgpack::type::EXT) { throw msgpack::type_error(); } - if(o.via.ext.type() != -1) { throw msgpack::type_error(); } - std::chrono::time_point tp; - switch(o.via.ext.size) { - case 4: { - uint32_t sec; - _msgpack_load32(uint32_t, o.via.ext.data(), &sec); - tp += std::chrono::seconds(sec); - v = tp; - } break; - case 8: { - uint64_t value; - _msgpack_load64(uint64_t, o.via.ext.data(), &value); - uint32_t nanosec = boost::numeric_cast(value >> 34); - uint64_t sec = value & 0x00000003ffffffffLL; - tp += std::chrono::duration_cast( - std::chrono::nanoseconds(nanosec)); - tp += std::chrono::seconds(sec); - v = tp; - } break; - case 12: { - uint32_t nanosec; - _msgpack_load32(uint32_t, o.via.ext.data(), &nanosec); - int64_t sec; - _msgpack_load64(int64_t, o.via.ext.data() + 4, &sec); - - if (sec > 0) { - tp += std::chrono::seconds(sec); - tp += std::chrono::duration_cast( - std::chrono::nanoseconds(nanosec)); - } - else { - if (nanosec == 0) { - tp += std::chrono::seconds(sec); - } - else { - ++sec; - tp += std::chrono::seconds(sec); - int64_t ns = boost::numeric_cast(nanosec) - 1000000000L; - tp += std::chrono::duration_cast( - std::chrono::nanoseconds(ns)); - } - } - - v = tp; - } break; - default: - throw msgpack::type_error(); - } - return o; - } -}; - -template -struct pack> { - template - msgpack::packer& operator()(msgpack::packer& o, std::chrono::time_point const& v) const { - int64_t count = boost::numeric_cast(v.time_since_epoch().count()); - int64_t nano_num = - Duration::period::ratio::num * - (1000000000L / Duration::period::ratio::den); - - int64_t nanosec = count % (1000000000L / nano_num) * nano_num; - int64_t sec = 0; - if (nanosec < 0) { - nanosec = 1000000000L + nanosec; - --sec; - } - sec += count - * Duration::period::ratio::num - / Duration::period::ratio::den; - - if ((sec >> 34) == 0) { - uint64_t data64 = (boost::numeric_cast(nanosec) << 34) | boost::numeric_cast(sec); - if ((data64 & 0xffffffff00000000L) == 0) { - // timestamp 32 - o.pack_ext(4, -1); - uint32_t data32 = boost::numeric_cast(data64); - char buf[4]; - _msgpack_store32(buf, data32); - o.pack_ext_body(buf, 4); - } - else { - // timestamp 64 - o.pack_ext(8, -1); - char buf[8]; - _msgpack_store64(buf, data64); - o.pack_ext_body(buf, 8); - } - } - else { - // timestamp 96 - o.pack_ext(12, -1); - char buf[12]; - - - _msgpack_store32(&buf[0], boost::numeric_cast(nanosec)); - _msgpack_store64(&buf[4], sec); - o.pack_ext_body(buf, 12); - } - return o; - } -}; - -template -struct object_with_zone> { - void operator()(msgpack::object::with_zone& o, const std::chrono::time_point& v) const { - int64_t count = boost::numeric_cast(v.time_since_epoch().count()); - - int64_t nano_num = - Duration::period::ratio::num * - (1000000000L / Duration::period::ratio::den); - - int64_t nanosec = count % (1000000000L / nano_num) * nano_num; - int64_t sec = 0; - if (nanosec < 0) { - nanosec = 1000000000L + nanosec; - --sec; - } - sec += count - * Duration::period::ratio::num - / Duration::period::ratio::den; - if ((sec >> 34) == 0) { - uint64_t data64 = (boost::numeric_cast(nanosec) << 34) | boost::numeric_cast(sec); - if ((data64 & 0xffffffff00000000L) == 0) { - // timestamp 32 - o.type = msgpack::type::EXT; - o.via.ext.size = 4; - char* p = static_cast(o.zone.allocate_no_align(o.via.ext.size + 1)); - p[0] = static_cast(-1); - uint32_t data32 = boost::numeric_cast(data64); - _msgpack_store32(&p[1], data32); - o.via.ext.ptr = p; - } - else { - // timestamp 64 - o.type = msgpack::type::EXT; - o.via.ext.size = 8; - char* p = static_cast(o.zone.allocate_no_align(o.via.ext.size + 1)); - p[0] = static_cast(-1); - _msgpack_store64(&p[1], data64); - o.via.ext.ptr = p; - } - } - else { - // timestamp 96 - o.type = msgpack::type::EXT; - o.via.ext.size = 12; - char* p = static_cast(o.zone.allocate_no_align(o.via.ext.size + 1)); - p[0] = static_cast(-1); - _msgpack_store32(&p[1], boost::numeric_cast(nanosec)); - _msgpack_store64(&p[1 + 4], sec); - o.via.ext.ptr = p; - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_CPP11_CHRONO_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/forward_list.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/forward_list.hpp deleted file mode 100644 index c207c0472..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/forward_list.hpp +++ /dev/null @@ -1,94 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2014 KONDO-2015 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_TYPE_CPP11_FORWARD_LIST_HPP -#define MSGPACK_V1_TYPE_CPP11_FORWARD_LIST_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template - struct as, typename std::enable_if::value>::type> { - std::forward_list operator()(msgpack::object const& o) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - std::forward_list v; - msgpack::object* p = o.via.array.ptr + o.via.array.size; - msgpack::object* const pend = o.via.array.ptr; - while (p != pend) { - --p; - v.push_front(p->as()); - } - return v; - } -}; - -template -struct convert> { - msgpack::object const& operator()(msgpack::object const& o, std::forward_list& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - v.resize(o.via.array.size); - msgpack::object* p = o.via.array.ptr; - for (auto &e : v) { - p->convert(e); - ++p; - } - return o; - } -}; - -template -struct pack> { - template - msgpack::packer& operator()(msgpack::packer& o, const std::forward_list& v) const { - uint32_t size = checked_get_container_size(std::distance(v.begin(), v.end())); - o.pack_array(size); - for(auto const& e : v) o.pack(e); - return o; - } -}; - -template -struct object_with_zone> { - void operator()(msgpack::object::with_zone& o, const std::forward_list& v) const { - o.type = msgpack::type::ARRAY; - if(v.empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } else { - uint32_t size = checked_get_container_size(std::distance(v.begin(), v.end())); - o.via.array.size = size; - msgpack::object* p = static_cast( - o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.ptr = p; - for(auto const& e : v) *p++ = msgpack::object(e, o.zone); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_CPP11_FORWARD_LIST_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/reference_wrapper.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/reference_wrapper.hpp deleted file mode 100644 index 02abe8376..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/reference_wrapper.hpp +++ /dev/null @@ -1,68 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_V1_TYPE_CPP11_REFERENCE_WRAPPER_HPP -#define MSGPACK_V1_TYPE_CPP11_REFERENCE_WRAPPER_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct convert> { - msgpack::object const& operator()(msgpack::object const& o, std::reference_wrapper& v) const { - msgpack::adaptor::convert()(o, v.get()); - return o; - } -}; - -template -struct pack> { - template - msgpack::packer& operator()(msgpack::packer& o, const std::reference_wrapper& v) const { - o.pack(v.get()); - return o; - } -}; - -template -struct object > { - void operator()(msgpack::object& o, const std::reference_wrapper& v) const { - msgpack::adaptor::object::type>()(o, v.get()); - } -}; - -template -struct object_with_zone> { - void operator()(msgpack::object::with_zone& o, const std::reference_wrapper& v) const { - msgpack::adaptor::object_with_zone::type>()(o, v.get()); - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_CPP11_REFERENCE_WRAPPER_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/shared_ptr.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/shared_ptr.hpp deleted file mode 100644 index f11d63d98..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/shared_ptr.hpp +++ /dev/null @@ -1,82 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_V1_TYPE_CPP11_SHARED_PTR_HPP -#define MSGPACK_V1_TYPE_CPP11_SHARED_PTR_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct as, typename std::enable_if::value>::type> { - std::shared_ptr operator()(msgpack::object const& o) const { - if(o.is_nil()) return MSGPACK_NULLPTR; - return std::make_shared(o.as()); - } -}; - -template -struct convert> { - msgpack::object const& operator()(msgpack::object const& o, std::shared_ptr& v) const { - if(o.is_nil()) v.reset(); - else { - v = std::make_shared(); - msgpack::adaptor::convert()(o, *v); - } - return o; - } -}; - -template -struct pack> { - template - msgpack::packer& operator()(msgpack::packer& o, const std::shared_ptr& v) const { - if (v) o.pack(*v); - else o.pack_nil(); - return o; - } -}; - -template -struct object > { - void operator()(msgpack::object& o, const std::shared_ptr& v) const { - if (v) msgpack::adaptor::object()(o, *v); - else o.type = msgpack::type::NIL; - } -}; - -template -struct object_with_zone> { - void operator()(msgpack::object::with_zone& o, const std::shared_ptr& v) const { - if (v) msgpack::adaptor::object_with_zone()(o, *v); - else o.type = msgpack::type::NIL; - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_CPP11_SHARED_PTR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/timespec.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/timespec.hpp deleted file mode 100644 index dc047ee00..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/timespec.hpp +++ /dev/null @@ -1,140 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2018 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_CPP11_TIMESPEC_HPP -#define MSGPACK_V1_TYPE_CPP11_TIMESPEC_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/object.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, timespec& v) const { - if(o.type != msgpack::type::EXT) { throw msgpack::type_error(); } - if(o.via.ext.type() != -1) { throw msgpack::type_error(); } - switch(o.via.ext.size) { - case 4: { - uint32_t sec; - _msgpack_load32(uint32_t, o.via.ext.data(), &sec); - v.tv_sec = static_cast(sec); - v.tv_nsec = 0; - } break; - case 8: { - uint64_t value; - _msgpack_load64(uint64_t, o.via.ext.data(), &value); - v.tv_sec = static_cast(value & 0x00000003ffffffffLL); - v.tv_nsec= static_cast(value >> 34); - } break; - case 12: { - uint32_t nanosec; - _msgpack_load32(uint32_t, o.via.ext.data(), &nanosec); - int64_t sec; - _msgpack_load64(int64_t, o.via.ext.data() + 4, &sec); - v.tv_sec = static_cast(sec); - v.tv_nsec = static_cast(nanosec); - } break; - default: - throw msgpack::type_error(); - } - return o; - } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const timespec& v) const { - if ((static_cast(v.tv_sec) >> 34) == 0) { - uint64_t data64 = (static_cast(v.tv_nsec) << 34) | static_cast(v.tv_sec); - if ((data64 & 0xffffffff00000000L) == 0) { - // timestamp 32 - o.pack_ext(4, -1); - uint32_t data32 = static_cast(data64); - char buf[4]; - _msgpack_store32(buf, data32); - o.pack_ext_body(buf, 4); - } - else { - // timestamp 64 - o.pack_ext(8, -1); - char buf[8]; - _msgpack_store64(buf, data64); - o.pack_ext_body(buf, 8); - } - } - else { - // timestamp 96 - o.pack_ext(12, -1); - char buf[12]; - _msgpack_store32(&buf[0], static_cast(v.tv_nsec)); - _msgpack_store64(&buf[4], v.tv_sec); - o.pack_ext_body(buf, 12); - } - return o; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const timespec& v) const { - if ((static_cast(v.tv_sec) >> 34) == 0) { - uint64_t data64 = (static_cast(v.tv_nsec) << 34) | static_cast(v.tv_sec); - if ((data64 & 0xffffffff00000000L) == 0) { - // timestamp 32 - o.type = msgpack::type::EXT; - o.via.ext.size = 4; - char* p = static_cast(o.zone.allocate_no_align(o.via.ext.size + 1)); - p[0] = static_cast(-1); - uint32_t data32 = static_cast(data64); - _msgpack_store32(&p[1], data32); - o.via.ext.ptr = p; - } - else { - // timestamp 64 - o.type = msgpack::type::EXT; - o.via.ext.size = 8; - char* p = static_cast(o.zone.allocate_no_align(o.via.ext.size + 1)); - p[0] = static_cast(-1); - _msgpack_store64(&p[1], data64); - o.via.ext.ptr = p; - } - } - else { - // timestamp 96 - o.type = msgpack::type::EXT; - o.via.ext.size = 12; - char* p = static_cast(o.zone.allocate_no_align(o.via.ext.size + 1)); - p[0] = static_cast(-1); - _msgpack_store32(&p[1], static_cast(v.tv_nsec)); - _msgpack_store64(&p[1 + 4], v.tv_sec); - o.via.ext.ptr = p; - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_CPP11_TIMESPEC_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/tuple.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/tuple.hpp deleted file mode 100644 index 08b14f5c4..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/tuple.hpp +++ /dev/null @@ -1,175 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2015 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_V1_TYPE_CPP11_TUPLE_HPP -#define MSGPACK_V1_TYPE_CPP11_TUPLE_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" -#include "msgpack/meta.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -// --- Pack from tuple to packer stream --- -template -struct StdTuplePacker { - static void pack( - msgpack::packer& o, - const Tuple& v) { - StdTuplePacker::pack(o, v); - o.pack(std::get(v)); - } -}; - -template -struct StdTuplePacker { - static void pack ( - msgpack::packer&, - const Tuple&) { - } -}; - -namespace adaptor { - -template -struct pack> { - template - msgpack::packer& operator()( - msgpack::packer& o, - const std::tuple& v) const { - uint32_t size = checked_get_container_size(sizeof...(Args)); - o.pack_array(size); - StdTuplePacker::pack(o, v); - return o; - } -}; - -} // namespace adaptor - -// --- Convert from tuple to object --- - -template -struct StdTupleAs; - -template -struct StdTupleAsImpl { - static std::tuple as(msgpack::object const& o) { - return std::tuple_cat( - std::make_tuple(o.via.array.ptr[o.via.array.size - sizeof...(Args) - 1].as()), - StdTupleAs::as(o)); - } -}; - -template -struct StdTupleAs { - static std::tuple as(msgpack::object const& o) { - return StdTupleAsImpl::as(o); - } -}; - -template <> -struct StdTupleAs<> { - static std::tuple<> as (msgpack::object const&) { - return std::tuple<>(); - } -}; - -template -struct StdTupleConverter { - static void convert( - msgpack::object const& o, - Tuple& v) { - StdTupleConverter::convert(o, v); - if (o.via.array.size >= N) - o.via.array.ptr[N-1].convert(v))>::type>(std::get(v)); - } -}; - -template -struct StdTupleConverter { - static void convert ( - msgpack::object const&, - Tuple&) { - } -}; - -namespace adaptor { - -template -struct as, typename std::enable_if::value>::type> { - std::tuple operator()( - msgpack::object const& o) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - return StdTupleAs::as(o); - } -}; - -template -struct convert> { - msgpack::object const& operator()( - msgpack::object const& o, - std::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - StdTupleConverter::convert(o, v); - return o; - } -}; - -} // namespace adaptor - -// --- Convert from tuple to object with zone --- -template -struct StdTupleToObjectWithZone { - static void convert( - msgpack::object::with_zone& o, - const Tuple& v) { - StdTupleToObjectWithZone::convert(o, v); - o.via.array.ptr[N-1] = msgpack::object(std::get(v), o.zone); - } -}; - -template -struct StdTupleToObjectWithZone { - static void convert ( - msgpack::object::with_zone&, - const Tuple&) { - } -}; - -namespace adaptor { - -template -struct object_with_zone> { - void operator()( - msgpack::object::with_zone& o, - std::tuple const& v) const { - uint32_t size = checked_get_container_size(sizeof...(Args)); - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = size; - StdTupleToObjectWithZone::convert(o, v); - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_CPP11_TUPLE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/unique_ptr.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/unique_ptr.hpp deleted file mode 100644 index a175a84e5..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/unique_ptr.hpp +++ /dev/null @@ -1,82 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_V1_TYPE_CPP11_UNIQUE_PTR_HPP -#define MSGPACK_V1_TYPE_CPP11_UNIQUE_PTR_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct as, typename std::enable_if::value>::type> { - std::unique_ptr operator()(msgpack::object const& o) const { - if(o.is_nil()) return MSGPACK_NULLPTR; - return std::unique_ptr(new T(o.as())); - } -}; - -template -struct convert> { - msgpack::object const& operator()(msgpack::object const& o, std::unique_ptr& v) const { - if(o.is_nil()) v.reset(); - else { - v.reset(new T); - msgpack::adaptor::convert()(o, *v); - } - return o; - } -}; - -template -struct pack> { - template - msgpack::packer& operator()(msgpack::packer& o, const std::unique_ptr& v) const { - if (v) o.pack(*v); - else o.pack_nil(); - return o; - } -}; - -template -struct object > { - void operator()(msgpack::object& o, const std::unique_ptr& v) const { - if (v) msgpack::adaptor::object()(o, *v); - else o.type = msgpack::type::NIL; - } -}; - -template -struct object_with_zone> { - void operator()(msgpack::object::with_zone& o, const std::unique_ptr& v) const { - if (v) msgpack::adaptor::object_with_zone()(o, *v); - else o.type = msgpack::type::NIL; - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_CPP11_UNIQUE_PTR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp deleted file mode 100644 index bcd8fddc9..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp +++ /dev/null @@ -1,182 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2014-2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_CPP11_UNORDERED_MAP_HPP -#define MSGPACK_V1_TYPE_CPP11_UNORDERED_MAP_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct as< - std::unordered_map, - typename std::enable_if::value || msgpack::has_as::value>::type> { - std::unordered_map operator()(msgpack::object const& o) const { - if (o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - msgpack::object_kv* p(o.via.map.ptr); - msgpack::object_kv* const pend(o.via.map.ptr + o.via.map.size); - std::unordered_map v; - for (; p != pend; ++p) { - v.emplace(p->key.as(), p->val.as()); - } - return v; - } -}; - -template -struct convert> { - msgpack::object const& operator()(msgpack::object const& o, std::unordered_map& v) const { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - msgpack::object_kv* p(o.via.map.ptr); - msgpack::object_kv* const pend(o.via.map.ptr + o.via.map.size); - std::unordered_map tmp; - for(; p != pend; ++p) { - K key; - p->key.convert(key); - p->val.convert(tmp[std::move(key)]); - } - v = std::move(tmp); - return o; - } -}; - -template -struct pack> { - template - msgpack::packer& operator()(msgpack::packer& o, const std::unordered_map& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_map(size); - for(typename std::unordered_map::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(it->first); - o.pack(it->second); - } - return o; - } -}; - -template -struct object_with_zone> { - void operator()(msgpack::object::with_zone& o, const std::unordered_map& v) const { - o.type = msgpack::type::MAP; - if(v.empty()) { - o.via.map.ptr = MSGPACK_NULLPTR; - o.via.map.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object_kv* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - msgpack::object_kv* const pend = p + size; - o.via.map.ptr = p; - o.via.map.size = size; - typename std::unordered_map::const_iterator it(v.begin()); - do { - p->key = msgpack::object(it->first, o.zone); - p->val = msgpack::object(it->second, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - - -template -struct as< - std::unordered_multimap, - typename std::enable_if::value || msgpack::has_as::value>::type> { - std::unordered_multimap operator()(msgpack::object const& o) const { - if (o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - msgpack::object_kv* p(o.via.map.ptr); - msgpack::object_kv* const pend(o.via.map.ptr + o.via.map.size); - std::unordered_multimap v; - for (; p != pend; ++p) { - v.emplace(p->key.as(), p->val.as()); - } - return v; - } -}; - -template -struct convert> { - msgpack::object const& operator()(msgpack::object const& o, std::unordered_multimap& v) const { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - msgpack::object_kv* p(o.via.map.ptr); - msgpack::object_kv* const pend(o.via.map.ptr + o.via.map.size); - std::unordered_multimap tmp; - for(; p != pend; ++p) { - std::pair value; - p->key.convert(value.first); - p->val.convert(value.second); - tmp.insert(std::move(value)); - } - v = std::move(tmp); - return o; - } -}; - -template -struct pack> { - template - msgpack::packer& operator()(msgpack::packer& o, const std::unordered_multimap& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_map(size); - for(typename std::unordered_multimap::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(it->first); - o.pack(it->second); - } - return o; - } -}; - -template -struct object_with_zone> { - void operator()(msgpack::object::with_zone& o, const std::unordered_multimap& v) const { - o.type = msgpack::type::MAP; - if(v.empty()) { - o.via.map.ptr = MSGPACK_NULLPTR; - o.via.map.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object_kv* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - msgpack::object_kv* const pend = p + size; - o.via.map.ptr = p; - o.via.map.size = size; - typename std::unordered_multimap::const_iterator it(v.begin()); - do { - p->key = msgpack::object(it->first, o.zone); - p->val = msgpack::object(it->second, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - - -#endif // MSGPACK_V1_TYPE_CPP11_UNORDERED_MAP_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp deleted file mode 100644 index 44a3cc3b6..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp +++ /dev/null @@ -1,172 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2014-2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_CPP11_UNORDERED_SET_HPP -#define MSGPACK_V1_TYPE_CPP11_UNORDERED_SET_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct as, typename std::enable_if::value>::type> { - std::unordered_set operator()(msgpack::object const& o) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - msgpack::object* p = o.via.array.ptr + o.via.array.size; - msgpack::object* const pbegin = o.via.array.ptr; - std::unordered_set v; - while (p > pbegin) { - --p; - v.insert(p->as()); - } - return v; - } -}; - -template -struct convert> { - msgpack::object const& operator()(msgpack::object const& o, std::unordered_set& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - msgpack::object* p = o.via.array.ptr + o.via.array.size; - msgpack::object* const pbegin = o.via.array.ptr; - std::unordered_set tmp; - while(p > pbegin) { - --p; - tmp.insert(p->as()); - } - v = std::move(tmp); - return o; - } -}; - -template -struct pack> { - template - msgpack::packer& operator()(msgpack::packer& o, const std::unordered_set& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for(typename std::unordered_set::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(*it); - } - return o; - } -}; - -template -struct object_with_zone> { - void operator()(msgpack::object::with_zone& o, const std::unordered_set& v) const { - o.type = msgpack::type::ARRAY; - if(v.empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - msgpack::object* const pend = p + size; - o.via.array.ptr = p; - o.via.array.size = size; - typename std::unordered_set::const_iterator it(v.begin()); - do { - *p = msgpack::object(*it, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - - -template -struct as, typename std::enable_if::value>::type> { - std::unordered_multiset operator()(msgpack::object const& o) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - msgpack::object* p = o.via.array.ptr + o.via.array.size; - msgpack::object* const pbegin = o.via.array.ptr; - std::unordered_multiset v; - while (p > pbegin) { - --p; - v.insert(p->as()); - } - return v; - } -}; - -template -struct convert> { - msgpack::object const& operator()(msgpack::object const& o, std::unordered_multiset& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - msgpack::object* p = o.via.array.ptr + o.via.array.size; - msgpack::object* const pbegin = o.via.array.ptr; - std::unordered_multiset tmp; - while(p > pbegin) { - --p; - tmp.insert(p->as()); - } - v = std::move(tmp); - return o; - } -}; - -template -struct pack> { - template - msgpack::packer& operator()(msgpack::packer& o, const std::unordered_multiset& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for(typename std::unordered_multiset::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(*it); - } - return o; - } -}; - -template -struct object_with_zone> { - void operator()(msgpack::object::with_zone& o, const std::unordered_multiset& v) const { - o.type = msgpack::type::ARRAY; - if(v.empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - msgpack::object* const pend = p + size; - o.via.array.ptr = p; - o.via.array.size = size; - typename std::unordered_multiset::const_iterator it(v.begin()); - do { - *p = msgpack::object(*it, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_CPP11_UNORDERED_SET_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/byte.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/byte.hpp deleted file mode 100644 index a1d120471..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/byte.hpp +++ /dev/null @@ -1,74 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2018 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_BYTE_HPP -#define MSGPACK_V1_TYPE_BYTE_HPP - -#if __cplusplus >= 201703 - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/int_decl.hpp" -#include "msgpack/object.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, std::byte& v) const { - v = static_cast(type::detail::convert_integer(o)); - return o; - } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, std::byte v) const { - o.pack_unsigned_char(static_cast(v)); - return o; - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, std::byte v) const { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = static_cast(v); - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const std::byte& v) const { - static_cast(o) << v; - } -}; - - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // __cplusplus >= 201703 - -#endif // MSGPACK_V1_TYPE_BYTE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/carray_byte.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/carray_byte.hpp deleted file mode 100644 index e2be6bc0e..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/carray_byte.hpp +++ /dev/null @@ -1,109 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2018 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_CARRAY_BYTE_HPP -#define MSGPACK_V1_TYPE_CARRAY_BYTE_HPP - -#if __cplusplus >= 201703 - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct convert { - msgpack::object const& operator()(msgpack::object const& o, std::byte(&v)[N]) const { - switch (o.type) { - case msgpack::type::BIN: - if (o.via.bin.size > N) { throw msgpack::type_error(); } - std::memcpy(v, o.via.bin.ptr, o.via.bin.size); - break; - case msgpack::type::STR: - if (o.via.str.size > N) { throw msgpack::type_error(); } - std::memcpy(v, o.via.str.ptr, o.via.str.size); - if (o.via.str.size < N) v[o.via.str.size] = std::byte{'\0'}; - break; - default: - throw msgpack::type_error(); - break; - } - return o; - } -}; - -template -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const std::byte(&v)[N]) const { - std::byte const* p = v; - uint32_t size = checked_get_container_size(N); - o.pack_bin(size); - o.pack_bin_body(reinterpret_cast(p), size); - return o; - } -}; - -template -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const std::byte(&v)[N]) const { - std::byte const* p = v; - uint32_t size = checked_get_container_size(N); - o.pack_bin(size); - o.pack_bin_body(reinterpret_cast(p), size); - return o; - } -}; - -template -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const std::byte(&v)[N]) const { - uint32_t size = checked_get_container_size(N); - o.type = msgpack::type::BIN; - char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); - o.via.bin.ptr = ptr; - o.via.bin.size = size; - std::memcpy(ptr, v, size); - } -}; - -template -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const std::byte(&v)[N]) const { - uint32_t size = checked_get_container_size(N); - o.type = msgpack::type::BIN; - char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); - o.via.bin.ptr = ptr; - o.via.bin.size = size; - std::memcpy(ptr, v, size); - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // __cplusplus >= 201703 - -#endif // MSGPACK_V1_TYPE_CARRAY_BYTE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/optional.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/optional.hpp deleted file mode 100644 index 2179ac081..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/optional.hpp +++ /dev/null @@ -1,90 +0,0 @@ -// -// 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_TYPE_OPTIONAL_HPP -#define MSGPACK_V1_TYPE_OPTIONAL_HPP - -#if __cplusplus >= 201703 - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -#if !defined (MSGPACK_USE_CPP03) - -template -struct as, typename std::enable_if::value>::type> { - std::optional operator()(msgpack::object const& o) const { - if(o.is_nil()) return std::nullopt; - return o.as(); - } -}; - -#endif // !defined (MSGPACK_USE_CPP03) - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, std::optional& v) const { - if(o.is_nil()) v = std::nullopt; - else { - T t; - msgpack::adaptor::convert()(o, t); - v = t; - } - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const std::optional& v) const { - if (v) o.pack(*v); - else o.pack_nil(); - return o; - } -}; - -template -struct object > { - void operator()(msgpack::object& o, const std::optional& v) const { - if (v) msgpack::adaptor::object()(o, *v); - else o.type = msgpack::type::NIL; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const std::optional& v) const { - if (v) msgpack::adaptor::object_with_zone()(o, *v); - else o.type = msgpack::type::NIL; - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // __cplusplus >= 201703 - -#endif // MSGPACK_V1_TYPE_OPTIONAL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/string_view.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/string_view.hpp deleted file mode 100644 index 8ec56c26c..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/string_view.hpp +++ /dev/null @@ -1,86 +0,0 @@ -// -// 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_TYPE_STRING_VIEW_HPP -#define MSGPACK_V1_TYPE_STRING_VIEW_HPP - -#if __cplusplus >= 201703 - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, std::string_view& v) const { - switch (o.type) { - case msgpack::type::BIN: - v = std::string_view(o.via.bin.ptr, o.via.bin.size); - break; - case msgpack::type::STR: - v = std::string_view(o.via.str.ptr, o.via.str.size); - break; - default: - throw msgpack::type_error(); - break; - } - return o; - } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const std::string_view& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_str(size); - o.pack_str_body(v.data(), size); - return o; - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, const std::string_view& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.type = msgpack::type::STR; - o.via.str.ptr = v.data(); - o.via.str.size = size; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const std::string_view& v) const { - static_cast(o) << v; - } -}; - - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // __cplusplus >= 201703 - -#endif // MSGPACK_V1_TYPE_STRING_VIEW_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp deleted file mode 100644 index f0a578b54..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp +++ /dev/null @@ -1,119 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2018 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_VECTOR_BYTE_HPP -#define MSGPACK_V1_TYPE_VECTOR_BYTE_HPP - -#if __cplusplus >= 201703 - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, std::vector& v) const { - switch (o.type) { - case msgpack::type::BIN: - v.resize(o.via.bin.size); - if (o.via.bin.size != 0) { -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - std::memcpy(&v.front(), o.via.bin.ptr, o.via.bin.size); -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic pop -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - } - break; - case msgpack::type::STR: - v.resize(o.via.str.size); - if (o.via.str.size != 0) { -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - std::memcpy(&v.front(), o.via.str.ptr, o.via.str.size); -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic pop -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - } - break; - default: - throw msgpack::type_error(); - break; - } - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const std::vector& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_bin(size); - if (size != 0) { - o.pack_bin_body(reinterpret_cast(&v.front()), size); - } - - return o; - } -}; - -template -struct object > { - void operator()(msgpack::object& o, const std::vector& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.type = msgpack::type::BIN; - if (size != 0) { - o.via.bin.ptr = reinterpret_cast(&v.front()); - } - o.via.bin.size = size; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const std::vector& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.type = msgpack::type::BIN; - o.via.bin.size = size; - if (size != 0) { - char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); - o.via.bin.ptr = ptr; - std::memcpy(ptr, &v.front(), size); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // __cplusplus >= 201703 - -#endif // MSGPACK_V1_TYPE_VECTOR_BYTE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/define.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/define.hpp deleted file mode 100644 index 6a547c753..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/define.hpp +++ /dev/null @@ -1,21 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2014 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_DEFINE_HPP -#define MSGPACK_V1_DEFINE_HPP - -#if defined(MSGPACK_USE_CPP03) -#include "msgpack/v1/adaptor/detail/cpp03_define_array.hpp" -#include "msgpack/v1/adaptor/detail/cpp03_define_map.hpp" -#else // MSGPACK_USE_CPP03 -#include "msgpack/v1/adaptor/detail/cpp11_define_array.hpp" -#include "msgpack/v1/adaptor/detail/cpp11_define_map.hpp" -#endif // MSGPACK_USE_CPP03 - -#endif // MSGPACK_V1_DEFINE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/define_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/define_decl.hpp deleted file mode 100644 index 4e2c9afba..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/define_decl.hpp +++ /dev/null @@ -1,23 +0,0 @@ -// -// 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_V1_DEFINE_DECL_HPP -#define MSGPACK_V1_DEFINE_DECL_HPP - -#include "msgpack/cpp_config.hpp" - -#if defined(MSGPACK_USE_CPP03) -#include "msgpack/v1/adaptor/detail/cpp03_define_array_decl.hpp" -#include "msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp" -#else // MSGPACK_USE_CPP03 -#include "msgpack/v1/adaptor/detail/cpp11_define_array_decl.hpp" -#include "msgpack/v1/adaptor/detail/cpp11_define_map_decl.hpp" -#endif // MSGPACK_USE_CPP03 - -#endif // MSGPACK_V1_DEFINE_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/deque.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/deque.hpp deleted file mode 100644 index 41a0bef69..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/deque.hpp +++ /dev/null @@ -1,108 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2015 FURUHASHI Sadayuki -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_DEQUE_HPP -#define MSGPACK_V1_TYPE_DEQUE_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -#if !defined(MSGPACK_USE_CPP03) - -template -struct as, typename std::enable_if::value>::type> { - std::deque operator()(const msgpack::object& o) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - std::deque v; - if (o.via.array.size > 0) { - msgpack::object* p = o.via.array.ptr; - msgpack::object* const pend = o.via.array.ptr + o.via.array.size; - do { - v.push_back(p->as()); - ++p; - } while (p < pend); - } - return v; - } -}; - -#endif // !defined(MSGPACK_USE_CPP03) - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, std::deque& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - v.resize(o.via.array.size); - msgpack::object* p = o.via.array.ptr; - msgpack::object* const pend = o.via.array.ptr + o.via.array.size; - typename std::deque::iterator it = v.begin(); - for(; p < pend; ++p, ++it) { - p->convert(*it); - } - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const std::deque& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for(typename std::deque::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(*it); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const std::deque& v) const { - o.type = msgpack::type::ARRAY; - if(v.empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - msgpack::object* const pend = p + size; - o.via.array.ptr = p; - o.via.array.size = size; - typename std::deque::const_iterator it(v.begin()); - do { - *p = msgpack::object(*it, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_DEQUE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp deleted file mode 100644 index c81582926..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp +++ /dev/null @@ -1,4481 +0,0 @@ -// -// 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_V1_CPP03_DEFINE_ARRAY_HPP -#define MSGPACK_V1_CPP03_DEFINE_ARRAY_HPP - -#include "msgpack/v1/adaptor/detail/cpp03_define_array_decl.hpp" -#include "msgpack/adaptor/msgpack_tuple.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/object_fwd.hpp" - -namespace msgpack { -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond -namespace type { - - -template <> -struct define_array<> { - typedef define_array<> value_type; - typedef tuple<> tuple_type; - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(0); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - } - void msgpack_object(msgpack::object* o, msgpack::zone&) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = MSGPACK_NULLPTR; - o->via.array.size = 0; - } -}; - -/// @cond - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0) : - a0(_a0) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(1); - - pk.pack(a0); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*1, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 1; - - o->via.array.ptr[0] = msgpack::object(a0, z); - } - - A0& a0; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1) : - a0(_a0), a1(_a1) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(2); - - pk.pack(a0); - pk.pack(a1); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*2, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 2; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - } - - A0& a0; - A1& a1; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2) : - a0(_a0), a1(_a1), a2(_a2) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(3); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*3, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 3; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - } - - A0& a0; - A1& a1; - A2& a2; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(4); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*4, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 4; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(5); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*5, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 5; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(6); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*6, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 6; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(7); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*7, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 7; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(8); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*8, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 8; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(9); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*9, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 9; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(10); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*10, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 10; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(11); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*11, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 11; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(12); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*12, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 12; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(13); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*13, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 13; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(14); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*14, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 14; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(15); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*15, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 15; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(16); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*16, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 16; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(17); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*17, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 17; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(18); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 18: ptr[17].convert(a17); - // fallthrough - - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*18, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 18; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - o->via.array.ptr[17] = msgpack::object(a17, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(19); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 19: ptr[18].convert(a18); - // fallthrough - - case 18: ptr[17].convert(a17); - // fallthrough - - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*19, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 19; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - o->via.array.ptr[17] = msgpack::object(a17, z); - o->via.array.ptr[18] = msgpack::object(a18, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(20); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 20: ptr[19].convert(a19); - // fallthrough - - case 19: ptr[18].convert(a18); - // fallthrough - - case 18: ptr[17].convert(a17); - // fallthrough - - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*20, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 20; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - o->via.array.ptr[17] = msgpack::object(a17, z); - o->via.array.ptr[18] = msgpack::object(a18, z); - o->via.array.ptr[19] = msgpack::object(a19, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(21); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 21: ptr[20].convert(a20); - // fallthrough - - case 20: ptr[19].convert(a19); - // fallthrough - - case 19: ptr[18].convert(a18); - // fallthrough - - case 18: ptr[17].convert(a17); - // fallthrough - - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*21, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 21; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - o->via.array.ptr[17] = msgpack::object(a17, z); - o->via.array.ptr[18] = msgpack::object(a18, z); - o->via.array.ptr[19] = msgpack::object(a19, z); - o->via.array.ptr[20] = msgpack::object(a20, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(22); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 22: ptr[21].convert(a21); - // fallthrough - - case 21: ptr[20].convert(a20); - // fallthrough - - case 20: ptr[19].convert(a19); - // fallthrough - - case 19: ptr[18].convert(a18); - // fallthrough - - case 18: ptr[17].convert(a17); - // fallthrough - - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*22, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 22; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - o->via.array.ptr[17] = msgpack::object(a17, z); - o->via.array.ptr[18] = msgpack::object(a18, z); - o->via.array.ptr[19] = msgpack::object(a19, z); - o->via.array.ptr[20] = msgpack::object(a20, z); - o->via.array.ptr[21] = msgpack::object(a21, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(23); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - pk.pack(a22); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 23: ptr[22].convert(a22); - // fallthrough - - case 22: ptr[21].convert(a21); - // fallthrough - - case 21: ptr[20].convert(a20); - // fallthrough - - case 20: ptr[19].convert(a19); - // fallthrough - - case 19: ptr[18].convert(a18); - // fallthrough - - case 18: ptr[17].convert(a17); - // fallthrough - - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*23, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 23; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - o->via.array.ptr[17] = msgpack::object(a17, z); - o->via.array.ptr[18] = msgpack::object(a18, z); - o->via.array.ptr[19] = msgpack::object(a19, z); - o->via.array.ptr[20] = msgpack::object(a20, z); - o->via.array.ptr[21] = msgpack::object(a21, z); - o->via.array.ptr[22] = msgpack::object(a22, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; - A22& a22; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(24); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - pk.pack(a22); - pk.pack(a23); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 24: ptr[23].convert(a23); - // fallthrough - - case 23: ptr[22].convert(a22); - // fallthrough - - case 22: ptr[21].convert(a21); - // fallthrough - - case 21: ptr[20].convert(a20); - // fallthrough - - case 20: ptr[19].convert(a19); - // fallthrough - - case 19: ptr[18].convert(a18); - // fallthrough - - case 18: ptr[17].convert(a17); - // fallthrough - - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*24, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 24; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - o->via.array.ptr[17] = msgpack::object(a17, z); - o->via.array.ptr[18] = msgpack::object(a18, z); - o->via.array.ptr[19] = msgpack::object(a19, z); - o->via.array.ptr[20] = msgpack::object(a20, z); - o->via.array.ptr[21] = msgpack::object(a21, z); - o->via.array.ptr[22] = msgpack::object(a22, z); - o->via.array.ptr[23] = msgpack::object(a23, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; - A22& a22; - A23& a23; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(25); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - pk.pack(a22); - pk.pack(a23); - pk.pack(a24); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 25: ptr[24].convert(a24); - // fallthrough - - case 24: ptr[23].convert(a23); - // fallthrough - - case 23: ptr[22].convert(a22); - // fallthrough - - case 22: ptr[21].convert(a21); - // fallthrough - - case 21: ptr[20].convert(a20); - // fallthrough - - case 20: ptr[19].convert(a19); - // fallthrough - - case 19: ptr[18].convert(a18); - // fallthrough - - case 18: ptr[17].convert(a17); - // fallthrough - - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*25, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 25; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - o->via.array.ptr[17] = msgpack::object(a17, z); - o->via.array.ptr[18] = msgpack::object(a18, z); - o->via.array.ptr[19] = msgpack::object(a19, z); - o->via.array.ptr[20] = msgpack::object(a20, z); - o->via.array.ptr[21] = msgpack::object(a21, z); - o->via.array.ptr[22] = msgpack::object(a22, z); - o->via.array.ptr[23] = msgpack::object(a23, z); - o->via.array.ptr[24] = msgpack::object(a24, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; - A22& a22; - A23& a23; - A24& a24; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24, A25& _a25) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(26); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - pk.pack(a22); - pk.pack(a23); - pk.pack(a24); - pk.pack(a25); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 26: ptr[25].convert(a25); - // fallthrough - - case 25: ptr[24].convert(a24); - // fallthrough - - case 24: ptr[23].convert(a23); - // fallthrough - - case 23: ptr[22].convert(a22); - // fallthrough - - case 22: ptr[21].convert(a21); - // fallthrough - - case 21: ptr[20].convert(a20); - // fallthrough - - case 20: ptr[19].convert(a19); - // fallthrough - - case 19: ptr[18].convert(a18); - // fallthrough - - case 18: ptr[17].convert(a17); - // fallthrough - - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*26, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 26; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - o->via.array.ptr[17] = msgpack::object(a17, z); - o->via.array.ptr[18] = msgpack::object(a18, z); - o->via.array.ptr[19] = msgpack::object(a19, z); - o->via.array.ptr[20] = msgpack::object(a20, z); - o->via.array.ptr[21] = msgpack::object(a21, z); - o->via.array.ptr[22] = msgpack::object(a22, z); - o->via.array.ptr[23] = msgpack::object(a23, z); - o->via.array.ptr[24] = msgpack::object(a24, z); - o->via.array.ptr[25] = msgpack::object(a25, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; - A22& a22; - A23& a23; - A24& a24; - A25& a25; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24, A25& _a25, A26& _a26) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(27); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - pk.pack(a22); - pk.pack(a23); - pk.pack(a24); - pk.pack(a25); - pk.pack(a26); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 27: ptr[26].convert(a26); - // fallthrough - - case 26: ptr[25].convert(a25); - // fallthrough - - case 25: ptr[24].convert(a24); - // fallthrough - - case 24: ptr[23].convert(a23); - // fallthrough - - case 23: ptr[22].convert(a22); - // fallthrough - - case 22: ptr[21].convert(a21); - // fallthrough - - case 21: ptr[20].convert(a20); - // fallthrough - - case 20: ptr[19].convert(a19); - // fallthrough - - case 19: ptr[18].convert(a18); - // fallthrough - - case 18: ptr[17].convert(a17); - // fallthrough - - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*27, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 27; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - o->via.array.ptr[17] = msgpack::object(a17, z); - o->via.array.ptr[18] = msgpack::object(a18, z); - o->via.array.ptr[19] = msgpack::object(a19, z); - o->via.array.ptr[20] = msgpack::object(a20, z); - o->via.array.ptr[21] = msgpack::object(a21, z); - o->via.array.ptr[22] = msgpack::object(a22, z); - o->via.array.ptr[23] = msgpack::object(a23, z); - o->via.array.ptr[24] = msgpack::object(a24, z); - o->via.array.ptr[25] = msgpack::object(a25, z); - o->via.array.ptr[26] = msgpack::object(a26, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; - A22& a22; - A23& a23; - A24& a24; - A25& a25; - A26& a26; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24, A25& _a25, A26& _a26, A27& _a27) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(28); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - pk.pack(a22); - pk.pack(a23); - pk.pack(a24); - pk.pack(a25); - pk.pack(a26); - pk.pack(a27); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 28: ptr[27].convert(a27); - // fallthrough - - case 27: ptr[26].convert(a26); - // fallthrough - - case 26: ptr[25].convert(a25); - // fallthrough - - case 25: ptr[24].convert(a24); - // fallthrough - - case 24: ptr[23].convert(a23); - // fallthrough - - case 23: ptr[22].convert(a22); - // fallthrough - - case 22: ptr[21].convert(a21); - // fallthrough - - case 21: ptr[20].convert(a20); - // fallthrough - - case 20: ptr[19].convert(a19); - // fallthrough - - case 19: ptr[18].convert(a18); - // fallthrough - - case 18: ptr[17].convert(a17); - // fallthrough - - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*28, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 28; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - o->via.array.ptr[17] = msgpack::object(a17, z); - o->via.array.ptr[18] = msgpack::object(a18, z); - o->via.array.ptr[19] = msgpack::object(a19, z); - o->via.array.ptr[20] = msgpack::object(a20, z); - o->via.array.ptr[21] = msgpack::object(a21, z); - o->via.array.ptr[22] = msgpack::object(a22, z); - o->via.array.ptr[23] = msgpack::object(a23, z); - o->via.array.ptr[24] = msgpack::object(a24, z); - o->via.array.ptr[25] = msgpack::object(a25, z); - o->via.array.ptr[26] = msgpack::object(a26, z); - o->via.array.ptr[27] = msgpack::object(a27, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; - A22& a22; - A23& a23; - A24& a24; - A25& a25; - A26& a26; - A27& a27; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24, A25& _a25, A26& _a26, A27& _a27, A28& _a28) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27), a28(_a28) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(29); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - pk.pack(a22); - pk.pack(a23); - pk.pack(a24); - pk.pack(a25); - pk.pack(a26); - pk.pack(a27); - pk.pack(a28); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 29: ptr[28].convert(a28); - // fallthrough - - case 28: ptr[27].convert(a27); - // fallthrough - - case 27: ptr[26].convert(a26); - // fallthrough - - case 26: ptr[25].convert(a25); - // fallthrough - - case 25: ptr[24].convert(a24); - // fallthrough - - case 24: ptr[23].convert(a23); - // fallthrough - - case 23: ptr[22].convert(a22); - // fallthrough - - case 22: ptr[21].convert(a21); - // fallthrough - - case 21: ptr[20].convert(a20); - // fallthrough - - case 20: ptr[19].convert(a19); - // fallthrough - - case 19: ptr[18].convert(a18); - // fallthrough - - case 18: ptr[17].convert(a17); - // fallthrough - - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*29, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 29; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - o->via.array.ptr[17] = msgpack::object(a17, z); - o->via.array.ptr[18] = msgpack::object(a18, z); - o->via.array.ptr[19] = msgpack::object(a19, z); - o->via.array.ptr[20] = msgpack::object(a20, z); - o->via.array.ptr[21] = msgpack::object(a21, z); - o->via.array.ptr[22] = msgpack::object(a22, z); - o->via.array.ptr[23] = msgpack::object(a23, z); - o->via.array.ptr[24] = msgpack::object(a24, z); - o->via.array.ptr[25] = msgpack::object(a25, z); - o->via.array.ptr[26] = msgpack::object(a26, z); - o->via.array.ptr[27] = msgpack::object(a27, z); - o->via.array.ptr[28] = msgpack::object(a28, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; - A22& a22; - A23& a23; - A24& a24; - A25& a25; - A26& a26; - A27& a27; - A28& a28; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24, A25& _a25, A26& _a26, A27& _a27, A28& _a28, A29& _a29) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27), a28(_a28), a29(_a29) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(30); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - pk.pack(a22); - pk.pack(a23); - pk.pack(a24); - pk.pack(a25); - pk.pack(a26); - pk.pack(a27); - pk.pack(a28); - pk.pack(a29); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 30: ptr[29].convert(a29); - // fallthrough - - case 29: ptr[28].convert(a28); - // fallthrough - - case 28: ptr[27].convert(a27); - // fallthrough - - case 27: ptr[26].convert(a26); - // fallthrough - - case 26: ptr[25].convert(a25); - // fallthrough - - case 25: ptr[24].convert(a24); - // fallthrough - - case 24: ptr[23].convert(a23); - // fallthrough - - case 23: ptr[22].convert(a22); - // fallthrough - - case 22: ptr[21].convert(a21); - // fallthrough - - case 21: ptr[20].convert(a20); - // fallthrough - - case 20: ptr[19].convert(a19); - // fallthrough - - case 19: ptr[18].convert(a18); - // fallthrough - - case 18: ptr[17].convert(a17); - // fallthrough - - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*30, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 30; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - o->via.array.ptr[17] = msgpack::object(a17, z); - o->via.array.ptr[18] = msgpack::object(a18, z); - o->via.array.ptr[19] = msgpack::object(a19, z); - o->via.array.ptr[20] = msgpack::object(a20, z); - o->via.array.ptr[21] = msgpack::object(a21, z); - o->via.array.ptr[22] = msgpack::object(a22, z); - o->via.array.ptr[23] = msgpack::object(a23, z); - o->via.array.ptr[24] = msgpack::object(a24, z); - o->via.array.ptr[25] = msgpack::object(a25, z); - o->via.array.ptr[26] = msgpack::object(a26, z); - o->via.array.ptr[27] = msgpack::object(a27, z); - o->via.array.ptr[28] = msgpack::object(a28, z); - o->via.array.ptr[29] = msgpack::object(a29, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; - A22& a22; - A23& a23; - A24& a24; - A25& a25; - A26& a26; - A27& a27; - A28& a28; - A29& a29; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24, A25& _a25, A26& _a26, A27& _a27, A28& _a28, A29& _a29, A30& _a30) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27), a28(_a28), a29(_a29), a30(_a30) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(31); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - pk.pack(a22); - pk.pack(a23); - pk.pack(a24); - pk.pack(a25); - pk.pack(a26); - pk.pack(a27); - pk.pack(a28); - pk.pack(a29); - pk.pack(a30); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 31: ptr[30].convert(a30); - // fallthrough - - case 30: ptr[29].convert(a29); - // fallthrough - - case 29: ptr[28].convert(a28); - // fallthrough - - case 28: ptr[27].convert(a27); - // fallthrough - - case 27: ptr[26].convert(a26); - // fallthrough - - case 26: ptr[25].convert(a25); - // fallthrough - - case 25: ptr[24].convert(a24); - // fallthrough - - case 24: ptr[23].convert(a23); - // fallthrough - - case 23: ptr[22].convert(a22); - // fallthrough - - case 22: ptr[21].convert(a21); - // fallthrough - - case 21: ptr[20].convert(a20); - // fallthrough - - case 20: ptr[19].convert(a19); - // fallthrough - - case 19: ptr[18].convert(a18); - // fallthrough - - case 18: ptr[17].convert(a17); - // fallthrough - - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*31, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 31; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - o->via.array.ptr[17] = msgpack::object(a17, z); - o->via.array.ptr[18] = msgpack::object(a18, z); - o->via.array.ptr[19] = msgpack::object(a19, z); - o->via.array.ptr[20] = msgpack::object(a20, z); - o->via.array.ptr[21] = msgpack::object(a21, z); - o->via.array.ptr[22] = msgpack::object(a22, z); - o->via.array.ptr[23] = msgpack::object(a23, z); - o->via.array.ptr[24] = msgpack::object(a24, z); - o->via.array.ptr[25] = msgpack::object(a25, z); - o->via.array.ptr[26] = msgpack::object(a26, z); - o->via.array.ptr[27] = msgpack::object(a27, z); - o->via.array.ptr[28] = msgpack::object(a28, z); - o->via.array.ptr[29] = msgpack::object(a29, z); - o->via.array.ptr[30] = msgpack::object(a30, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; - A22& a22; - A23& a23; - A24& a24; - A25& a25; - A26& a26; - A27& a27; - A28& a28; - A29& a29; - A30& a30; -}; - -template -struct define_array { - typedef define_array value_type; - typedef tuple tuple_type; - define_array(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24, A25& _a25, A26& _a26, A27& _a27, A28& _a28, A29& _a29, A30& _a30, A31& _a31) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27), a28(_a28), a29(_a29), a30(_a30), a31(_a31) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(32); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - pk.pack(a22); - pk.pack(a23); - pk.pack(a24); - pk.pack(a25); - pk.pack(a26); - pk.pack(a27); - pk.pack(a28); - pk.pack(a29); - pk.pack(a30); - pk.pack(a31); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - const size_t size = o.via.array.size; - if(size > 0) { - msgpack::object *ptr = o.via.array.ptr; - switch(size) { - default: - case 32: ptr[31].convert(a31); - // fallthrough - - case 31: ptr[30].convert(a30); - // fallthrough - - case 30: ptr[29].convert(a29); - // fallthrough - - case 29: ptr[28].convert(a28); - // fallthrough - - case 28: ptr[27].convert(a27); - // fallthrough - - case 27: ptr[26].convert(a26); - // fallthrough - - case 26: ptr[25].convert(a25); - // fallthrough - - case 25: ptr[24].convert(a24); - // fallthrough - - case 24: ptr[23].convert(a23); - // fallthrough - - case 23: ptr[22].convert(a22); - // fallthrough - - case 22: ptr[21].convert(a21); - // fallthrough - - case 21: ptr[20].convert(a20); - // fallthrough - - case 20: ptr[19].convert(a19); - // fallthrough - - case 19: ptr[18].convert(a18); - // fallthrough - - case 18: ptr[17].convert(a17); - // fallthrough - - case 17: ptr[16].convert(a16); - // fallthrough - - case 16: ptr[15].convert(a15); - // fallthrough - - case 15: ptr[14].convert(a14); - // fallthrough - - case 14: ptr[13].convert(a13); - // fallthrough - - case 13: ptr[12].convert(a12); - // fallthrough - - case 12: ptr[11].convert(a11); - // fallthrough - - case 11: ptr[10].convert(a10); - // fallthrough - - case 10: ptr[9].convert(a9); - // fallthrough - - case 9: ptr[8].convert(a8); - // fallthrough - - case 8: ptr[7].convert(a7); - // fallthrough - - case 7: ptr[6].convert(a6); - // fallthrough - - case 6: ptr[5].convert(a5); - // fallthrough - - case 5: ptr[4].convert(a4); - // fallthrough - - case 4: ptr[3].convert(a3); - // fallthrough - - case 3: ptr[2].convert(a2); - // fallthrough - - case 2: ptr[1].convert(a1); - // fallthrough - - case 1: ptr[0].convert(a0); - // fallthrough - - } - } - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*32, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = 32; - - o->via.array.ptr[0] = msgpack::object(a0, z); - o->via.array.ptr[1] = msgpack::object(a1, z); - o->via.array.ptr[2] = msgpack::object(a2, z); - o->via.array.ptr[3] = msgpack::object(a3, z); - o->via.array.ptr[4] = msgpack::object(a4, z); - o->via.array.ptr[5] = msgpack::object(a5, z); - o->via.array.ptr[6] = msgpack::object(a6, z); - o->via.array.ptr[7] = msgpack::object(a7, z); - o->via.array.ptr[8] = msgpack::object(a8, z); - o->via.array.ptr[9] = msgpack::object(a9, z); - o->via.array.ptr[10] = msgpack::object(a10, z); - o->via.array.ptr[11] = msgpack::object(a11, z); - o->via.array.ptr[12] = msgpack::object(a12, z); - o->via.array.ptr[13] = msgpack::object(a13, z); - o->via.array.ptr[14] = msgpack::object(a14, z); - o->via.array.ptr[15] = msgpack::object(a15, z); - o->via.array.ptr[16] = msgpack::object(a16, z); - o->via.array.ptr[17] = msgpack::object(a17, z); - o->via.array.ptr[18] = msgpack::object(a18, z); - o->via.array.ptr[19] = msgpack::object(a19, z); - o->via.array.ptr[20] = msgpack::object(a20, z); - o->via.array.ptr[21] = msgpack::object(a21, z); - o->via.array.ptr[22] = msgpack::object(a22, z); - o->via.array.ptr[23] = msgpack::object(a23, z); - o->via.array.ptr[24] = msgpack::object(a24, z); - o->via.array.ptr[25] = msgpack::object(a25, z); - o->via.array.ptr[26] = msgpack::object(a26, z); - o->via.array.ptr[27] = msgpack::object(a27, z); - o->via.array.ptr[28] = msgpack::object(a28, z); - o->via.array.ptr[29] = msgpack::object(a29, z); - o->via.array.ptr[30] = msgpack::object(a30, z); - o->via.array.ptr[31] = msgpack::object(a31, z); - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; - A22& a22; - A23& a23; - A24& a24; - A25& a25; - A26& a26; - A27& a27; - A28& a28; - A29& a29; - A30& a30; - A31& a31; -}; - -/// @endcond - -inline define_array<> make_define_array() -{ - return define_array<>(); -} - -/// @cond - -template -inline define_array make_define_array(A0& a0) -{ - return define_array(a0); -} - -template -inline define_array make_define_array(A0& a0, A1& a1) -{ - return define_array(a0, a1); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2) -{ - return define_array(a0, a1, a2); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3) -{ - return define_array(a0, a1, a2, a3); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4) -{ - return define_array(a0, a1, a2, a3, a4); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5) -{ - return define_array(a0, a1, a2, a3, a4, a5); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28, A29& a29) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28, A29& a29, A30& a30) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30); -} - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28, A29& a29, A30& a30, A31& a31) -{ - return define_array(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31); -} - -/// @endcond - -} // namespace type -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_DEFINE_ARRAY_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array_decl.hpp deleted file mode 100644 index 987de9668..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array_decl.hpp +++ /dev/null @@ -1,135 +0,0 @@ -// -// 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_V1_CPP03_DEFINE_ARRAY_DECL_HPP -#define MSGPACK_V1_CPP03_DEFINE_ARRAY_DECL_HPP - -#include "msgpack/versioning.hpp" - -namespace msgpack { -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond -namespace type { - -/// @cond - -template -struct define_array; -/// @endcond - -define_array<> make_define_array(); - -/// @cond - -template -inline define_array make_define_array(A0& a0); - -template -inline define_array make_define_array(A0& a0, A1& a1); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28, A29& a29); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28, A29& a29, A30& a30); - -template -inline define_array make_define_array(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28, A29& a29, A30& a30, A31& a31); - -/// @endcond - -} // namespace type -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_DEFINE_ARRAY_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp deleted file mode 100644 index 7869b98e7..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp +++ /dev/null @@ -1,2753 +0,0 @@ -// -// 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_V1_CPP03_DEFINE_MAP_HPP -#define MSGPACK_V1_CPP03_DEFINE_MAP_HPP - -#include "msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp" -#include "msgpack/adaptor/msgpack_tuple.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/object_fwd.hpp" - -#include - -namespace msgpack { -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond -namespace type { - - -template <> -struct define_map<> { - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(0); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - } - void msgpack_object(msgpack::object* o, msgpack::zone&) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = MSGPACK_NULLPTR; - o->via.map.size = 0; - } -}; - -/// @cond - -template -struct define_map { - define_map(A0& _a0, A1& _a1) : - a0(_a0), a1(_a1) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(1); - - pk.pack(a0); - pk.pack(a1); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*1, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 1; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - } - - A0& a0; - A1& a1; -}; - -template -struct define_map { - define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(2); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - { - std::map::const_iterator it = kvmap.find(a2); - if (it != kvmap.end()) { - it->second->convert(a3); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*2, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 2; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - o->via.map.ptr[1].key = msgpack::object(a2, z); - o->via.map.ptr[1].val = msgpack::object(a3, z); - - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; -}; - -template -struct define_map { - define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(3); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - { - std::map::const_iterator it = kvmap.find(a2); - if (it != kvmap.end()) { - it->second->convert(a3); - } - } - - { - std::map::const_iterator it = kvmap.find(a4); - if (it != kvmap.end()) { - it->second->convert(a5); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*3, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 3; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - o->via.map.ptr[1].key = msgpack::object(a2, z); - o->via.map.ptr[1].val = msgpack::object(a3, z); - - o->via.map.ptr[2].key = msgpack::object(a4, z); - o->via.map.ptr[2].val = msgpack::object(a5, z); - - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; -}; - -template -struct define_map { - define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(4); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - { - std::map::const_iterator it = kvmap.find(a2); - if (it != kvmap.end()) { - it->second->convert(a3); - } - } - - { - std::map::const_iterator it = kvmap.find(a4); - if (it != kvmap.end()) { - it->second->convert(a5); - } - } - - { - std::map::const_iterator it = kvmap.find(a6); - if (it != kvmap.end()) { - it->second->convert(a7); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*4, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 4; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - o->via.map.ptr[1].key = msgpack::object(a2, z); - o->via.map.ptr[1].val = msgpack::object(a3, z); - - o->via.map.ptr[2].key = msgpack::object(a4, z); - o->via.map.ptr[2].val = msgpack::object(a5, z); - - o->via.map.ptr[3].key = msgpack::object(a6, z); - o->via.map.ptr[3].val = msgpack::object(a7, z); - - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; -}; - -template -struct define_map { - define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(5); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - { - std::map::const_iterator it = kvmap.find(a2); - if (it != kvmap.end()) { - it->second->convert(a3); - } - } - - { - std::map::const_iterator it = kvmap.find(a4); - if (it != kvmap.end()) { - it->second->convert(a5); - } - } - - { - std::map::const_iterator it = kvmap.find(a6); - if (it != kvmap.end()) { - it->second->convert(a7); - } - } - - { - std::map::const_iterator it = kvmap.find(a8); - if (it != kvmap.end()) { - it->second->convert(a9); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*5, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 5; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - o->via.map.ptr[1].key = msgpack::object(a2, z); - o->via.map.ptr[1].val = msgpack::object(a3, z); - - o->via.map.ptr[2].key = msgpack::object(a4, z); - o->via.map.ptr[2].val = msgpack::object(a5, z); - - o->via.map.ptr[3].key = msgpack::object(a6, z); - o->via.map.ptr[3].val = msgpack::object(a7, z); - - o->via.map.ptr[4].key = msgpack::object(a8, z); - o->via.map.ptr[4].val = msgpack::object(a9, z); - - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; -}; - -template -struct define_map { - define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(6); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - { - std::map::const_iterator it = kvmap.find(a2); - if (it != kvmap.end()) { - it->second->convert(a3); - } - } - - { - std::map::const_iterator it = kvmap.find(a4); - if (it != kvmap.end()) { - it->second->convert(a5); - } - } - - { - std::map::const_iterator it = kvmap.find(a6); - if (it != kvmap.end()) { - it->second->convert(a7); - } - } - - { - std::map::const_iterator it = kvmap.find(a8); - if (it != kvmap.end()) { - it->second->convert(a9); - } - } - - { - std::map::const_iterator it = kvmap.find(a10); - if (it != kvmap.end()) { - it->second->convert(a11); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*6, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 6; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - o->via.map.ptr[1].key = msgpack::object(a2, z); - o->via.map.ptr[1].val = msgpack::object(a3, z); - - o->via.map.ptr[2].key = msgpack::object(a4, z); - o->via.map.ptr[2].val = msgpack::object(a5, z); - - o->via.map.ptr[3].key = msgpack::object(a6, z); - o->via.map.ptr[3].val = msgpack::object(a7, z); - - o->via.map.ptr[4].key = msgpack::object(a8, z); - o->via.map.ptr[4].val = msgpack::object(a9, z); - - o->via.map.ptr[5].key = msgpack::object(a10, z); - o->via.map.ptr[5].val = msgpack::object(a11, z); - - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; -}; - -template -struct define_map { - define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(7); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - { - std::map::const_iterator it = kvmap.find(a2); - if (it != kvmap.end()) { - it->second->convert(a3); - } - } - - { - std::map::const_iterator it = kvmap.find(a4); - if (it != kvmap.end()) { - it->second->convert(a5); - } - } - - { - std::map::const_iterator it = kvmap.find(a6); - if (it != kvmap.end()) { - it->second->convert(a7); - } - } - - { - std::map::const_iterator it = kvmap.find(a8); - if (it != kvmap.end()) { - it->second->convert(a9); - } - } - - { - std::map::const_iterator it = kvmap.find(a10); - if (it != kvmap.end()) { - it->second->convert(a11); - } - } - - { - std::map::const_iterator it = kvmap.find(a12); - if (it != kvmap.end()) { - it->second->convert(a13); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*7, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 7; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - o->via.map.ptr[1].key = msgpack::object(a2, z); - o->via.map.ptr[1].val = msgpack::object(a3, z); - - o->via.map.ptr[2].key = msgpack::object(a4, z); - o->via.map.ptr[2].val = msgpack::object(a5, z); - - o->via.map.ptr[3].key = msgpack::object(a6, z); - o->via.map.ptr[3].val = msgpack::object(a7, z); - - o->via.map.ptr[4].key = msgpack::object(a8, z); - o->via.map.ptr[4].val = msgpack::object(a9, z); - - o->via.map.ptr[5].key = msgpack::object(a10, z); - o->via.map.ptr[5].val = msgpack::object(a11, z); - - o->via.map.ptr[6].key = msgpack::object(a12, z); - o->via.map.ptr[6].val = msgpack::object(a13, z); - - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; -}; - -template -struct define_map { - define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(8); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - { - std::map::const_iterator it = kvmap.find(a2); - if (it != kvmap.end()) { - it->second->convert(a3); - } - } - - { - std::map::const_iterator it = kvmap.find(a4); - if (it != kvmap.end()) { - it->second->convert(a5); - } - } - - { - std::map::const_iterator it = kvmap.find(a6); - if (it != kvmap.end()) { - it->second->convert(a7); - } - } - - { - std::map::const_iterator it = kvmap.find(a8); - if (it != kvmap.end()) { - it->second->convert(a9); - } - } - - { - std::map::const_iterator it = kvmap.find(a10); - if (it != kvmap.end()) { - it->second->convert(a11); - } - } - - { - std::map::const_iterator it = kvmap.find(a12); - if (it != kvmap.end()) { - it->second->convert(a13); - } - } - - { - std::map::const_iterator it = kvmap.find(a14); - if (it != kvmap.end()) { - it->second->convert(a15); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*8, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 8; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - o->via.map.ptr[1].key = msgpack::object(a2, z); - o->via.map.ptr[1].val = msgpack::object(a3, z); - - o->via.map.ptr[2].key = msgpack::object(a4, z); - o->via.map.ptr[2].val = msgpack::object(a5, z); - - o->via.map.ptr[3].key = msgpack::object(a6, z); - o->via.map.ptr[3].val = msgpack::object(a7, z); - - o->via.map.ptr[4].key = msgpack::object(a8, z); - o->via.map.ptr[4].val = msgpack::object(a9, z); - - o->via.map.ptr[5].key = msgpack::object(a10, z); - o->via.map.ptr[5].val = msgpack::object(a11, z); - - o->via.map.ptr[6].key = msgpack::object(a12, z); - o->via.map.ptr[6].val = msgpack::object(a13, z); - - o->via.map.ptr[7].key = msgpack::object(a14, z); - o->via.map.ptr[7].val = msgpack::object(a15, z); - - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; -}; - -template -struct define_map { - define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(9); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - { - std::map::const_iterator it = kvmap.find(a2); - if (it != kvmap.end()) { - it->second->convert(a3); - } - } - - { - std::map::const_iterator it = kvmap.find(a4); - if (it != kvmap.end()) { - it->second->convert(a5); - } - } - - { - std::map::const_iterator it = kvmap.find(a6); - if (it != kvmap.end()) { - it->second->convert(a7); - } - } - - { - std::map::const_iterator it = kvmap.find(a8); - if (it != kvmap.end()) { - it->second->convert(a9); - } - } - - { - std::map::const_iterator it = kvmap.find(a10); - if (it != kvmap.end()) { - it->second->convert(a11); - } - } - - { - std::map::const_iterator it = kvmap.find(a12); - if (it != kvmap.end()) { - it->second->convert(a13); - } - } - - { - std::map::const_iterator it = kvmap.find(a14); - if (it != kvmap.end()) { - it->second->convert(a15); - } - } - - { - std::map::const_iterator it = kvmap.find(a16); - if (it != kvmap.end()) { - it->second->convert(a17); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*9, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 9; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - o->via.map.ptr[1].key = msgpack::object(a2, z); - o->via.map.ptr[1].val = msgpack::object(a3, z); - - o->via.map.ptr[2].key = msgpack::object(a4, z); - o->via.map.ptr[2].val = msgpack::object(a5, z); - - o->via.map.ptr[3].key = msgpack::object(a6, z); - o->via.map.ptr[3].val = msgpack::object(a7, z); - - o->via.map.ptr[4].key = msgpack::object(a8, z); - o->via.map.ptr[4].val = msgpack::object(a9, z); - - o->via.map.ptr[5].key = msgpack::object(a10, z); - o->via.map.ptr[5].val = msgpack::object(a11, z); - - o->via.map.ptr[6].key = msgpack::object(a12, z); - o->via.map.ptr[6].val = msgpack::object(a13, z); - - o->via.map.ptr[7].key = msgpack::object(a14, z); - o->via.map.ptr[7].val = msgpack::object(a15, z); - - o->via.map.ptr[8].key = msgpack::object(a16, z); - o->via.map.ptr[8].val = msgpack::object(a17, z); - - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; -}; - -template -struct define_map { - define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(10); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - { - std::map::const_iterator it = kvmap.find(a2); - if (it != kvmap.end()) { - it->second->convert(a3); - } - } - - { - std::map::const_iterator it = kvmap.find(a4); - if (it != kvmap.end()) { - it->second->convert(a5); - } - } - - { - std::map::const_iterator it = kvmap.find(a6); - if (it != kvmap.end()) { - it->second->convert(a7); - } - } - - { - std::map::const_iterator it = kvmap.find(a8); - if (it != kvmap.end()) { - it->second->convert(a9); - } - } - - { - std::map::const_iterator it = kvmap.find(a10); - if (it != kvmap.end()) { - it->second->convert(a11); - } - } - - { - std::map::const_iterator it = kvmap.find(a12); - if (it != kvmap.end()) { - it->second->convert(a13); - } - } - - { - std::map::const_iterator it = kvmap.find(a14); - if (it != kvmap.end()) { - it->second->convert(a15); - } - } - - { - std::map::const_iterator it = kvmap.find(a16); - if (it != kvmap.end()) { - it->second->convert(a17); - } - } - - { - std::map::const_iterator it = kvmap.find(a18); - if (it != kvmap.end()) { - it->second->convert(a19); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*10, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 10; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - o->via.map.ptr[1].key = msgpack::object(a2, z); - o->via.map.ptr[1].val = msgpack::object(a3, z); - - o->via.map.ptr[2].key = msgpack::object(a4, z); - o->via.map.ptr[2].val = msgpack::object(a5, z); - - o->via.map.ptr[3].key = msgpack::object(a6, z); - o->via.map.ptr[3].val = msgpack::object(a7, z); - - o->via.map.ptr[4].key = msgpack::object(a8, z); - o->via.map.ptr[4].val = msgpack::object(a9, z); - - o->via.map.ptr[5].key = msgpack::object(a10, z); - o->via.map.ptr[5].val = msgpack::object(a11, z); - - o->via.map.ptr[6].key = msgpack::object(a12, z); - o->via.map.ptr[6].val = msgpack::object(a13, z); - - o->via.map.ptr[7].key = msgpack::object(a14, z); - o->via.map.ptr[7].val = msgpack::object(a15, z); - - o->via.map.ptr[8].key = msgpack::object(a16, z); - o->via.map.ptr[8].val = msgpack::object(a17, z); - - o->via.map.ptr[9].key = msgpack::object(a18, z); - o->via.map.ptr[9].val = msgpack::object(a19, z); - - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; -}; - -template -struct define_map { - define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(11); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - { - std::map::const_iterator it = kvmap.find(a2); - if (it != kvmap.end()) { - it->second->convert(a3); - } - } - - { - std::map::const_iterator it = kvmap.find(a4); - if (it != kvmap.end()) { - it->second->convert(a5); - } - } - - { - std::map::const_iterator it = kvmap.find(a6); - if (it != kvmap.end()) { - it->second->convert(a7); - } - } - - { - std::map::const_iterator it = kvmap.find(a8); - if (it != kvmap.end()) { - it->second->convert(a9); - } - } - - { - std::map::const_iterator it = kvmap.find(a10); - if (it != kvmap.end()) { - it->second->convert(a11); - } - } - - { - std::map::const_iterator it = kvmap.find(a12); - if (it != kvmap.end()) { - it->second->convert(a13); - } - } - - { - std::map::const_iterator it = kvmap.find(a14); - if (it != kvmap.end()) { - it->second->convert(a15); - } - } - - { - std::map::const_iterator it = kvmap.find(a16); - if (it != kvmap.end()) { - it->second->convert(a17); - } - } - - { - std::map::const_iterator it = kvmap.find(a18); - if (it != kvmap.end()) { - it->second->convert(a19); - } - } - - { - std::map::const_iterator it = kvmap.find(a20); - if (it != kvmap.end()) { - it->second->convert(a21); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*11, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 11; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - o->via.map.ptr[1].key = msgpack::object(a2, z); - o->via.map.ptr[1].val = msgpack::object(a3, z); - - o->via.map.ptr[2].key = msgpack::object(a4, z); - o->via.map.ptr[2].val = msgpack::object(a5, z); - - o->via.map.ptr[3].key = msgpack::object(a6, z); - o->via.map.ptr[3].val = msgpack::object(a7, z); - - o->via.map.ptr[4].key = msgpack::object(a8, z); - o->via.map.ptr[4].val = msgpack::object(a9, z); - - o->via.map.ptr[5].key = msgpack::object(a10, z); - o->via.map.ptr[5].val = msgpack::object(a11, z); - - o->via.map.ptr[6].key = msgpack::object(a12, z); - o->via.map.ptr[6].val = msgpack::object(a13, z); - - o->via.map.ptr[7].key = msgpack::object(a14, z); - o->via.map.ptr[7].val = msgpack::object(a15, z); - - o->via.map.ptr[8].key = msgpack::object(a16, z); - o->via.map.ptr[8].val = msgpack::object(a17, z); - - o->via.map.ptr[9].key = msgpack::object(a18, z); - o->via.map.ptr[9].val = msgpack::object(a19, z); - - o->via.map.ptr[10].key = msgpack::object(a20, z); - o->via.map.ptr[10].val = msgpack::object(a21, z); - - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; -}; - -template -struct define_map { - define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(12); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - pk.pack(a22); - pk.pack(a23); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - { - std::map::const_iterator it = kvmap.find(a2); - if (it != kvmap.end()) { - it->second->convert(a3); - } - } - - { - std::map::const_iterator it = kvmap.find(a4); - if (it != kvmap.end()) { - it->second->convert(a5); - } - } - - { - std::map::const_iterator it = kvmap.find(a6); - if (it != kvmap.end()) { - it->second->convert(a7); - } - } - - { - std::map::const_iterator it = kvmap.find(a8); - if (it != kvmap.end()) { - it->second->convert(a9); - } - } - - { - std::map::const_iterator it = kvmap.find(a10); - if (it != kvmap.end()) { - it->second->convert(a11); - } - } - - { - std::map::const_iterator it = kvmap.find(a12); - if (it != kvmap.end()) { - it->second->convert(a13); - } - } - - { - std::map::const_iterator it = kvmap.find(a14); - if (it != kvmap.end()) { - it->second->convert(a15); - } - } - - { - std::map::const_iterator it = kvmap.find(a16); - if (it != kvmap.end()) { - it->second->convert(a17); - } - } - - { - std::map::const_iterator it = kvmap.find(a18); - if (it != kvmap.end()) { - it->second->convert(a19); - } - } - - { - std::map::const_iterator it = kvmap.find(a20); - if (it != kvmap.end()) { - it->second->convert(a21); - } - } - - { - std::map::const_iterator it = kvmap.find(a22); - if (it != kvmap.end()) { - it->second->convert(a23); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*12, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 12; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - o->via.map.ptr[1].key = msgpack::object(a2, z); - o->via.map.ptr[1].val = msgpack::object(a3, z); - - o->via.map.ptr[2].key = msgpack::object(a4, z); - o->via.map.ptr[2].val = msgpack::object(a5, z); - - o->via.map.ptr[3].key = msgpack::object(a6, z); - o->via.map.ptr[3].val = msgpack::object(a7, z); - - o->via.map.ptr[4].key = msgpack::object(a8, z); - o->via.map.ptr[4].val = msgpack::object(a9, z); - - o->via.map.ptr[5].key = msgpack::object(a10, z); - o->via.map.ptr[5].val = msgpack::object(a11, z); - - o->via.map.ptr[6].key = msgpack::object(a12, z); - o->via.map.ptr[6].val = msgpack::object(a13, z); - - o->via.map.ptr[7].key = msgpack::object(a14, z); - o->via.map.ptr[7].val = msgpack::object(a15, z); - - o->via.map.ptr[8].key = msgpack::object(a16, z); - o->via.map.ptr[8].val = msgpack::object(a17, z); - - o->via.map.ptr[9].key = msgpack::object(a18, z); - o->via.map.ptr[9].val = msgpack::object(a19, z); - - o->via.map.ptr[10].key = msgpack::object(a20, z); - o->via.map.ptr[10].val = msgpack::object(a21, z); - - o->via.map.ptr[11].key = msgpack::object(a22, z); - o->via.map.ptr[11].val = msgpack::object(a23, z); - - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; - A22& a22; - A23& a23; -}; - -template -struct define_map { - define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24, A25& _a25) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(13); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - pk.pack(a22); - pk.pack(a23); - pk.pack(a24); - pk.pack(a25); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - { - std::map::const_iterator it = kvmap.find(a2); - if (it != kvmap.end()) { - it->second->convert(a3); - } - } - - { - std::map::const_iterator it = kvmap.find(a4); - if (it != kvmap.end()) { - it->second->convert(a5); - } - } - - { - std::map::const_iterator it = kvmap.find(a6); - if (it != kvmap.end()) { - it->second->convert(a7); - } - } - - { - std::map::const_iterator it = kvmap.find(a8); - if (it != kvmap.end()) { - it->second->convert(a9); - } - } - - { - std::map::const_iterator it = kvmap.find(a10); - if (it != kvmap.end()) { - it->second->convert(a11); - } - } - - { - std::map::const_iterator it = kvmap.find(a12); - if (it != kvmap.end()) { - it->second->convert(a13); - } - } - - { - std::map::const_iterator it = kvmap.find(a14); - if (it != kvmap.end()) { - it->second->convert(a15); - } - } - - { - std::map::const_iterator it = kvmap.find(a16); - if (it != kvmap.end()) { - it->second->convert(a17); - } - } - - { - std::map::const_iterator it = kvmap.find(a18); - if (it != kvmap.end()) { - it->second->convert(a19); - } - } - - { - std::map::const_iterator it = kvmap.find(a20); - if (it != kvmap.end()) { - it->second->convert(a21); - } - } - - { - std::map::const_iterator it = kvmap.find(a22); - if (it != kvmap.end()) { - it->second->convert(a23); - } - } - - { - std::map::const_iterator it = kvmap.find(a24); - if (it != kvmap.end()) { - it->second->convert(a25); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*13, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 13; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - o->via.map.ptr[1].key = msgpack::object(a2, z); - o->via.map.ptr[1].val = msgpack::object(a3, z); - - o->via.map.ptr[2].key = msgpack::object(a4, z); - o->via.map.ptr[2].val = msgpack::object(a5, z); - - o->via.map.ptr[3].key = msgpack::object(a6, z); - o->via.map.ptr[3].val = msgpack::object(a7, z); - - o->via.map.ptr[4].key = msgpack::object(a8, z); - o->via.map.ptr[4].val = msgpack::object(a9, z); - - o->via.map.ptr[5].key = msgpack::object(a10, z); - o->via.map.ptr[5].val = msgpack::object(a11, z); - - o->via.map.ptr[6].key = msgpack::object(a12, z); - o->via.map.ptr[6].val = msgpack::object(a13, z); - - o->via.map.ptr[7].key = msgpack::object(a14, z); - o->via.map.ptr[7].val = msgpack::object(a15, z); - - o->via.map.ptr[8].key = msgpack::object(a16, z); - o->via.map.ptr[8].val = msgpack::object(a17, z); - - o->via.map.ptr[9].key = msgpack::object(a18, z); - o->via.map.ptr[9].val = msgpack::object(a19, z); - - o->via.map.ptr[10].key = msgpack::object(a20, z); - o->via.map.ptr[10].val = msgpack::object(a21, z); - - o->via.map.ptr[11].key = msgpack::object(a22, z); - o->via.map.ptr[11].val = msgpack::object(a23, z); - - o->via.map.ptr[12].key = msgpack::object(a24, z); - o->via.map.ptr[12].val = msgpack::object(a25, z); - - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; - A22& a22; - A23& a23; - A24& a24; - A25& a25; -}; - -template -struct define_map { - define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24, A25& _a25, A26& _a26, A27& _a27) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(14); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - pk.pack(a22); - pk.pack(a23); - pk.pack(a24); - pk.pack(a25); - pk.pack(a26); - pk.pack(a27); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - { - std::map::const_iterator it = kvmap.find(a2); - if (it != kvmap.end()) { - it->second->convert(a3); - } - } - - { - std::map::const_iterator it = kvmap.find(a4); - if (it != kvmap.end()) { - it->second->convert(a5); - } - } - - { - std::map::const_iterator it = kvmap.find(a6); - if (it != kvmap.end()) { - it->second->convert(a7); - } - } - - { - std::map::const_iterator it = kvmap.find(a8); - if (it != kvmap.end()) { - it->second->convert(a9); - } - } - - { - std::map::const_iterator it = kvmap.find(a10); - if (it != kvmap.end()) { - it->second->convert(a11); - } - } - - { - std::map::const_iterator it = kvmap.find(a12); - if (it != kvmap.end()) { - it->second->convert(a13); - } - } - - { - std::map::const_iterator it = kvmap.find(a14); - if (it != kvmap.end()) { - it->second->convert(a15); - } - } - - { - std::map::const_iterator it = kvmap.find(a16); - if (it != kvmap.end()) { - it->second->convert(a17); - } - } - - { - std::map::const_iterator it = kvmap.find(a18); - if (it != kvmap.end()) { - it->second->convert(a19); - } - } - - { - std::map::const_iterator it = kvmap.find(a20); - if (it != kvmap.end()) { - it->second->convert(a21); - } - } - - { - std::map::const_iterator it = kvmap.find(a22); - if (it != kvmap.end()) { - it->second->convert(a23); - } - } - - { - std::map::const_iterator it = kvmap.find(a24); - if (it != kvmap.end()) { - it->second->convert(a25); - } - } - - { - std::map::const_iterator it = kvmap.find(a26); - if (it != kvmap.end()) { - it->second->convert(a27); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*14, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 14; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - o->via.map.ptr[1].key = msgpack::object(a2, z); - o->via.map.ptr[1].val = msgpack::object(a3, z); - - o->via.map.ptr[2].key = msgpack::object(a4, z); - o->via.map.ptr[2].val = msgpack::object(a5, z); - - o->via.map.ptr[3].key = msgpack::object(a6, z); - o->via.map.ptr[3].val = msgpack::object(a7, z); - - o->via.map.ptr[4].key = msgpack::object(a8, z); - o->via.map.ptr[4].val = msgpack::object(a9, z); - - o->via.map.ptr[5].key = msgpack::object(a10, z); - o->via.map.ptr[5].val = msgpack::object(a11, z); - - o->via.map.ptr[6].key = msgpack::object(a12, z); - o->via.map.ptr[6].val = msgpack::object(a13, z); - - o->via.map.ptr[7].key = msgpack::object(a14, z); - o->via.map.ptr[7].val = msgpack::object(a15, z); - - o->via.map.ptr[8].key = msgpack::object(a16, z); - o->via.map.ptr[8].val = msgpack::object(a17, z); - - o->via.map.ptr[9].key = msgpack::object(a18, z); - o->via.map.ptr[9].val = msgpack::object(a19, z); - - o->via.map.ptr[10].key = msgpack::object(a20, z); - o->via.map.ptr[10].val = msgpack::object(a21, z); - - o->via.map.ptr[11].key = msgpack::object(a22, z); - o->via.map.ptr[11].val = msgpack::object(a23, z); - - o->via.map.ptr[12].key = msgpack::object(a24, z); - o->via.map.ptr[12].val = msgpack::object(a25, z); - - o->via.map.ptr[13].key = msgpack::object(a26, z); - o->via.map.ptr[13].val = msgpack::object(a27, z); - - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; - A22& a22; - A23& a23; - A24& a24; - A25& a25; - A26& a26; - A27& a27; -}; - -template -struct define_map { - define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24, A25& _a25, A26& _a26, A27& _a27, A28& _a28, A29& _a29) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27), a28(_a28), a29(_a29) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(15); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - pk.pack(a22); - pk.pack(a23); - pk.pack(a24); - pk.pack(a25); - pk.pack(a26); - pk.pack(a27); - pk.pack(a28); - pk.pack(a29); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - { - std::map::const_iterator it = kvmap.find(a2); - if (it != kvmap.end()) { - it->second->convert(a3); - } - } - - { - std::map::const_iterator it = kvmap.find(a4); - if (it != kvmap.end()) { - it->second->convert(a5); - } - } - - { - std::map::const_iterator it = kvmap.find(a6); - if (it != kvmap.end()) { - it->second->convert(a7); - } - } - - { - std::map::const_iterator it = kvmap.find(a8); - if (it != kvmap.end()) { - it->second->convert(a9); - } - } - - { - std::map::const_iterator it = kvmap.find(a10); - if (it != kvmap.end()) { - it->second->convert(a11); - } - } - - { - std::map::const_iterator it = kvmap.find(a12); - if (it != kvmap.end()) { - it->second->convert(a13); - } - } - - { - std::map::const_iterator it = kvmap.find(a14); - if (it != kvmap.end()) { - it->second->convert(a15); - } - } - - { - std::map::const_iterator it = kvmap.find(a16); - if (it != kvmap.end()) { - it->second->convert(a17); - } - } - - { - std::map::const_iterator it = kvmap.find(a18); - if (it != kvmap.end()) { - it->second->convert(a19); - } - } - - { - std::map::const_iterator it = kvmap.find(a20); - if (it != kvmap.end()) { - it->second->convert(a21); - } - } - - { - std::map::const_iterator it = kvmap.find(a22); - if (it != kvmap.end()) { - it->second->convert(a23); - } - } - - { - std::map::const_iterator it = kvmap.find(a24); - if (it != kvmap.end()) { - it->second->convert(a25); - } - } - - { - std::map::const_iterator it = kvmap.find(a26); - if (it != kvmap.end()) { - it->second->convert(a27); - } - } - - { - std::map::const_iterator it = kvmap.find(a28); - if (it != kvmap.end()) { - it->second->convert(a29); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*15, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 15; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - o->via.map.ptr[1].key = msgpack::object(a2, z); - o->via.map.ptr[1].val = msgpack::object(a3, z); - - o->via.map.ptr[2].key = msgpack::object(a4, z); - o->via.map.ptr[2].val = msgpack::object(a5, z); - - o->via.map.ptr[3].key = msgpack::object(a6, z); - o->via.map.ptr[3].val = msgpack::object(a7, z); - - o->via.map.ptr[4].key = msgpack::object(a8, z); - o->via.map.ptr[4].val = msgpack::object(a9, z); - - o->via.map.ptr[5].key = msgpack::object(a10, z); - o->via.map.ptr[5].val = msgpack::object(a11, z); - - o->via.map.ptr[6].key = msgpack::object(a12, z); - o->via.map.ptr[6].val = msgpack::object(a13, z); - - o->via.map.ptr[7].key = msgpack::object(a14, z); - o->via.map.ptr[7].val = msgpack::object(a15, z); - - o->via.map.ptr[8].key = msgpack::object(a16, z); - o->via.map.ptr[8].val = msgpack::object(a17, z); - - o->via.map.ptr[9].key = msgpack::object(a18, z); - o->via.map.ptr[9].val = msgpack::object(a19, z); - - o->via.map.ptr[10].key = msgpack::object(a20, z); - o->via.map.ptr[10].val = msgpack::object(a21, z); - - o->via.map.ptr[11].key = msgpack::object(a22, z); - o->via.map.ptr[11].val = msgpack::object(a23, z); - - o->via.map.ptr[12].key = msgpack::object(a24, z); - o->via.map.ptr[12].val = msgpack::object(a25, z); - - o->via.map.ptr[13].key = msgpack::object(a26, z); - o->via.map.ptr[13].val = msgpack::object(a27, z); - - o->via.map.ptr[14].key = msgpack::object(a28, z); - o->via.map.ptr[14].val = msgpack::object(a29, z); - - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; - A22& a22; - A23& a23; - A24& a24; - A25& a25; - A26& a26; - A27& a27; - A28& a28; - A29& a29; -}; - -template -struct define_map { - define_map(A0& _a0, A1& _a1, A2& _a2, A3& _a3, A4& _a4, A5& _a5, A6& _a6, A7& _a7, A8& _a8, A9& _a9, A10& _a10, A11& _a11, A12& _a12, A13& _a13, A14& _a14, A15& _a15, A16& _a16, A17& _a17, A18& _a18, A19& _a19, A20& _a20, A21& _a21, A22& _a22, A23& _a23, A24& _a24, A25& _a25, A26& _a26, A27& _a27, A28& _a28, A29& _a29, A30& _a30, A31& _a31) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27), a28(_a28), a29(_a29), a30(_a30), a31(_a31) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_map(16); - - pk.pack(a0); - pk.pack(a1); - pk.pack(a2); - pk.pack(a3); - pk.pack(a4); - pk.pack(a5); - pk.pack(a6); - pk.pack(a7); - pk.pack(a8); - pk.pack(a9); - pk.pack(a10); - pk.pack(a11); - pk.pack(a12); - pk.pack(a13); - pk.pack(a14); - pk.pack(a15); - pk.pack(a16); - pk.pack(a17); - pk.pack(a18); - pk.pack(a19); - pk.pack(a20); - pk.pack(a21); - pk.pack(a22); - pk.pack(a23); - pk.pack(a24); - pk.pack(a25); - pk.pack(a26); - pk.pack(a27); - pk.pack(a28); - pk.pack(a29); - pk.pack(a30); - pk.pack(a31); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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::value_type( - std::string( - o.via.map.ptr[i].key.via.str.ptr, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val - ) - ); - } - - { - std::map::const_iterator it = kvmap.find(a0); - if (it != kvmap.end()) { - it->second->convert(a1); - } - } - - { - std::map::const_iterator it = kvmap.find(a2); - if (it != kvmap.end()) { - it->second->convert(a3); - } - } - - { - std::map::const_iterator it = kvmap.find(a4); - if (it != kvmap.end()) { - it->second->convert(a5); - } - } - - { - std::map::const_iterator it = kvmap.find(a6); - if (it != kvmap.end()) { - it->second->convert(a7); - } - } - - { - std::map::const_iterator it = kvmap.find(a8); - if (it != kvmap.end()) { - it->second->convert(a9); - } - } - - { - std::map::const_iterator it = kvmap.find(a10); - if (it != kvmap.end()) { - it->second->convert(a11); - } - } - - { - std::map::const_iterator it = kvmap.find(a12); - if (it != kvmap.end()) { - it->second->convert(a13); - } - } - - { - std::map::const_iterator it = kvmap.find(a14); - if (it != kvmap.end()) { - it->second->convert(a15); - } - } - - { - std::map::const_iterator it = kvmap.find(a16); - if (it != kvmap.end()) { - it->second->convert(a17); - } - } - - { - std::map::const_iterator it = kvmap.find(a18); - if (it != kvmap.end()) { - it->second->convert(a19); - } - } - - { - std::map::const_iterator it = kvmap.find(a20); - if (it != kvmap.end()) { - it->second->convert(a21); - } - } - - { - std::map::const_iterator it = kvmap.find(a22); - if (it != kvmap.end()) { - it->second->convert(a23); - } - } - - { - std::map::const_iterator it = kvmap.find(a24); - if (it != kvmap.end()) { - it->second->convert(a25); - } - } - - { - std::map::const_iterator it = kvmap.find(a26); - if (it != kvmap.end()) { - it->second->convert(a27); - } - } - - { - std::map::const_iterator it = kvmap.find(a28); - if (it != kvmap.end()) { - it->second->convert(a29); - } - } - - { - std::map::const_iterator it = kvmap.find(a30); - if (it != kvmap.end()) { - it->second->convert(a31); - } - } - - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*16, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = 16; - - o->via.map.ptr[0].key = msgpack::object(a0, z); - o->via.map.ptr[0].val = msgpack::object(a1, z); - - o->via.map.ptr[1].key = msgpack::object(a2, z); - o->via.map.ptr[1].val = msgpack::object(a3, z); - - o->via.map.ptr[2].key = msgpack::object(a4, z); - o->via.map.ptr[2].val = msgpack::object(a5, z); - - o->via.map.ptr[3].key = msgpack::object(a6, z); - o->via.map.ptr[3].val = msgpack::object(a7, z); - - o->via.map.ptr[4].key = msgpack::object(a8, z); - o->via.map.ptr[4].val = msgpack::object(a9, z); - - o->via.map.ptr[5].key = msgpack::object(a10, z); - o->via.map.ptr[5].val = msgpack::object(a11, z); - - o->via.map.ptr[6].key = msgpack::object(a12, z); - o->via.map.ptr[6].val = msgpack::object(a13, z); - - o->via.map.ptr[7].key = msgpack::object(a14, z); - o->via.map.ptr[7].val = msgpack::object(a15, z); - - o->via.map.ptr[8].key = msgpack::object(a16, z); - o->via.map.ptr[8].val = msgpack::object(a17, z); - - o->via.map.ptr[9].key = msgpack::object(a18, z); - o->via.map.ptr[9].val = msgpack::object(a19, z); - - o->via.map.ptr[10].key = msgpack::object(a20, z); - o->via.map.ptr[10].val = msgpack::object(a21, z); - - o->via.map.ptr[11].key = msgpack::object(a22, z); - o->via.map.ptr[11].val = msgpack::object(a23, z); - - o->via.map.ptr[12].key = msgpack::object(a24, z); - o->via.map.ptr[12].val = msgpack::object(a25, z); - - o->via.map.ptr[13].key = msgpack::object(a26, z); - o->via.map.ptr[13].val = msgpack::object(a27, z); - - o->via.map.ptr[14].key = msgpack::object(a28, z); - o->via.map.ptr[14].val = msgpack::object(a29, z); - - o->via.map.ptr[15].key = msgpack::object(a30, z); - o->via.map.ptr[15].val = msgpack::object(a31, z); - - } - - A0& a0; - A1& a1; - A2& a2; - A3& a3; - A4& a4; - A5& a5; - A6& a6; - A7& a7; - A8& a8; - A9& a9; - A10& a10; - A11& a11; - A12& a12; - A13& a13; - A14& a14; - A15& a15; - A16& a16; - A17& a17; - A18& a18; - A19& a19; - A20& a20; - A21& a21; - A22& a22; - A23& a23; - A24& a24; - A25& a25; - A26& a26; - A27& a27; - A28& a28; - A29& a29; - A30& a30; - A31& a31; -}; - -/// @endcond - -inline define_map<> make_define_map() -{ - return define_map<>(); -} - -/// @cond - -template -inline define_map make_define_map(A0& a0) -{ - return define_map(a0); -} - -template -inline define_map make_define_map(A0& a0, A1& a1) -{ - return define_map(a0, a1); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2) -{ - return define_map(a0, a1, a2); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3) -{ - return define_map(a0, a1, a2, a3); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4) -{ - return define_map(a0, a1, a2, a3, a4); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5) -{ - return define_map(a0, a1, a2, a3, a4, a5); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28, A29& a29) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28, A29& a29, A30& a30) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30); -} - -template -inline define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28, A29& a29, A30& a30, A31& a31) -{ - return define_map(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31); -} - -/// @endcond - -} // namespace type -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_DEFINE_MAP_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp deleted file mode 100644 index 67644565d..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp +++ /dev/null @@ -1,135 +0,0 @@ -// -// 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_V1_CPP03_DEFINE_MAP_DECL_HPP -#define MSGPACK_V1_CPP03_DEFINE_MAP_DECL_HPP - -#include "msgpack/versioning.hpp" - -namespace msgpack { -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond -namespace type { - -/// @cond - -template -struct define_map; -/// @endcond - -define_map<> make_define_map(); - -/// @cond - -template -define_map make_define_map(A0& a0); - -template -define_map make_define_map(A0& a0, A1& a1); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28, A29& a29); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28, A29& a29, A30& a30); - -template -define_map make_define_map(A0& a0, A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10, A11& a11, A12& a12, A13& a13, A14& a14, A15& a15, A16& a16, A17& a17, A18& a18, A19& a19, A20& a20, A21& a21, A22& a22, A23& a23, A24& a24, A25& a25, A26& a26, A27& a27, A28& a28, A29& a29, A30& a30, A31& a31); - -/// @endcond - -} // namespace type -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_DEFINE_MAP_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp deleted file mode 100644 index 7a980c4b3..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp +++ /dev/null @@ -1,14425 +0,0 @@ -// -// 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_V1_CPP03_MSGPACK_TUPLE_HPP -#define MSGPACK_V1_CPP03_MSGPACK_TUPLE_HPP - -#include "msgpack/v1/adaptor/msgpack_tuple_decl.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -// FIXME operator== -// FIXME operator!= - - -template -struct tuple_type { - typedef T type; - typedef T value_type; - typedef T& reference; - typedef const T& const_reference; - typedef const T& transparent_reference; -}; - -template -struct tuple_type { - typedef T type; - typedef T& value_type; - typedef T& reference; - typedef const T& const_reference; - typedef T& transparent_reference; -}; - -template -struct tuple_type { - typedef T type; - typedef T& value_type; - typedef T& reference; - typedef const T& const_reference; - typedef const T& transparent_reference; -}; - -/// @cond - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 17> : tuple_type { - tuple_element(tuple& x) : m_x(x.a17) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 17> : tuple_type { - tuple_element(tuple& x) : m_x(x.a17) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 18> : tuple_type { - tuple_element(tuple& x) : m_x(x.a18) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 17> : tuple_type { - tuple_element(tuple& x) : m_x(x.a17) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 18> : tuple_type { - tuple_element(tuple& x) : m_x(x.a18) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 19> : tuple_type { - tuple_element(tuple& x) : m_x(x.a19) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 17> : tuple_type { - tuple_element(tuple& x) : m_x(x.a17) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 18> : tuple_type { - tuple_element(tuple& x) : m_x(x.a18) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 19> : tuple_type { - tuple_element(tuple& x) : m_x(x.a19) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 20> : tuple_type { - tuple_element(tuple& x) : m_x(x.a20) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 17> : tuple_type { - tuple_element(tuple& x) : m_x(x.a17) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 18> : tuple_type { - tuple_element(tuple& x) : m_x(x.a18) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 19> : tuple_type { - tuple_element(tuple& x) : m_x(x.a19) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 20> : tuple_type { - tuple_element(tuple& x) : m_x(x.a20) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 21> : tuple_type { - tuple_element(tuple& x) : m_x(x.a21) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 17> : tuple_type { - tuple_element(tuple& x) : m_x(x.a17) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 18> : tuple_type { - tuple_element(tuple& x) : m_x(x.a18) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 19> : tuple_type { - tuple_element(tuple& x) : m_x(x.a19) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 20> : tuple_type { - tuple_element(tuple& x) : m_x(x.a20) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 21> : tuple_type { - tuple_element(tuple& x) : m_x(x.a21) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 22> : tuple_type { - tuple_element(tuple& x) : m_x(x.a22) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 17> : tuple_type { - tuple_element(tuple& x) : m_x(x.a17) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 18> : tuple_type { - tuple_element(tuple& x) : m_x(x.a18) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 19> : tuple_type { - tuple_element(tuple& x) : m_x(x.a19) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 20> : tuple_type { - tuple_element(tuple& x) : m_x(x.a20) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 21> : tuple_type { - tuple_element(tuple& x) : m_x(x.a21) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 22> : tuple_type { - tuple_element(tuple& x) : m_x(x.a22) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 23> : tuple_type { - tuple_element(tuple& x) : m_x(x.a23) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 17> : tuple_type { - tuple_element(tuple& x) : m_x(x.a17) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 18> : tuple_type { - tuple_element(tuple& x) : m_x(x.a18) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 19> : tuple_type { - tuple_element(tuple& x) : m_x(x.a19) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 20> : tuple_type { - tuple_element(tuple& x) : m_x(x.a20) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 21> : tuple_type { - tuple_element(tuple& x) : m_x(x.a21) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 22> : tuple_type { - tuple_element(tuple& x) : m_x(x.a22) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 23> : tuple_type { - tuple_element(tuple& x) : m_x(x.a23) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 24> : tuple_type { - tuple_element(tuple& x) : m_x(x.a24) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 17> : tuple_type { - tuple_element(tuple& x) : m_x(x.a17) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 18> : tuple_type { - tuple_element(tuple& x) : m_x(x.a18) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 19> : tuple_type { - tuple_element(tuple& x) : m_x(x.a19) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 20> : tuple_type { - tuple_element(tuple& x) : m_x(x.a20) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 21> : tuple_type { - tuple_element(tuple& x) : m_x(x.a21) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 22> : tuple_type { - tuple_element(tuple& x) : m_x(x.a22) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 23> : tuple_type { - tuple_element(tuple& x) : m_x(x.a23) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 24> : tuple_type { - tuple_element(tuple& x) : m_x(x.a24) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 25> : tuple_type { - tuple_element(tuple& x) : m_x(x.a25) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 17> : tuple_type { - tuple_element(tuple& x) : m_x(x.a17) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 18> : tuple_type { - tuple_element(tuple& x) : m_x(x.a18) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 19> : tuple_type { - tuple_element(tuple& x) : m_x(x.a19) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 20> : tuple_type { - tuple_element(tuple& x) : m_x(x.a20) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 21> : tuple_type { - tuple_element(tuple& x) : m_x(x.a21) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 22> : tuple_type { - tuple_element(tuple& x) : m_x(x.a22) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 23> : tuple_type { - tuple_element(tuple& x) : m_x(x.a23) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 24> : tuple_type { - tuple_element(tuple& x) : m_x(x.a24) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 25> : tuple_type { - tuple_element(tuple& x) : m_x(x.a25) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 26> : tuple_type { - tuple_element(tuple& x) : m_x(x.a26) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 17> : tuple_type { - tuple_element(tuple& x) : m_x(x.a17) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 18> : tuple_type { - tuple_element(tuple& x) : m_x(x.a18) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 19> : tuple_type { - tuple_element(tuple& x) : m_x(x.a19) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 20> : tuple_type { - tuple_element(tuple& x) : m_x(x.a20) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 21> : tuple_type { - tuple_element(tuple& x) : m_x(x.a21) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 22> : tuple_type { - tuple_element(tuple& x) : m_x(x.a22) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 23> : tuple_type { - tuple_element(tuple& x) : m_x(x.a23) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 24> : tuple_type { - tuple_element(tuple& x) : m_x(x.a24) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 25> : tuple_type { - tuple_element(tuple& x) : m_x(x.a25) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 26> : tuple_type { - tuple_element(tuple& x) : m_x(x.a26) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 27> : tuple_type { - tuple_element(tuple& x) : m_x(x.a27) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 17> : tuple_type { - tuple_element(tuple& x) : m_x(x.a17) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 18> : tuple_type { - tuple_element(tuple& x) : m_x(x.a18) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 19> : tuple_type { - tuple_element(tuple& x) : m_x(x.a19) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 20> : tuple_type { - tuple_element(tuple& x) : m_x(x.a20) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 21> : tuple_type { - tuple_element(tuple& x) : m_x(x.a21) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 22> : tuple_type { - tuple_element(tuple& x) : m_x(x.a22) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 23> : tuple_type { - tuple_element(tuple& x) : m_x(x.a23) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 24> : tuple_type { - tuple_element(tuple& x) : m_x(x.a24) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 25> : tuple_type { - tuple_element(tuple& x) : m_x(x.a25) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 26> : tuple_type { - tuple_element(tuple& x) : m_x(x.a26) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 27> : tuple_type { - tuple_element(tuple& x) : m_x(x.a27) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 28> : tuple_type { - tuple_element(tuple& x) : m_x(x.a28) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 17> : tuple_type { - tuple_element(tuple& x) : m_x(x.a17) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 18> : tuple_type { - tuple_element(tuple& x) : m_x(x.a18) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 19> : tuple_type { - tuple_element(tuple& x) : m_x(x.a19) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 20> : tuple_type { - tuple_element(tuple& x) : m_x(x.a20) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 21> : tuple_type { - tuple_element(tuple& x) : m_x(x.a21) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 22> : tuple_type { - tuple_element(tuple& x) : m_x(x.a22) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 23> : tuple_type { - tuple_element(tuple& x) : m_x(x.a23) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 24> : tuple_type { - tuple_element(tuple& x) : m_x(x.a24) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 25> : tuple_type { - tuple_element(tuple& x) : m_x(x.a25) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 26> : tuple_type { - tuple_element(tuple& x) : m_x(x.a26) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 27> : tuple_type { - tuple_element(tuple& x) : m_x(x.a27) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 28> : tuple_type { - tuple_element(tuple& x) : m_x(x.a28) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 29> : tuple_type { - tuple_element(tuple& x) : m_x(x.a29) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 17> : tuple_type { - tuple_element(tuple& x) : m_x(x.a17) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 18> : tuple_type { - tuple_element(tuple& x) : m_x(x.a18) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 19> : tuple_type { - tuple_element(tuple& x) : m_x(x.a19) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 20> : tuple_type { - tuple_element(tuple& x) : m_x(x.a20) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 21> : tuple_type { - tuple_element(tuple& x) : m_x(x.a21) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 22> : tuple_type { - tuple_element(tuple& x) : m_x(x.a22) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 23> : tuple_type { - tuple_element(tuple& x) : m_x(x.a23) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 24> : tuple_type { - tuple_element(tuple& x) : m_x(x.a24) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 25> : tuple_type { - tuple_element(tuple& x) : m_x(x.a25) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 26> : tuple_type { - tuple_element(tuple& x) : m_x(x.a26) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 27> : tuple_type { - tuple_element(tuple& x) : m_x(x.a27) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 28> : tuple_type { - tuple_element(tuple& x) : m_x(x.a28) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 29> : tuple_type { - tuple_element(tuple& x) : m_x(x.a29) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 30> : tuple_type { - tuple_element(tuple& x) : m_x(x.a30) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - -template -struct tuple_element, 0> : tuple_type { - tuple_element(tuple& x) : m_x(x.a0) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 1> : tuple_type { - tuple_element(tuple& x) : m_x(x.a1) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 2> : tuple_type { - tuple_element(tuple& x) : m_x(x.a2) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 3> : tuple_type { - tuple_element(tuple& x) : m_x(x.a3) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 4> : tuple_type { - tuple_element(tuple& x) : m_x(x.a4) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 5> : tuple_type { - tuple_element(tuple& x) : m_x(x.a5) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 6> : tuple_type { - tuple_element(tuple& x) : m_x(x.a6) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 7> : tuple_type { - tuple_element(tuple& x) : m_x(x.a7) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 8> : tuple_type { - tuple_element(tuple& x) : m_x(x.a8) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 9> : tuple_type { - tuple_element(tuple& x) : m_x(x.a9) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 10> : tuple_type { - tuple_element(tuple& x) : m_x(x.a10) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 11> : tuple_type { - tuple_element(tuple& x) : m_x(x.a11) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 12> : tuple_type { - tuple_element(tuple& x) : m_x(x.a12) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 13> : tuple_type { - tuple_element(tuple& x) : m_x(x.a13) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 14> : tuple_type { - tuple_element(tuple& x) : m_x(x.a14) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 15> : tuple_type { - tuple_element(tuple& x) : m_x(x.a15) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 16> : tuple_type { - tuple_element(tuple& x) : m_x(x.a16) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 17> : tuple_type { - tuple_element(tuple& x) : m_x(x.a17) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 18> : tuple_type { - tuple_element(tuple& x) : m_x(x.a18) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 19> : tuple_type { - tuple_element(tuple& x) : m_x(x.a19) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 20> : tuple_type { - tuple_element(tuple& x) : m_x(x.a20) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 21> : tuple_type { - tuple_element(tuple& x) : m_x(x.a21) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 22> : tuple_type { - tuple_element(tuple& x) : m_x(x.a22) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 23> : tuple_type { - tuple_element(tuple& x) : m_x(x.a23) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 24> : tuple_type { - tuple_element(tuple& x) : m_x(x.a24) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 25> : tuple_type { - tuple_element(tuple& x) : m_x(x.a25) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 26> : tuple_type { - tuple_element(tuple& x) : m_x(x.a26) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 27> : tuple_type { - tuple_element(tuple& x) : m_x(x.a27) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 28> : tuple_type { - tuple_element(tuple& x) : m_x(x.a28) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 29> : tuple_type { - tuple_element(tuple& x) : m_x(x.a29) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 30> : tuple_type { - tuple_element(tuple& x) : m_x(x.a30) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - -template -struct tuple_element, 31> : tuple_type { - tuple_element(tuple& x) : m_x(x.a31) {} - typename tuple_type::reference get() { return m_x; } - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::reference m_x; -}; - - - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 17> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a17) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 17> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a17) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 18> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a18) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 17> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a17) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 18> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a18) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 19> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a19) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 17> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a17) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 18> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a18) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 19> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a19) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 20> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a20) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 17> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a17) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 18> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a18) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 19> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a19) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 20> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a20) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 21> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a21) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 17> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a17) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 18> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a18) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 19> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a19) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 20> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a20) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 21> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a21) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 22> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a22) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 17> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a17) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 18> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a18) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 19> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a19) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 20> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a20) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 21> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a21) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 22> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a22) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 23> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a23) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 17> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a17) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 18> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a18) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 19> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a19) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 20> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a20) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 21> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a21) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 22> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a22) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 23> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a23) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 24> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a24) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 17> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a17) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 18> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a18) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 19> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a19) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 20> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a20) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 21> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a21) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 22> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a22) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 23> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a23) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 24> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a24) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 25> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a25) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 17> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a17) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 18> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a18) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 19> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a19) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 20> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a20) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 21> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a21) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 22> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a22) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 23> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a23) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 24> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a24) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 25> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a25) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 26> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a26) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 17> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a17) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 18> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a18) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 19> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a19) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 20> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a20) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 21> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a21) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 22> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a22) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 23> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a23) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 24> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a24) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 25> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a25) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 26> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a26) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 27> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a27) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 17> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a17) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 18> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a18) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 19> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a19) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 20> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a20) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 21> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a21) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 22> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a22) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 23> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a23) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 24> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a24) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 25> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a25) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 26> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a26) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 27> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a27) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 28> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a28) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 17> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a17) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 18> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a18) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 19> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a19) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 20> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a20) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 21> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a21) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 22> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a22) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 23> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a23) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 24> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a24) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 25> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a25) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 26> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a26) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 27> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a27) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 28> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a28) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 29> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a29) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 17> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a17) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 18> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a18) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 19> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a19) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 20> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a20) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 21> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a21) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 22> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a22) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 23> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a23) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 24> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a24) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 25> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a25) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 26> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a26) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 27> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a27) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 28> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a28) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 29> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a29) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 30> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a30) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - - -template -struct const_tuple_element, 0> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a0) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 1> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a1) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 2> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a2) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 3> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a3) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 4> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a4) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 5> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a5) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 6> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a6) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 7> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a7) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 8> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a8) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 9> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a9) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 10> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a10) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 11> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a11) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 12> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a12) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 13> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a13) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 14> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a14) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 15> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a15) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 16> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a16) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 17> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a17) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 18> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a18) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 19> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a19) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 20> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a20) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 21> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a21) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 22> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a22) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 23> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a23) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 24> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a24) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 25> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a25) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 26> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a26) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 27> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a27) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 28> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a28) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 29> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a29) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 30> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a30) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - -template -struct const_tuple_element, 31> : tuple_type { - const_tuple_element(const tuple& x) : m_x(x.a31) {} - typename tuple_type::const_reference get() const { return m_x; } -private: - typename tuple_type::const_reference m_x; -}; - - -/// @endcond - -template <> -struct tuple<> { - tuple() {} - tuple(msgpack::object const& o) { o.convert(*this); } - typedef tuple<> value_type; - std::size_t size() const { return 0; } -}; - -/// @cond - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 1; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0) : - a0(_a0) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 2; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1) : - a0(_a0), a1(_a1) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 3; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2) : - a0(_a0), a1(_a1), a2(_a2) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 4; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 5; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 6; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 7; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 8; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 9; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 10; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 11; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 12; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 13; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 14; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 15; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 16; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 17; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 18; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16, typename tuple_type::transparent_reference _a17) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; - A17 a17; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 19; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16, typename tuple_type::transparent_reference _a17, typename tuple_type::transparent_reference _a18) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; - A17 a17; - A18 a18; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 20; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16, typename tuple_type::transparent_reference _a17, typename tuple_type::transparent_reference _a18, typename tuple_type::transparent_reference _a19) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; - A17 a17; - A18 a18; - A19 a19; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 21; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16, typename tuple_type::transparent_reference _a17, typename tuple_type::transparent_reference _a18, typename tuple_type::transparent_reference _a19, typename tuple_type::transparent_reference _a20) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; - A17 a17; - A18 a18; - A19 a19; - A20 a20; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 22; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16, typename tuple_type::transparent_reference _a17, typename tuple_type::transparent_reference _a18, typename tuple_type::transparent_reference _a19, typename tuple_type::transparent_reference _a20, typename tuple_type::transparent_reference _a21) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; - A17 a17; - A18 a18; - A19 a19; - A20 a20; - A21 a21; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 23; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16, typename tuple_type::transparent_reference _a17, typename tuple_type::transparent_reference _a18, typename tuple_type::transparent_reference _a19, typename tuple_type::transparent_reference _a20, typename tuple_type::transparent_reference _a21, typename tuple_type::transparent_reference _a22) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; - A17 a17; - A18 a18; - A19 a19; - A20 a20; - A21 a21; - A22 a22; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 24; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16, typename tuple_type::transparent_reference _a17, typename tuple_type::transparent_reference _a18, typename tuple_type::transparent_reference _a19, typename tuple_type::transparent_reference _a20, typename tuple_type::transparent_reference _a21, typename tuple_type::transparent_reference _a22, typename tuple_type::transparent_reference _a23) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; - A17 a17; - A18 a18; - A19 a19; - A20 a20; - A21 a21; - A22 a22; - A23 a23; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 25; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16, typename tuple_type::transparent_reference _a17, typename tuple_type::transparent_reference _a18, typename tuple_type::transparent_reference _a19, typename tuple_type::transparent_reference _a20, typename tuple_type::transparent_reference _a21, typename tuple_type::transparent_reference _a22, typename tuple_type::transparent_reference _a23, typename tuple_type::transparent_reference _a24) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; - A17 a17; - A18 a18; - A19 a19; - A20 a20; - A21 a21; - A22 a22; - A23 a23; - A24 a24; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 26; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16, typename tuple_type::transparent_reference _a17, typename tuple_type::transparent_reference _a18, typename tuple_type::transparent_reference _a19, typename tuple_type::transparent_reference _a20, typename tuple_type::transparent_reference _a21, typename tuple_type::transparent_reference _a22, typename tuple_type::transparent_reference _a23, typename tuple_type::transparent_reference _a24, typename tuple_type::transparent_reference _a25) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; - A17 a17; - A18 a18; - A19 a19; - A20 a20; - A21 a21; - A22 a22; - A23 a23; - A24 a24; - A25 a25; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 27; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16, typename tuple_type::transparent_reference _a17, typename tuple_type::transparent_reference _a18, typename tuple_type::transparent_reference _a19, typename tuple_type::transparent_reference _a20, typename tuple_type::transparent_reference _a21, typename tuple_type::transparent_reference _a22, typename tuple_type::transparent_reference _a23, typename tuple_type::transparent_reference _a24, typename tuple_type::transparent_reference _a25, typename tuple_type::transparent_reference _a26) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; - A17 a17; - A18 a18; - A19 a19; - A20 a20; - A21 a21; - A22 a22; - A23 a23; - A24 a24; - A25 a25; - A26 a26; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 28; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16, typename tuple_type::transparent_reference _a17, typename tuple_type::transparent_reference _a18, typename tuple_type::transparent_reference _a19, typename tuple_type::transparent_reference _a20, typename tuple_type::transparent_reference _a21, typename tuple_type::transparent_reference _a22, typename tuple_type::transparent_reference _a23, typename tuple_type::transparent_reference _a24, typename tuple_type::transparent_reference _a25, typename tuple_type::transparent_reference _a26, typename tuple_type::transparent_reference _a27) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; - A17 a17; - A18 a18; - A19 a19; - A20 a20; - A21 a21; - A22 a22; - A23 a23; - A24 a24; - A25 a25; - A26 a26; - A27 a27; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 29; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16, typename tuple_type::transparent_reference _a17, typename tuple_type::transparent_reference _a18, typename tuple_type::transparent_reference _a19, typename tuple_type::transparent_reference _a20, typename tuple_type::transparent_reference _a21, typename tuple_type::transparent_reference _a22, typename tuple_type::transparent_reference _a23, typename tuple_type::transparent_reference _a24, typename tuple_type::transparent_reference _a25, typename tuple_type::transparent_reference _a26, typename tuple_type::transparent_reference _a27, typename tuple_type::transparent_reference _a28) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27), a28(_a28) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; - A17 a17; - A18 a18; - A19 a19; - A20 a20; - A21 a21; - A22 a22; - A23 a23; - A24 a24; - A25 a25; - A26 a26; - A27 a27; - A28 a28; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 30; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16, typename tuple_type::transparent_reference _a17, typename tuple_type::transparent_reference _a18, typename tuple_type::transparent_reference _a19, typename tuple_type::transparent_reference _a20, typename tuple_type::transparent_reference _a21, typename tuple_type::transparent_reference _a22, typename tuple_type::transparent_reference _a23, typename tuple_type::transparent_reference _a24, typename tuple_type::transparent_reference _a25, typename tuple_type::transparent_reference _a26, typename tuple_type::transparent_reference _a27, typename tuple_type::transparent_reference _a28, typename tuple_type::transparent_reference _a29) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27), a28(_a28), a29(_a29) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; - A17 a17; - A18 a18; - A19 a19; - A20 a20; - A21 a21; - A22 a22; - A23 a23; - A24 a24; - A25 a25; - A26 a26; - A27 a27; - A28 a28; - A29 a29; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 31; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16, typename tuple_type::transparent_reference _a17, typename tuple_type::transparent_reference _a18, typename tuple_type::transparent_reference _a19, typename tuple_type::transparent_reference _a20, typename tuple_type::transparent_reference _a21, typename tuple_type::transparent_reference _a22, typename tuple_type::transparent_reference _a23, typename tuple_type::transparent_reference _a24, typename tuple_type::transparent_reference _a25, typename tuple_type::transparent_reference _a26, typename tuple_type::transparent_reference _a27, typename tuple_type::transparent_reference _a28, typename tuple_type::transparent_reference _a29, typename tuple_type::transparent_reference _a30) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27), a28(_a28), a29(_a29), a30(_a30) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; - A17 a17; - A18 a18; - A19 a19; - A20 a20; - A21 a21; - A22 a22; - A23 a23; - A24 a24; - A25 a25; - A26 a26; - A27 a27; - A28 a28; - A29 a29; - A30 a30; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -template -struct tuple { - typedef tuple value_type; - std::size_t size() const { return 32; } - tuple() {} - tuple(typename tuple_type::transparent_reference _a0, typename tuple_type::transparent_reference _a1, typename tuple_type::transparent_reference _a2, typename tuple_type::transparent_reference _a3, typename tuple_type::transparent_reference _a4, typename tuple_type::transparent_reference _a5, typename tuple_type::transparent_reference _a6, typename tuple_type::transparent_reference _a7, typename tuple_type::transparent_reference _a8, typename tuple_type::transparent_reference _a9, typename tuple_type::transparent_reference _a10, typename tuple_type::transparent_reference _a11, typename tuple_type::transparent_reference _a12, typename tuple_type::transparent_reference _a13, typename tuple_type::transparent_reference _a14, typename tuple_type::transparent_reference _a15, typename tuple_type::transparent_reference _a16, typename tuple_type::transparent_reference _a17, typename tuple_type::transparent_reference _a18, typename tuple_type::transparent_reference _a19, typename tuple_type::transparent_reference _a20, typename tuple_type::transparent_reference _a21, typename tuple_type::transparent_reference _a22, typename tuple_type::transparent_reference _a23, typename tuple_type::transparent_reference _a24, typename tuple_type::transparent_reference _a25, typename tuple_type::transparent_reference _a26, typename tuple_type::transparent_reference _a27, typename tuple_type::transparent_reference _a28, typename tuple_type::transparent_reference _a29, typename tuple_type::transparent_reference _a30, typename tuple_type::transparent_reference _a31) : - a0(_a0), a1(_a1), a2(_a2), a3(_a3), a4(_a4), a5(_a5), a6(_a6), a7(_a7), a8(_a8), a9(_a9), a10(_a10), a11(_a11), a12(_a12), a13(_a13), a14(_a14), a15(_a15), a16(_a16), a17(_a17), a18(_a18), a19(_a19), a20(_a20), a21(_a21), a22(_a22), a23(_a23), a24(_a24), a25(_a25), a26(_a26), a27(_a27), a28(_a28), a29(_a29), a30(_a30), a31(_a31) {} - tuple(msgpack::object const& o) { o.convert(*this); } - template typename tuple_element::reference get() - { return tuple_element(*this).get(); } - template typename const_tuple_element::const_reference get() const - { return const_tuple_element(*this).get(); } - - A0 a0; - A1 a1; - A2 a2; - A3 a3; - A4 a4; - A5 a5; - A6 a6; - A7 a7; - A8 a8; - A9 a9; - A10 a10; - A11 a11; - A12 a12; - A13 a13; - A14 a14; - A15 a15; - A16 a16; - A17 a17; - A18 a18; - A19 a19; - A20 a20; - A21 a21; - A22 a22; - A23 a23; - A24 a24; - A25 a25; - A26 a26; - A27 a27; - A28 a28; - A29 a29; - A30 a30; - A31 a31; -}; - -template -inline typename type::tuple_element, N>::reference get(type::tuple& t) -{ return t.template get(); } -template -inline typename type::const_tuple_element, N>::const_reference get(type::tuple const& t) -{ return t.template get(); } - -/// @endcond - -inline tuple<> make_tuple() -{ - return tuple<>(); -} - -/// @cond - -template -tuple make_tuple(A0 const& a0) -{ - return tuple(a0); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1) -{ - return tuple(a0, a1); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2) -{ - return tuple(a0, a1, a2); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3) -{ - return tuple(a0, a1, a2, a3); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4) -{ - return tuple(a0, a1, a2, a3, a4); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5) -{ - return tuple(a0, a1, a2, a3, a4, a5); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24, A25 const& a25) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24, A25 const& a25, A26 const& a26) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24, A25 const& a25, A26 const& a26, A27 const& a27) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24, A25 const& a25, A26 const& a26, A27 const& a27, A28 const& a28) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24, A25 const& a25, A26 const& a26, A27 const& a27, A28 const& a28, A29 const& a29) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24, A25 const& a25, A26 const& a26, A27 const& a27, A28 const& a28, A29 const& a29, A30 const& a30) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30); -} - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24, A25 const& a25, A26 const& a26, A27 const& a27, A28 const& a28, A29 const& a29, A30 const& a30, A31 const& a31) -{ - return tuple(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31); -} - -/// @endcond - -} // namespace type - -namespace adaptor { - -template <> -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple<>&) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - return o; - } -}; - -/// @cond - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 17) - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 17) - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 18) - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 17) - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 18) - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 19) - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 17) - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 18) - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 19) - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 20) - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 17) - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 18) - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 19) - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 20) - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 21) - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 17) - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 18) - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 19) - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 20) - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 21) - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 22) - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 17) - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 18) - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 19) - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 20) - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 21) - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 22) - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 23) - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 17) - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 18) - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 19) - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 20) - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 21) - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 22) - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 23) - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 24) - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 17) - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 18) - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 19) - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 20) - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 21) - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 22) - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 23) - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 24) - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 25) - o.via.array.ptr[25].msgpack::object::convert::type>(v.template get<25>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 17) - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 18) - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 19) - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 20) - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 21) - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 22) - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 23) - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 24) - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 25) - o.via.array.ptr[25].msgpack::object::convert::type>(v.template get<25>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 26) - o.via.array.ptr[26].msgpack::object::convert::type>(v.template get<26>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 17) - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 18) - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 19) - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 20) - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 21) - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 22) - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 23) - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 24) - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 25) - o.via.array.ptr[25].msgpack::object::convert::type>(v.template get<25>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 26) - o.via.array.ptr[26].msgpack::object::convert::type>(v.template get<26>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 27) - o.via.array.ptr[27].msgpack::object::convert::type>(v.template get<27>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 17) - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 18) - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 19) - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 20) - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 21) - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 22) - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 23) - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 24) - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 25) - o.via.array.ptr[25].msgpack::object::convert::type>(v.template get<25>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 26) - o.via.array.ptr[26].msgpack::object::convert::type>(v.template get<26>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 27) - o.via.array.ptr[27].msgpack::object::convert::type>(v.template get<27>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 28) - o.via.array.ptr[28].msgpack::object::convert::type>(v.template get<28>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 17) - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 18) - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 19) - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 20) - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 21) - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 22) - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 23) - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 24) - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 25) - o.via.array.ptr[25].msgpack::object::convert::type>(v.template get<25>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 26) - o.via.array.ptr[26].msgpack::object::convert::type>(v.template get<26>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 27) - o.via.array.ptr[27].msgpack::object::convert::type>(v.template get<27>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 28) - o.via.array.ptr[28].msgpack::object::convert::type>(v.template get<28>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 29) - o.via.array.ptr[29].msgpack::object::convert::type>(v.template get<29>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 17) - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 18) - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 19) - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 20) - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 21) - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 22) - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 23) - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 24) - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 25) - o.via.array.ptr[25].msgpack::object::convert::type>(v.template get<25>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 26) - o.via.array.ptr[26].msgpack::object::convert::type>(v.template get<26>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 27) - o.via.array.ptr[27].msgpack::object::convert::type>(v.template get<27>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 28) - o.via.array.ptr[28].msgpack::object::convert::type>(v.template get<28>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 29) - o.via.array.ptr[29].msgpack::object::convert::type>(v.template get<29>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 30) - o.via.array.ptr[30].msgpack::object::convert::type>(v.template get<30>()); - return o; - } -}; - -template -struct convert > { - msgpack::object const& operator()( - msgpack::object const& o, - type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 0) - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 1) - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 2) - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 3) - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 4) - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 5) - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 6) - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 7) - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 8) - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 9) - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 10) - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 11) - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 12) - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 13) - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 14) - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 15) - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 16) - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 17) - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 18) - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 19) - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 20) - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 21) - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 22) - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 23) - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 24) - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 25) - o.via.array.ptr[25].msgpack::object::convert::type>(v.template get<25>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 26) - o.via.array.ptr[26].msgpack::object::convert::type>(v.template get<26>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 27) - o.via.array.ptr[27].msgpack::object::convert::type>(v.template get<27>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 28) - o.via.array.ptr[28].msgpack::object::convert::type>(v.template get<28>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 29) - o.via.array.ptr[29].msgpack::object::convert::type>(v.template get<29>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 30) - o.via.array.ptr[30].msgpack::object::convert::type>(v.template get<30>()); - // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - if(o.via.array.size > 31) - o.via.array.ptr[31].msgpack::object::convert::type>(v.template get<31>()); - return o; - } -}; - -/// @endcond - -template <> -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple<>&) const { - o.pack_array(0); - return o; - } -}; - -/// @cond - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(1); - - o.pack(v.template get<0>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(2); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(3); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(4); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(5); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(6); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(7); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(8); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(9); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(10); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(11); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(12); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(13); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(14); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(15); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(16); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(17); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(18); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - o.pack(v.template get<17>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(19); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - o.pack(v.template get<17>()); - o.pack(v.template get<18>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(20); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - o.pack(v.template get<17>()); - o.pack(v.template get<18>()); - o.pack(v.template get<19>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(21); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - o.pack(v.template get<17>()); - o.pack(v.template get<18>()); - o.pack(v.template get<19>()); - o.pack(v.template get<20>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(22); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - o.pack(v.template get<17>()); - o.pack(v.template get<18>()); - o.pack(v.template get<19>()); - o.pack(v.template get<20>()); - o.pack(v.template get<21>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(23); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - o.pack(v.template get<17>()); - o.pack(v.template get<18>()); - o.pack(v.template get<19>()); - o.pack(v.template get<20>()); - o.pack(v.template get<21>()); - o.pack(v.template get<22>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(24); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - o.pack(v.template get<17>()); - o.pack(v.template get<18>()); - o.pack(v.template get<19>()); - o.pack(v.template get<20>()); - o.pack(v.template get<21>()); - o.pack(v.template get<22>()); - o.pack(v.template get<23>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(25); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - o.pack(v.template get<17>()); - o.pack(v.template get<18>()); - o.pack(v.template get<19>()); - o.pack(v.template get<20>()); - o.pack(v.template get<21>()); - o.pack(v.template get<22>()); - o.pack(v.template get<23>()); - o.pack(v.template get<24>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(26); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - o.pack(v.template get<17>()); - o.pack(v.template get<18>()); - o.pack(v.template get<19>()); - o.pack(v.template get<20>()); - o.pack(v.template get<21>()); - o.pack(v.template get<22>()); - o.pack(v.template get<23>()); - o.pack(v.template get<24>()); - o.pack(v.template get<25>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(27); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - o.pack(v.template get<17>()); - o.pack(v.template get<18>()); - o.pack(v.template get<19>()); - o.pack(v.template get<20>()); - o.pack(v.template get<21>()); - o.pack(v.template get<22>()); - o.pack(v.template get<23>()); - o.pack(v.template get<24>()); - o.pack(v.template get<25>()); - o.pack(v.template get<26>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(28); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - o.pack(v.template get<17>()); - o.pack(v.template get<18>()); - o.pack(v.template get<19>()); - o.pack(v.template get<20>()); - o.pack(v.template get<21>()); - o.pack(v.template get<22>()); - o.pack(v.template get<23>()); - o.pack(v.template get<24>()); - o.pack(v.template get<25>()); - o.pack(v.template get<26>()); - o.pack(v.template get<27>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(29); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - o.pack(v.template get<17>()); - o.pack(v.template get<18>()); - o.pack(v.template get<19>()); - o.pack(v.template get<20>()); - o.pack(v.template get<21>()); - o.pack(v.template get<22>()); - o.pack(v.template get<23>()); - o.pack(v.template get<24>()); - o.pack(v.template get<25>()); - o.pack(v.template get<26>()); - o.pack(v.template get<27>()); - o.pack(v.template get<28>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(30); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - o.pack(v.template get<17>()); - o.pack(v.template get<18>()); - o.pack(v.template get<19>()); - o.pack(v.template get<20>()); - o.pack(v.template get<21>()); - o.pack(v.template get<22>()); - o.pack(v.template get<23>()); - o.pack(v.template get<24>()); - o.pack(v.template get<25>()); - o.pack(v.template get<26>()); - o.pack(v.template get<27>()); - o.pack(v.template get<28>()); - o.pack(v.template get<29>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(31); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - o.pack(v.template get<17>()); - o.pack(v.template get<18>()); - o.pack(v.template get<19>()); - o.pack(v.template get<20>()); - o.pack(v.template get<21>()); - o.pack(v.template get<22>()); - o.pack(v.template get<23>()); - o.pack(v.template get<24>()); - o.pack(v.template get<25>()); - o.pack(v.template get<26>()); - o.pack(v.template get<27>()); - o.pack(v.template get<28>()); - o.pack(v.template get<29>()); - o.pack(v.template get<30>()); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()( - msgpack::packer& o, - const type::tuple& v) const { - o.pack_array(32); - - o.pack(v.template get<0>()); - o.pack(v.template get<1>()); - o.pack(v.template get<2>()); - o.pack(v.template get<3>()); - o.pack(v.template get<4>()); - o.pack(v.template get<5>()); - o.pack(v.template get<6>()); - o.pack(v.template get<7>()); - o.pack(v.template get<8>()); - o.pack(v.template get<9>()); - o.pack(v.template get<10>()); - o.pack(v.template get<11>()); - o.pack(v.template get<12>()); - o.pack(v.template get<13>()); - o.pack(v.template get<14>()); - o.pack(v.template get<15>()); - o.pack(v.template get<16>()); - o.pack(v.template get<17>()); - o.pack(v.template get<18>()); - o.pack(v.template get<19>()); - o.pack(v.template get<20>()); - o.pack(v.template get<21>()); - o.pack(v.template get<22>()); - o.pack(v.template get<23>()); - o.pack(v.template get<24>()); - o.pack(v.template get<25>()); - o.pack(v.template get<26>()); - o.pack(v.template get<27>()); - o.pack(v.template get<28>()); - o.pack(v.template get<29>()); - o.pack(v.template get<30>()); - o.pack(v.template get<31>()); - return o; - } -}; - -/// @endcond - -template <> -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple<>&) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } -}; - -/// @cond - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*1, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 1; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*2, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 2; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*3, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 3; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*4, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 4; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*5, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 5; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*6, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 6; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*7, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 7; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*8, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 8; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*9, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 9; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*10, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 10; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*11, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 11; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*12, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 12; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*13, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 13; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*14, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 14; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*15, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 15; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*16, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 16; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*17, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 17; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*18, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 18; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - o.via.array.ptr[17] = msgpack::object(v.template get<17>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*19, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 19; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - o.via.array.ptr[17] = msgpack::object(v.template get<17>(), o.zone); - o.via.array.ptr[18] = msgpack::object(v.template get<18>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*20, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 20; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - o.via.array.ptr[17] = msgpack::object(v.template get<17>(), o.zone); - o.via.array.ptr[18] = msgpack::object(v.template get<18>(), o.zone); - o.via.array.ptr[19] = msgpack::object(v.template get<19>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*21, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 21; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - o.via.array.ptr[17] = msgpack::object(v.template get<17>(), o.zone); - o.via.array.ptr[18] = msgpack::object(v.template get<18>(), o.zone); - o.via.array.ptr[19] = msgpack::object(v.template get<19>(), o.zone); - o.via.array.ptr[20] = msgpack::object(v.template get<20>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*22, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 22; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - o.via.array.ptr[17] = msgpack::object(v.template get<17>(), o.zone); - o.via.array.ptr[18] = msgpack::object(v.template get<18>(), o.zone); - o.via.array.ptr[19] = msgpack::object(v.template get<19>(), o.zone); - o.via.array.ptr[20] = msgpack::object(v.template get<20>(), o.zone); - o.via.array.ptr[21] = msgpack::object(v.template get<21>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*23, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 23; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - o.via.array.ptr[17] = msgpack::object(v.template get<17>(), o.zone); - o.via.array.ptr[18] = msgpack::object(v.template get<18>(), o.zone); - o.via.array.ptr[19] = msgpack::object(v.template get<19>(), o.zone); - o.via.array.ptr[20] = msgpack::object(v.template get<20>(), o.zone); - o.via.array.ptr[21] = msgpack::object(v.template get<21>(), o.zone); - o.via.array.ptr[22] = msgpack::object(v.template get<22>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*24, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 24; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - o.via.array.ptr[17] = msgpack::object(v.template get<17>(), o.zone); - o.via.array.ptr[18] = msgpack::object(v.template get<18>(), o.zone); - o.via.array.ptr[19] = msgpack::object(v.template get<19>(), o.zone); - o.via.array.ptr[20] = msgpack::object(v.template get<20>(), o.zone); - o.via.array.ptr[21] = msgpack::object(v.template get<21>(), o.zone); - o.via.array.ptr[22] = msgpack::object(v.template get<22>(), o.zone); - o.via.array.ptr[23] = msgpack::object(v.template get<23>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*25, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 25; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - o.via.array.ptr[17] = msgpack::object(v.template get<17>(), o.zone); - o.via.array.ptr[18] = msgpack::object(v.template get<18>(), o.zone); - o.via.array.ptr[19] = msgpack::object(v.template get<19>(), o.zone); - o.via.array.ptr[20] = msgpack::object(v.template get<20>(), o.zone); - o.via.array.ptr[21] = msgpack::object(v.template get<21>(), o.zone); - o.via.array.ptr[22] = msgpack::object(v.template get<22>(), o.zone); - o.via.array.ptr[23] = msgpack::object(v.template get<23>(), o.zone); - o.via.array.ptr[24] = msgpack::object(v.template get<24>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*26, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 26; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - o.via.array.ptr[17] = msgpack::object(v.template get<17>(), o.zone); - o.via.array.ptr[18] = msgpack::object(v.template get<18>(), o.zone); - o.via.array.ptr[19] = msgpack::object(v.template get<19>(), o.zone); - o.via.array.ptr[20] = msgpack::object(v.template get<20>(), o.zone); - o.via.array.ptr[21] = msgpack::object(v.template get<21>(), o.zone); - o.via.array.ptr[22] = msgpack::object(v.template get<22>(), o.zone); - o.via.array.ptr[23] = msgpack::object(v.template get<23>(), o.zone); - o.via.array.ptr[24] = msgpack::object(v.template get<24>(), o.zone); - o.via.array.ptr[25] = msgpack::object(v.template get<25>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*27, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 27; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - o.via.array.ptr[17] = msgpack::object(v.template get<17>(), o.zone); - o.via.array.ptr[18] = msgpack::object(v.template get<18>(), o.zone); - o.via.array.ptr[19] = msgpack::object(v.template get<19>(), o.zone); - o.via.array.ptr[20] = msgpack::object(v.template get<20>(), o.zone); - o.via.array.ptr[21] = msgpack::object(v.template get<21>(), o.zone); - o.via.array.ptr[22] = msgpack::object(v.template get<22>(), o.zone); - o.via.array.ptr[23] = msgpack::object(v.template get<23>(), o.zone); - o.via.array.ptr[24] = msgpack::object(v.template get<24>(), o.zone); - o.via.array.ptr[25] = msgpack::object(v.template get<25>(), o.zone); - o.via.array.ptr[26] = msgpack::object(v.template get<26>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*28, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 28; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - o.via.array.ptr[17] = msgpack::object(v.template get<17>(), o.zone); - o.via.array.ptr[18] = msgpack::object(v.template get<18>(), o.zone); - o.via.array.ptr[19] = msgpack::object(v.template get<19>(), o.zone); - o.via.array.ptr[20] = msgpack::object(v.template get<20>(), o.zone); - o.via.array.ptr[21] = msgpack::object(v.template get<21>(), o.zone); - o.via.array.ptr[22] = msgpack::object(v.template get<22>(), o.zone); - o.via.array.ptr[23] = msgpack::object(v.template get<23>(), o.zone); - o.via.array.ptr[24] = msgpack::object(v.template get<24>(), o.zone); - o.via.array.ptr[25] = msgpack::object(v.template get<25>(), o.zone); - o.via.array.ptr[26] = msgpack::object(v.template get<26>(), o.zone); - o.via.array.ptr[27] = msgpack::object(v.template get<27>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*29, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 29; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - o.via.array.ptr[17] = msgpack::object(v.template get<17>(), o.zone); - o.via.array.ptr[18] = msgpack::object(v.template get<18>(), o.zone); - o.via.array.ptr[19] = msgpack::object(v.template get<19>(), o.zone); - o.via.array.ptr[20] = msgpack::object(v.template get<20>(), o.zone); - o.via.array.ptr[21] = msgpack::object(v.template get<21>(), o.zone); - o.via.array.ptr[22] = msgpack::object(v.template get<22>(), o.zone); - o.via.array.ptr[23] = msgpack::object(v.template get<23>(), o.zone); - o.via.array.ptr[24] = msgpack::object(v.template get<24>(), o.zone); - o.via.array.ptr[25] = msgpack::object(v.template get<25>(), o.zone); - o.via.array.ptr[26] = msgpack::object(v.template get<26>(), o.zone); - o.via.array.ptr[27] = msgpack::object(v.template get<27>(), o.zone); - o.via.array.ptr[28] = msgpack::object(v.template get<28>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*30, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 30; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - o.via.array.ptr[17] = msgpack::object(v.template get<17>(), o.zone); - o.via.array.ptr[18] = msgpack::object(v.template get<18>(), o.zone); - o.via.array.ptr[19] = msgpack::object(v.template get<19>(), o.zone); - o.via.array.ptr[20] = msgpack::object(v.template get<20>(), o.zone); - o.via.array.ptr[21] = msgpack::object(v.template get<21>(), o.zone); - o.via.array.ptr[22] = msgpack::object(v.template get<22>(), o.zone); - o.via.array.ptr[23] = msgpack::object(v.template get<23>(), o.zone); - o.via.array.ptr[24] = msgpack::object(v.template get<24>(), o.zone); - o.via.array.ptr[25] = msgpack::object(v.template get<25>(), o.zone); - o.via.array.ptr[26] = msgpack::object(v.template get<26>(), o.zone); - o.via.array.ptr[27] = msgpack::object(v.template get<27>(), o.zone); - o.via.array.ptr[28] = msgpack::object(v.template get<28>(), o.zone); - o.via.array.ptr[29] = msgpack::object(v.template get<29>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*31, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 31; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - o.via.array.ptr[17] = msgpack::object(v.template get<17>(), o.zone); - o.via.array.ptr[18] = msgpack::object(v.template get<18>(), o.zone); - o.via.array.ptr[19] = msgpack::object(v.template get<19>(), o.zone); - o.via.array.ptr[20] = msgpack::object(v.template get<20>(), o.zone); - o.via.array.ptr[21] = msgpack::object(v.template get<21>(), o.zone); - o.via.array.ptr[22] = msgpack::object(v.template get<22>(), o.zone); - o.via.array.ptr[23] = msgpack::object(v.template get<23>(), o.zone); - o.via.array.ptr[24] = msgpack::object(v.template get<24>(), o.zone); - o.via.array.ptr[25] = msgpack::object(v.template get<25>(), o.zone); - o.via.array.ptr[26] = msgpack::object(v.template get<26>(), o.zone); - o.via.array.ptr[27] = msgpack::object(v.template get<27>(), o.zone); - o.via.array.ptr[28] = msgpack::object(v.template get<28>(), o.zone); - o.via.array.ptr[29] = msgpack::object(v.template get<29>(), o.zone); - o.via.array.ptr[30] = msgpack::object(v.template get<30>(), o.zone); - } -}; - -template -struct object_with_zone > { - void operator()( - msgpack::object::with_zone& o, - const type::tuple& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*32, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = 32; - - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - o.via.array.ptr[1] = msgpack::object(v.template get<1>(), o.zone); - o.via.array.ptr[2] = msgpack::object(v.template get<2>(), o.zone); - o.via.array.ptr[3] = msgpack::object(v.template get<3>(), o.zone); - o.via.array.ptr[4] = msgpack::object(v.template get<4>(), o.zone); - o.via.array.ptr[5] = msgpack::object(v.template get<5>(), o.zone); - o.via.array.ptr[6] = msgpack::object(v.template get<6>(), o.zone); - o.via.array.ptr[7] = msgpack::object(v.template get<7>(), o.zone); - o.via.array.ptr[8] = msgpack::object(v.template get<8>(), o.zone); - o.via.array.ptr[9] = msgpack::object(v.template get<9>(), o.zone); - o.via.array.ptr[10] = msgpack::object(v.template get<10>(), o.zone); - o.via.array.ptr[11] = msgpack::object(v.template get<11>(), o.zone); - o.via.array.ptr[12] = msgpack::object(v.template get<12>(), o.zone); - o.via.array.ptr[13] = msgpack::object(v.template get<13>(), o.zone); - o.via.array.ptr[14] = msgpack::object(v.template get<14>(), o.zone); - o.via.array.ptr[15] = msgpack::object(v.template get<15>(), o.zone); - o.via.array.ptr[16] = msgpack::object(v.template get<16>(), o.zone); - o.via.array.ptr[17] = msgpack::object(v.template get<17>(), o.zone); - o.via.array.ptr[18] = msgpack::object(v.template get<18>(), o.zone); - o.via.array.ptr[19] = msgpack::object(v.template get<19>(), o.zone); - o.via.array.ptr[20] = msgpack::object(v.template get<20>(), o.zone); - o.via.array.ptr[21] = msgpack::object(v.template get<21>(), o.zone); - o.via.array.ptr[22] = msgpack::object(v.template get<22>(), o.zone); - o.via.array.ptr[23] = msgpack::object(v.template get<23>(), o.zone); - o.via.array.ptr[24] = msgpack::object(v.template get<24>(), o.zone); - o.via.array.ptr[25] = msgpack::object(v.template get<25>(), o.zone); - o.via.array.ptr[26] = msgpack::object(v.template get<26>(), o.zone); - o.via.array.ptr[27] = msgpack::object(v.template get<27>(), o.zone); - o.via.array.ptr[28] = msgpack::object(v.template get<28>(), o.zone); - o.via.array.ptr[29] = msgpack::object(v.template get<29>(), o.zone); - o.via.array.ptr[30] = msgpack::object(v.template get<30>(), o.zone); - o.via.array.ptr[31] = msgpack::object(v.template get<31>(), o.zone); - } -}; - -/// @endcond - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_MSGPACK_TUPLE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp deleted file mode 100644 index a7efe2599..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp +++ /dev/null @@ -1,317 +0,0 @@ -// -// 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_V1_CPP03_MSGPACK_TUPLE_DECL_HPP -#define MSGPACK_V1_CPP03_MSGPACK_TUPLE_DECL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/object.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -// FIXME operator== -// FIXME operator!= - - -/// @cond -template -struct tuple; -/// @endcond - -template -struct tuple_element; - -template -struct const_tuple_element; - -template -struct tuple_type; - -/// @cond - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -template -typename type::tuple_element, N>::reference get(type::tuple& t); -template -typename type::const_tuple_element, N>::const_reference get(type::tuple const& t); - -/// @endcond - -tuple<> make_tuple(); - -/// @cond - -template -tuple make_tuple(A0 const& a0); - -template -tuple make_tuple(A0 const& a0, A1 const& a1); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24, A25 const& a25); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24, A25 const& a25, A26 const& a26); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24, A25 const& a25, A26 const& a26, A27 const& a27); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24, A25 const& a25, A26 const& a26, A27 const& a27, A28 const& a28); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24, A25 const& a25, A26 const& a26, A27 const& a27, A28 const& a28, A29 const& a29); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24, A25 const& a25, A26 const& a26, A27 const& a27, A28 const& a28, A29 const& a29, A30 const& a30); - -template -tuple make_tuple(A0 const& a0, A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5, A6 const& a6, A7 const& a7, A8 const& a8, A9 const& a9, A10 const& a10, A11 const& a11, A12 const& a12, A13 const& a13, A14 const& a14, A15 const& a15, A16 const& a16, A17 const& a17, A18 const& a18, A19 const& a19, A20 const& a20, A21 const& a21, A22 const& a22, A23 const& a23, A24 const& a24, A25 const& a25, A26 const& a26, A27 const& a27, A28 const& a28, A29 const& a29, A30 const& a30, A31 const& a31); - -/// @endcond - -} // namespace type - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_MSGPACK_TUPLE_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp deleted file mode 100644 index f9e29ea61..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp +++ /dev/null @@ -1,45 +0,0 @@ -// -// 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 - -#include - -namespace msgpack { -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond -namespace type { - -template -inline typename std::enable_if< - has_as::value ->::type -convert_helper(msgpack::object const& o, T& t) { - t = o.as(); -} -template -inline typename std::enable_if< - !has_as::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 diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp deleted file mode 100644 index bec4a053b..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp +++ /dev/null @@ -1,128 +0,0 @@ -// -// 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_V1_CPP11_DEFINE_ARRAY_HPP -#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 - -namespace msgpack { -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond -namespace type { - -template -struct define_array_imp { - template - static void pack(Packer& pk, Tuple const& t) { - define_array_imp::pack(pk, t); - pk.pack(std::get(t)); - } - static void unpack(msgpack::object const& o, Tuple& t) { - define_array_imp::unpack(o, t); - const size_t size = o.via.array.size; - if(size <= N-1) { return; } - convert_helper(o.via.array.ptr[N-1], std::get(t)); - } - static void object(msgpack::object* o, msgpack::zone& z, Tuple const& t) { - define_array_imp::object(o, z, t); - o->via.array.ptr[N-1] = msgpack::object(std::get(t), z); - } -}; - -template -struct define_array_imp { - template - static void pack(Packer& pk, Tuple const& t) { - pk.pack(std::get<0>(t)); - } - static void unpack(msgpack::object const& o, Tuple& t) { - const size_t size = o.via.array.size; - if(size <= 0) { return; } - 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); - } -}; - -template -struct define_array { - typedef define_array value_type; - typedef std::tuple tuple_type; - define_array(Args&... args) : - a(args...) {} - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(sizeof...(Args)); - - define_array_imp, sizeof...(Args)>::pack(pk, a); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - - define_array_imp, sizeof...(Args)>::unpack(o, a); - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = static_cast(z.allocate_align(sizeof(msgpack::object)*sizeof...(Args), MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o->via.array.size = sizeof...(Args); - - define_array_imp, sizeof...(Args)>::object(o, z, a); - } - - std::tuple a; -}; - -template <> -struct define_array<> { - typedef define_array<> value_type; - typedef std::tuple<> tuple_type; - template - void msgpack_pack(Packer& pk) const - { - pk.pack_array(0); - } - void msgpack_unpack(msgpack::object const& o) - { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - } - void msgpack_object(msgpack::object* o, msgpack::zone&) const - { - o->type = msgpack::type::ARRAY; - o->via.array.ptr = NULL; - o->via.array.size = 0; - } -}; - -inline define_array<> make_define_array() -{ - return define_array<>(); -} - -template -inline define_array make_define_array(Args&... args) -{ - return define_array(args...); -} - -} // namespace type -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond -} // namespace msgpack - -#endif // MSGPACK_V1_CPP11_DEFINE_ARRAY_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array_decl.hpp deleted file mode 100644 index 6333f660a..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array_decl.hpp +++ /dev/null @@ -1,39 +0,0 @@ -// -// 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_V1_CPP11_DEFINE_ARRAY_DECL_HPP -#define MSGPACK_V1_CPP11_DEFINE_ARRAY_DECL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" - -namespace msgpack { -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond -namespace type { - -template -struct define_array_imp; - -template -struct define_array; - -define_array<> make_define_array(); - -template -inline define_array make_define_array(Args&... args); - -} // namespace type -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond -} // namespace msgpack - -#endif // MSGPACK_V1_CPP11_DEFINE_ARRAY_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp deleted file mode 100644 index d1ab70150..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp +++ /dev/null @@ -1,110 +0,0 @@ -// -// 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_V1_CPP11_DEFINE_MAP_HPP -#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 -#include - -namespace msgpack { -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond -namespace type { - -template -struct define_map_imp { - template - static void pack(Packer& pk, Tuple const& t) { - define_map_imp::pack(pk, t); - pk.pack(std::get(t)); - } - static void unpack( - msgpack::object const& o, Tuple const& t, - std::map const& kvmap) { - define_map_imp::unpack(o, t, kvmap); - auto it = kvmap.find(std::get(t)); - if (it != kvmap.end()) { - convert_helper(*it->second, std::get(t)); - } - } - static void object(msgpack::object* o, msgpack::zone& z, Tuple const& t) { - define_map_imp::object(o, z, t); - o->via.map.ptr[(N-1)/2].key = msgpack::object(std::get(t), z); - o->via.map.ptr[(N-1)/2].val = msgpack::object(std::get(t), z); - } -}; - -template -struct define_map_imp { - template - static void pack(Packer&, Tuple const&) {} - static void unpack( - msgpack::object const&, Tuple const&, - std::map const&) {} - static void object(msgpack::object*, msgpack::zone&, Tuple const&) {} -}; - -template -struct define_map { - define_map(Args&... args) : - a(args...) {} - template - void msgpack_pack(Packer& pk) const - { - static_assert(sizeof...(Args) % 2 == 0, ""); - pk.pack_map(sizeof...(Args) / 2); - - define_map_imp, sizeof...(Args)>::pack(pk, a); - } - void msgpack_unpack(msgpack::object const& o) const - { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - std::map 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, - o.via.map.ptr[i].key.via.str.size), - &o.via.map.ptr[i].val); - } - define_map_imp, sizeof...(Args)>::unpack(o, a, kvmap); - } - void msgpack_object(msgpack::object* o, msgpack::zone& z) const - { - static_assert(sizeof...(Args) % 2 == 0, ""); - o->type = msgpack::type::MAP; - o->via.map.ptr = static_cast(z.allocate_align(sizeof(msgpack::object_kv)*sizeof...(Args)/2, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - o->via.map.size = sizeof...(Args) / 2; - - define_map_imp, sizeof...(Args)>::object(o, z, a); - } - - std::tuple a; -}; - - -template -inline define_map make_define_map(Args&... args) -{ - return define_map(args...); -} - -} // namespace type -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond -} // namespace msgpack - -#endif // MSGPACK_V1_CPP11_DEFINE_MAP_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map_decl.hpp deleted file mode 100644 index 403e68c07..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map_decl.hpp +++ /dev/null @@ -1,37 +0,0 @@ -// -// 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_V1_CPP11_DEFINE_MAP_DECL_HPP -#define MSGPACK_V1_CPP11_DEFINE_MAP_DECL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" - -namespace msgpack { -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond -namespace type { - -template -struct define_map_imp; - -template -struct define_map; - -template -define_map make_define_map(Args&... args); - -} // namespace type -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond -} // namespace msgpack - -#endif // MSGPACK_V1_CPP11_DEFINE_MAP_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp deleted file mode 100644 index 88d162912..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp +++ /dev/null @@ -1,220 +0,0 @@ -// -// 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_V1_CPP11_MSGPACK_TUPLE_HPP -#define MSGPACK_V1_CPP11_MSGPACK_TUPLE_HPP - -#include "msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/pack.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -template -inline tuple make_tuple(Args&&... args) { - return tuple(std::forward(args)...); -} - -template -inline tuple forward_as_tuple (Args&&... args) noexcept { - return tuple(std::forward(args)...); -} - -template -inline auto tuple_cat(Tuples&&... args) -> - decltype( - std::tuple_cat(std::forward::type::base>(args)...) - ) { - return std::tuple_cat(std::forward::type::base>(args)...); -} - -template -inline tuple tie(Args&... args) { - return tuple(args...); -} -} // namespace type - -// --- Pack from tuple to packer stream --- -template -struct MsgpackTuplePacker { - static void pack( - msgpack::packer& o, - const Tuple& v) { - MsgpackTuplePacker::pack(o, v); - o.pack(v.template get()); - } -}; - -template -struct MsgpackTuplePacker { - static void pack ( - msgpack::packer& o, - const Tuple& v) { - o.pack(v.template get<0>()); - } -}; - -template -struct MsgpackTuplePacker { - static void pack ( - msgpack::packer&, - const Tuple&) { - } -}; - -namespace adaptor { - -template -struct pack> { - template - msgpack::packer& operator()( - msgpack::packer& o, - const msgpack::type::tuple& v) const { - o.pack_array(sizeof...(Args)); - MsgpackTuplePacker::pack(o, v); - return o; - } -}; - -} // namespace adaptor - -// --- Convert from tuple to object --- - -template -struct MsgpackTupleAsImpl { - static msgpack::type::tuple as(msgpack::object const& o) { - return msgpack::type::tuple_cat( - msgpack::type::make_tuple(o.via.array.ptr[o.via.array.size - sizeof...(Args) - 1].as()), - MsgpackTupleAs::as(o)); - } -}; - -template -struct MsgpackTupleAs { - static msgpack::type::tuple as(msgpack::object const& o) { - return MsgpackTupleAsImpl::as(o); - } -}; - -template <> -struct MsgpackTupleAs<> { - static msgpack::type::tuple<> as (msgpack::object const&) { - return msgpack::type::tuple<>(); - } -}; - -template -struct MsgpackTupleConverter { - static void convert( - msgpack::object const& o, - Tuple& v) { - MsgpackTupleConverter::convert(o, v); - if (o.via.array.size >= N) - o.via.array.ptr[N-1].convert())>::type>(v.template get()); - } -}; - -template -struct MsgpackTupleConverter { - static void convert ( - msgpack::object const& o, - Tuple& v) { - o.via.array.ptr[0].convert())>::type>(v.template get<0>()); - } -}; - -template -struct MsgpackTupleConverter { - static void convert ( - msgpack::object const&, - Tuple&) { - } -}; - -namespace adaptor { - -template -struct as, typename std::enable_if::value>::type> { - msgpack::type::tuple operator()( - msgpack::object const& o) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - return MsgpackTupleAs::as(o); - } -}; - -template -struct convert> { - msgpack::object const& operator()( - msgpack::object const& o, - msgpack::type::tuple& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - MsgpackTupleConverter::convert(o, v); - return o; - } -}; - -} // namespace adaptor - -// --- Convert from tuple to object with zone --- -template -struct MsgpackTupleToObjectWithZone { - static void convert( - msgpack::object::with_zone& o, - const Tuple& v) { - MsgpackTupleToObjectWithZone::convert(o, v); - o.via.array.ptr[N-1] = msgpack::object(v.template get(), o.zone); - } -}; - -template -struct MsgpackTupleToObjectWithZone { - static void convert ( - msgpack::object::with_zone& o, - const Tuple& v) { - o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); - } -}; - -template -struct MsgpackTupleToObjectWithZone { - static void convert ( - msgpack::object::with_zone&, - const Tuple&) { - } -}; - -namespace adaptor { - -template - struct object_with_zone> { - void operator()( - msgpack::object::with_zone& o, - msgpack::type::tuple const& v) const { - o.type = msgpack::type::ARRAY; - o.via.array.ptr = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*sizeof...(Args), MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.size = sizeof...(Args); - MsgpackTupleToObjectWithZone::convert(o, v); - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -///@endcond - -} // namespace msgpack - -#endif // MSGPACK_CPP11_MSGPACK_TUPLE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp deleted file mode 100644 index b9c303d67..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +++ /dev/null @@ -1,120 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2015 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_V1_CPP11_MSGPACK_TUPLE_DECL_HPP -#define MSGPACK_V1_CPP11_MSGPACK_TUPLE_DECL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/object_fwd.hpp" -#include "msgpack/meta.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - // tuple - using std::get; - using std::tuple_size; - using std::tuple_element; - using std::uses_allocator; - using std::ignore; - using std::swap; - - template - class tuple : public std::tuple { - public: - using base = std::tuple; - - tuple(tuple const&) = default; - tuple(tuple&&) = default; - - template - tuple(OtherTypes&&... other):base(std::forward(other)...) {} - - template - tuple(tuple const& other):base(static_cast const&>(other)) {} - template - tuple(tuple && other):base(static_cast &&>(other)) {} - - tuple& operator=(tuple const&) = default; - tuple& operator=(tuple&&) = default; - - template - tuple& operator=(tuple const& other) { - *static_cast(this) = static_cast const&>(other); - return *this; - } - template - tuple& operator=(tuple && other) { - *static_cast(this) = static_cast &&>(other); - return *this; - } - - template - typename tuple_element::type& - get() & noexcept { return std::get(static_cast(*this)); } - - template - typename tuple_element::type const& - get() const& noexcept { return std::get(static_cast(*this)); } - - template - typename tuple_element::type&& - get() && noexcept { return std::get(static_cast(*this)); } - - std::size_t size() const { return sizeof...(Types); } - }; - - template - tuple make_tuple(Args&&... args); - - template - tuple forward_as_tuple (Args&&... args) noexcept; - - template - auto tuple_cat(Tuples&&... args) -> - decltype( - std::tuple_cat(std::forward::type::base>(args)...) - ); - - template - tuple tie(Args&... args); - -} // namespace type - -// --- Pack from tuple to packer stream --- -template -struct MsgpackTuplePacker; - -// --- Convert from tuple to object --- -template -struct MsgpackTupleAs; - -template -struct MsgpackTupleAsImpl; - -template -struct MsgpackTupleConverter; - -// --- Convert from tuple to object with zone --- -template -struct MsgpackTupleToObjectWithZone; - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -///@endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_CPP11_MSGPACK_TUPLE_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/ext.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/ext.hpp deleted file mode 100644 index 26a4b538f..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/ext.hpp +++ /dev/null @@ -1,235 +0,0 @@ -// -// 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_V1_TYPE_EXT_HPP -#define MSGPACK_V1_TYPE_EXT_HPP - -#include "msgpack/v1/adaptor/ext_decl.hpp" -#include "msgpack/adaptor/check_container_size.hpp" -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -class ext { -public: - ext() : m_data(1, 0) {} - ext(int8_t t, const char* p, uint32_t s) { - msgpack::detail::check_container_size_for_ext(s); - m_data.reserve(static_cast(s) + 1); - m_data.push_back(static_cast(t)); - m_data.insert(m_data.end(), p, p + s); - } - ext(int8_t t, uint32_t s) { - msgpack::detail::check_container_size_for_ext(s); - m_data.resize(static_cast(s) + 1); - m_data[0] = static_cast(t); - } - ext(ext_ref const&); - int8_t type() const { - return static_cast(m_data[0]); - } - const char* data() const { - return &m_data[0] + 1; - } - char* data() { - return &m_data[0] + 1; - } - uint32_t size() const { - return static_cast(m_data.size()) - 1; - } - bool operator== (const ext& x) const { - return m_data == x.m_data; - } - - bool operator!= (const ext& x) const { - return !(*this == x); - } - - bool operator< (const ext& x) const { - return m_data < x.m_data; - } - - bool operator> (const ext& x) const { - return m_data > x.m_data; - } -private: - std::vector m_data; - friend class ext_ref; -}; - -} // namespace type - -namespace adaptor { - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, msgpack::type::ext& v) const { - if(o.type != msgpack::type::EXT) { - throw msgpack::type_error(); - } - v = msgpack::type::ext(o.via.ext.type(), o.via.ext.data(), o.via.ext.size); - return o; - } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const msgpack::type::ext& v) const { - // size limit has already been checked at ext's constructor - uint32_t size = v.size(); - o.pack_ext(size, v.type()); - o.pack_ext_body(v.data(), size); - return o; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const msgpack::type::ext& v) const { - // size limit has already been checked at ext's constructor - uint32_t size = v.size(); - o.type = msgpack::type::EXT; - char* ptr = static_cast(o.zone.allocate_align(size + 1, MSGPACK_ZONE_ALIGNOF(char))); - o.via.ext.ptr = ptr; - o.via.ext.size = size; - ptr[0] = static_cast(v.type()); - std::memcpy(ptr + 1, v.data(), size); - } -}; - -} // namespace adaptor - -namespace type { - -class ext_ref { -public: - // ext_ref should be default constructible to support 'convert'. - // A default constructed ext_ref object::m_ptr doesn't have the buffer to point to. - // In order to avoid nullptr checking branches, m_ptr points to m_size. - // So type() returns unspecified but valid value. It might be a zero because m_size - // is initialized as zero, but shouldn't assume that. - ext_ref() : m_ptr(static_cast(static_cast(&m_size))), m_size(0) {} - ext_ref(const char* p, uint32_t s) : - m_ptr(s == 0 ? static_cast(static_cast(&m_size)) : p), - m_size(s == 0 ? 0 : s - 1) { - msgpack::detail::check_container_size_for_ext(s); - } - - // size limit has already been checked at ext's constructor - ext_ref(ext const& x) : m_ptr(&x.m_data[0]), m_size(x.size()) {} - - const char* data() const { - return m_ptr + 1; - } - - uint32_t size() const { - return m_size; - } - - int8_t type() const { - return static_cast(m_ptr[0]); - } - - std::string str() const { - return std::string(m_ptr + 1, m_size); - } - - bool operator== (const ext_ref& x) const { - return m_size == x.m_size && std::memcmp(m_ptr, x.m_ptr, m_size) == 0; - } - - bool operator!= (const ext_ref& x) const { - return !(*this == x); - } - - bool operator< (const ext_ref& x) const { - if (m_size < x.m_size) return true; - if (m_size > x.m_size) return false; - return std::memcmp(m_ptr, x.m_ptr, m_size) < 0; - } - - bool operator> (const ext_ref& x) const { - if (m_size > x.m_size) return true; - if (m_size < x.m_size) return false; - return std::memcmp(m_ptr, x.m_ptr, m_size) > 0; - } -private: - const char* m_ptr; - uint32_t m_size; - friend struct adaptor::object; -}; - -inline ext::ext(ext_ref const& x) { - // size limit has already been checked at ext_ref's constructor - m_data.reserve(x.size() + 1); - - m_data.push_back(static_cast(x.type())); - m_data.insert(m_data.end(), x.data(), x.data() + x.size()); -} - -} // namespace type - -namespace adaptor { - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, msgpack::type::ext_ref& v) const { - if(o.type != msgpack::type::EXT) { throw msgpack::type_error(); } - v = msgpack::type::ext_ref(o.via.ext.ptr, o.via.ext.size + 1); - return o; - } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const msgpack::type::ext_ref& v) const { - // size limit has already been checked at ext_ref's constructor - uint32_t size = v.size(); - o.pack_ext(size, v.type()); - o.pack_ext_body(v.data(), size); - return o; - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, const msgpack::type::ext_ref& v) const { - // size limit has already been checked at ext_ref's constructor - uint32_t size = v.size(); - o.type = msgpack::type::EXT; - o.via.ext.ptr = v.m_ptr; - o.via.ext.size = size; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const msgpack::type::ext_ref& v) const { - static_cast(o) << v; - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_EXT_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/ext_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/ext_decl.hpp deleted file mode 100644 index 4d43c2a93..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/ext_decl.hpp +++ /dev/null @@ -1,37 +0,0 @@ -// -// 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_V1_TYPE_EXT_DECL_HPP -#define MSGPACK_V1_TYPE_EXT_DECL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -class ext_ref; -class ext; - -} // namespace type - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_EXT_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/fixint.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/fixint.hpp deleted file mode 100644 index 360519c41..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/fixint.hpp +++ /dev/null @@ -1,300 +0,0 @@ -// -// 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_V1_TYPE_FIXINT_HPP -#define MSGPACK_V1_TYPE_FIXINT_HPP - -#include "msgpack/v1/adaptor/fixint_decl.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -template -struct fix_int { - typedef T value_type; - fix_int() : value(0) { } - fix_int(T value) : value(value) { } - - operator T() const { return value; } - - T get() const { return value; } - -private: - T value; -}; - -} // namespace type - -namespace adaptor { - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, type::fix_int8& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, type::fix_int16& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, type::fix_int32& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, type::fix_int64& v) const - { v = type::detail::convert_integer(o); return o; } -}; - - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, type::fix_uint8& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, type::fix_uint16& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, type::fix_uint32& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, type::fix_uint64& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const type::fix_int8& v) const - { o.pack_fix_int8(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const type::fix_int16& v) const - { o.pack_fix_int16(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const type::fix_int32& v) const - { o.pack_fix_int32(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const type::fix_int64& v) const - { o.pack_fix_int64(v); return o; } -}; - - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const type::fix_uint8& v) const - { o.pack_fix_uint8(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const type::fix_uint16& v) const - { o.pack_fix_uint16(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const type::fix_uint32& v) const - { o.pack_fix_uint32(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const type::fix_uint64& v) const - { o.pack_fix_uint64(v); return o; } -}; - -template <> -struct object { - void operator()(msgpack::object& o, type::fix_int8 v) const { - if (v.get() < 0) { - o.type = msgpack::type::NEGATIVE_INTEGER; - o.via.i64 = v.get(); - } - else { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = static_cast(v.get()); - } - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, type::fix_int16 v) const { - if(v.get() < 0) { - o.type = msgpack::type::NEGATIVE_INTEGER; - o.via.i64 = v.get(); - } - else { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = static_cast(v.get()); - } - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, type::fix_int32 v) const { - if (v.get() < 0) { - o.type = msgpack::type::NEGATIVE_INTEGER; - o.via.i64 = v.get(); - } - else { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = static_cast(v.get()); - } - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, type::fix_int64 v) const { - if (v.get() < 0) { - o.type = msgpack::type::NEGATIVE_INTEGER; - o.via.i64 = v.get(); - } - else { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = static_cast(v.get()); - } - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, type::fix_uint8 v) const { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = v.get(); - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, type::fix_uint16 v) const { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = v.get(); - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, type::fix_uint32 v) const { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = v.get(); - } -}; - -template <> -struct object { - 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 { - void operator()(msgpack::object::with_zone& o, type::fix_int8 v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, type::fix_int16 v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, type::fix_int32 v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, type::fix_int64 v) const { - static_cast(o) << v; - } -}; - - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, type::fix_uint8 v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, type::fix_uint16 v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, type::fix_uint32 v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, type::fix_uint64 v) const { - static_cast(o) << v; - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_FIXINT_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/fixint_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/fixint_decl.hpp deleted file mode 100644 index 1c4a439a9..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/fixint_decl.hpp +++ /dev/null @@ -1,46 +0,0 @@ -// -// 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_V1_TYPE_FIXINT_DECL_HPP -#define MSGPACK_V1_TYPE_FIXINT_DECL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/int.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -template -struct fix_int; - -typedef fix_int fix_uint8; -typedef fix_int fix_uint16; -typedef fix_int fix_uint32; -typedef fix_int fix_uint64; - -typedef fix_int fix_int8; -typedef fix_int fix_int16; -typedef fix_int fix_int32; -typedef fix_int fix_int64; - -} // namespace type - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_FIXINT_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/float.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/float.hpp deleted file mode 100644 index ae075fc62..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/float.hpp +++ /dev/null @@ -1,123 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2009 FURUHASHI Sadayuki -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_FLOAT_HPP -#define MSGPACK_V1_TYPE_FLOAT_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/object_fwd.hpp" -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -// FIXME check overflow, underflow - -namespace adaptor { - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, float& v) const { - if(o.type == msgpack::type::FLOAT32 || o.type == msgpack::type::FLOAT64) { - v = static_cast(o.via.f64); - } - else if (o.type == msgpack::type::POSITIVE_INTEGER) { - v = static_cast(o.via.u64); - } - else if (o.type == msgpack::type::NEGATIVE_INTEGER) { - v = static_cast(o.via.i64); - } - else { - throw msgpack::type_error(); - } - return o; - } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const float& v) const { - o.pack_float(v); - return o; - } -}; - - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, double& v) const { - if(o.type == msgpack::type::FLOAT32 || o.type == msgpack::type::FLOAT64) { - v = o.via.f64; - } - else if (o.type == msgpack::type::POSITIVE_INTEGER) { - v = static_cast(o.via.u64); - } - else if (o.type == msgpack::type::NEGATIVE_INTEGER) { - v = static_cast(o.via.i64); - } - else { - throw msgpack::type_error(); - } - return o; - } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const double& v) const { - o.pack_double(v); - return o; - } -}; - - -template <> -struct object { - void operator()(msgpack::object& o, float v) const { - o.type = msgpack::type::FLOAT32; - o.via.f64 = static_cast(v); - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, double v) const { - o.type = msgpack::type::FLOAT64; - o.via.f64 = v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, float v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, double v) const { - static_cast(o) << v; - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_FLOAT_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/int.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/int.hpp deleted file mode 100644 index 11e73b0a6..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/int.hpp +++ /dev/null @@ -1,475 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2016 FURUHASHI Sadayuki -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_INT_HPP -#define MSGPACK_V1_TYPE_INT_HPP - -#include "msgpack/v1/adaptor/int_decl.hpp" -#include "msgpack/object.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1){ -/// @endcond - -namespace type { -namespace detail { - -template -struct convert_integer_sign { - static T convert(msgpack::object const& o) { - if(o.type == msgpack::type::POSITIVE_INTEGER) { - if(o.via.u64 > static_cast(std::numeric_limits::max())) - { throw msgpack::type_error(); } - return static_cast(o.via.u64); - } else if(o.type == msgpack::type::NEGATIVE_INTEGER) { - if(o.via.i64 < static_cast(std::numeric_limits::min())) - { throw msgpack::type_error(); } - return static_cast(o.via.i64); - } - throw msgpack::type_error(); - } -}; - -template -struct convert_integer_sign { - static T convert(msgpack::object const& o) { - if(o.type == msgpack::type::POSITIVE_INTEGER) { - if(o.via.u64 > static_cast(std::numeric_limits::max())) - { throw msgpack::type_error(); } - return static_cast(o.via.u64); - } - throw msgpack::type_error(); - } -}; - -template -struct is_signed { - static const bool value = std::numeric_limits::is_signed; -}; - -template -inline T convert_integer(msgpack::object const& o) -{ - return detail::convert_integer_sign::value>::convert(o); -} - -template <> -struct object_sign { - template - static void make(msgpack::object& o, T v) { - if (v < 0) { - o.type = msgpack::type::NEGATIVE_INTEGER; - o.via.i64 = v; - } - else { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = static_cast(v); - } - } -}; - -template <> -struct object_sign { - template - static void make(msgpack::object& o, T v) { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = v; - } -}; - -template -inline void object_char(msgpack::object& o, T v) { - return object_sign::value>::make(o, v); -} - -} // namespace detail -} // namespace type - -namespace adaptor { - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, char& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, wchar_t& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, signed char& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, signed short& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, signed int& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, signed long& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, signed long long& v) const - { v = type::detail::convert_integer(o); return o; } -}; - - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, unsigned char& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, unsigned short& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, unsigned int& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, unsigned long& v) const - { v = type::detail::convert_integer(o); return o; } -}; - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, unsigned long long& v) const - { v = type::detail::convert_integer(o); return o; } -}; - - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, char v) const - { o.pack_char(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, wchar_t v) const - { o.pack_wchar(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, signed char v) const - { o.pack_signed_char(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, signed short v) const - { o.pack_short(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, signed int v) const - { o.pack_int(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, signed long v) const - { o.pack_long(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, signed long long v) const - { o.pack_long_long(v); return o; } -}; - - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, unsigned char v) const - { o.pack_unsigned_char(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, unsigned short v) const - { o.pack_unsigned_short(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, unsigned int v) const - { o.pack_unsigned_int(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, unsigned long v) const - { o.pack_unsigned_long(v); return o; } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, unsigned long long v) const - { o.pack_unsigned_long_long(v); return o; } -}; - - -template <> -struct object { - void operator()(msgpack::object& o, char v) const - { type::detail::object_char(o, v); } -}; - -template <> -struct object { - void operator()(msgpack::object& o, wchar_t v) const - { type::detail::object_char(o, v); } -}; - -template <> -struct object { - void operator()(msgpack::object& o, signed char v) const { - if (v < 0) { - o.type = msgpack::type::NEGATIVE_INTEGER; - o.via.i64 = v; - } - else { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = static_cast(v); - } - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, signed short v) const { - if (v < 0) { - o.type = msgpack::type::NEGATIVE_INTEGER; - o.via.i64 = v; - } - else { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = static_cast(v); - } - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, signed int v) const { - if (v < 0) { - o.type = msgpack::type::NEGATIVE_INTEGER; - o.via.i64 = v; - } - else { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = static_cast(v); - } - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, signed long v) const { - if (v < 0) { - o.type = msgpack::type::NEGATIVE_INTEGER; - o.via.i64 = v; - } - else { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = static_cast(v); - } - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, signed long long v) const { - if (v < 0) { - o.type = msgpack::type::NEGATIVE_INTEGER; - o.via.i64 = v; - } - else{ - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = static_cast(v); - } - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, unsigned char v) const { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = v; - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, unsigned short v) const { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = v; - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, unsigned int v) const { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = v; - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, unsigned long v) const { - o.type = msgpack::type::POSITIVE_INTEGER; - o.via.u64 = v; - } -}; - -template <> -struct object { - 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 { - void operator()(msgpack::object::with_zone& o, char v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, wchar_t v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, signed char v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, signed short v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, signed int v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, signed long v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const signed long long& v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, unsigned char v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, unsigned short v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, unsigned int v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, unsigned long v) const { - static_cast(o) << v; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const unsigned long long& v) const { - static_cast(o) << v; - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_INT_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/int_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/int_decl.hpp deleted file mode 100644 index 75f1c7bf4..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/int_decl.hpp +++ /dev/null @@ -1,50 +0,0 @@ -// -// 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_V1_TYPE_INT_DECL_HPP -#define MSGPACK_V1_TYPE_INT_DECL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1){ -/// @endcond - -namespace type { -namespace detail { - -template -struct convert_integer_sign; - -template -struct is_signed; - -template -T convert_integer(msgpack::object const& o); - -template -struct object_sign; - -template -void object_char(msgpack::object& o, T v); - -} // namespace detail -} // namespace type - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_INT_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/list.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/list.hpp deleted file mode 100644 index d16c8d219..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/list.hpp +++ /dev/null @@ -1,106 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2015 FURUHASHI Sadayuki -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_LIST_HPP -#define MSGPACK_V1_TYPE_LIST_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -#if !defined(MSGPACK_USE_CPP03) - -template -struct as, typename std::enable_if::value>::type> { - std::list operator()(msgpack::object const& o) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - std::list v; - msgpack::object* p = o.via.array.ptr; - msgpack::object* const pend = o.via.array.ptr + o.via.array.size; - for (; p < pend; ++p) { - v.push_back(p->as()); - } - return v; - } -}; - -#endif // !defined(MSGPACK_USE_CPP03) - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, std::list& v) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - v.resize(o.via.array.size); - msgpack::object* p = o.via.array.ptr; - msgpack::object* const pend = o.via.array.ptr + o.via.array.size; - typename std::list::iterator it = v.begin(); - for (; p < pend; ++p, ++it) { - p->convert(*it); - } - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const std::list& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for (typename std::list::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(*it); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const std::list& v) const { - o.type = msgpack::type::ARRAY; - if (v.empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } - else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - msgpack::object* const pend = p + size; - o.via.array.ptr = p; - o.via.array.size = size; - typename std::list::const_iterator it(v.begin()); - do { - *p = msgpack::object(*it, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_LIST_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/map.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/map.hpp deleted file mode 100644 index 8c06c96bd..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/map.hpp +++ /dev/null @@ -1,314 +0,0 @@ -// -// 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_V1_TYPE_MAP_HPP -#define MSGPACK_V1_TYPE_MAP_HPP - -#include "msgpack/v1/adaptor/map_decl.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" - -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -template -class assoc_vector : public std::vector< std::pair, Alloc > { -#if !defined(MSGPACK_USE_CPP03) - using std::vector, Alloc>::vector; -#endif // !defined(MSGPACK_USE_CPP03) -}; - -namespace detail { - template - struct pair_first_less { - bool operator() (const std::pair& x, const std::pair& y) const - { return Compare()(x.first, y.first); } - }; -} - -} //namespace type - -namespace adaptor { - -#if !defined(MSGPACK_USE_CPP03) - -template -struct as< - type::assoc_vector, - typename std::enable_if::value || msgpack::has_as::value>::type> { - type::assoc_vector operator()(msgpack::object const& o) const { - if (o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - type::assoc_vector v; - v.reserve(o.via.map.size); - msgpack::object_kv* p = o.via.map.ptr; - msgpack::object_kv* const pend = o.via.map.ptr + o.via.map.size; - for (; p < pend; ++p) { - v.emplace_back(p->key.as(), p->val.as()); - } - std::sort(v.begin(), v.end(), type::detail::pair_first_less()); - return v; - } -}; - -#endif // !defined(MSGPACK_USE_CPP03) - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, type::assoc_vector& v) const { - if (o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - v.resize(o.via.map.size); - if (o.via.map.size != 0) { - msgpack::object_kv* p = o.via.map.ptr; - msgpack::object_kv* const pend = o.via.map.ptr + o.via.map.size; - std::pair* it(&v.front()); - for (; p < pend; ++p, ++it) { - p->key.convert(it->first); - p->val.convert(it->second); - } - std::sort(v.begin(), v.end(), type::detail::pair_first_less()); - } - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const type::assoc_vector& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_map(size); - for (typename type::assoc_vector::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(it->first); - o.pack(it->second); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const type::assoc_vector& v) const { - o.type = msgpack::type::MAP; - if (v.empty()) { - o.via.map.ptr = MSGPACK_NULLPTR; - o.via.map.size = 0; - } - else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object_kv* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - msgpack::object_kv* const pend = p + size; - o.via.map.ptr = p; - o.via.map.size = size; - typename type::assoc_vector::const_iterator it(v.begin()); - do { - p->key = msgpack::object(it->first, o.zone); - p->val = msgpack::object(it->second, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - -#if !defined(MSGPACK_USE_CPP03) - -template -struct as< - std::map, - typename std::enable_if::value || msgpack::has_as::value>::type> { - std::map operator()(msgpack::object const& o) const { - if (o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - msgpack::object_kv* p(o.via.map.ptr); - msgpack::object_kv* const pend(o.via.map.ptr + o.via.map.size); - std::map v; - for (; p != pend; ++p) { - v.emplace(p->key.as(), p->val.as()); - } - return v; - } -}; - -#endif // !defined(MSGPACK_USE_CPP03) - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, std::map& v) const { - if (o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - msgpack::object_kv* p(o.via.map.ptr); - msgpack::object_kv* const pend(o.via.map.ptr + o.via.map.size); - std::map tmp; - for (; p != pend; ++p) { - K key; - p->key.convert(key); -#if __cplusplus >= 201103L - p->val.convert(tmp[std::move(key)]); -#else - p->val.convert(tmp[key]); -#endif - } -#if __cplusplus >= 201103L - v = std::move(tmp); -#else - tmp.swap(v); -#endif - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const std::map& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_map(size); - for (typename std::map::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(it->first); - o.pack(it->second); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const std::map& v) const { - o.type = msgpack::type::MAP; - if (v.empty()) { - o.via.map.ptr = MSGPACK_NULLPTR; - o.via.map.size = 0; - } - else { - uint32_t size = checked_get_container_size(v.size()); - - msgpack::object_kv* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - msgpack::object_kv* const pend = p + size; - o.via.map.ptr = p; - o.via.map.size = size; - typename std::map::const_iterator it(v.begin()); - do { -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - p->key = msgpack::object(it->first, o.zone); - p->val = msgpack::object(it->second, o.zone); -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic pop -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - ++p; - ++it; - } while(p < pend); - } - } -}; - -#if !defined(MSGPACK_USE_CPP03) - -template -struct as< - std::multimap, - typename std::enable_if::value || msgpack::has_as::value>::type> { - std::multimap operator()(msgpack::object const& o) const { - if (o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - msgpack::object_kv* p(o.via.map.ptr); - msgpack::object_kv* const pend(o.via.map.ptr + o.via.map.size); - std::multimap v; - for (; p != pend; ++p) { - v.emplace(p->key.as(), p->val.as()); - } - return v; - } -}; - -#endif // !defined(MSGPACK_USE_CPP03) - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, std::multimap& v) const { - if (o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - msgpack::object_kv* p(o.via.map.ptr); - msgpack::object_kv* const pend(o.via.map.ptr + o.via.map.size); - std::multimap tmp; - for (; p != pend; ++p) { - std::pair value; - p->key.convert(value.first); - p->val.convert(value.second); -#if __cplusplus >= 201103L - tmp.insert(std::move(value)); -#else - tmp.insert(value); -#endif - } -#if __cplusplus >= 201103L - v = std::move(tmp); -#else - tmp.swap(v); -#endif - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const std::multimap& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_map(size); - for (typename std::multimap::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(it->first); - o.pack(it->second); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const std::multimap& v) const { - o.type = msgpack::type::MAP; - if (v.empty()) { - o.via.map.ptr = MSGPACK_NULLPTR; - o.via.map.size = 0; - } - else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object_kv* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - msgpack::object_kv* const pend = p + size; - o.via.map.ptr = p; - o.via.map.size = size; - typename std::multimap::const_iterator it(v.begin()); - do { - p->key = msgpack::object(it->first, o.zone); - p->val = msgpack::object(it->second, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_MAP_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/map_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/map_decl.hpp deleted file mode 100644 index ad0376c6c..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/map_decl.hpp +++ /dev/null @@ -1,36 +0,0 @@ -// -// 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_V1_TYPE_MAP_DECL_HPP -#define MSGPACK_V1_TYPE_MAP_DECL_HPP - -#include "msgpack/versioning.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -template , typename Alloc = std::allocator > > -class assoc_vector; - -} //namespace type - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_MAP_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple.hpp deleted file mode 100644 index 03d5c66e5..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple.hpp +++ /dev/null @@ -1,21 +0,0 @@ -// -// 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_V1_MSGPACK_TUPLE_HPP -#define MSGPACK_V1_MSGPACK_TUPLE_HPP - -#include "msgpack/cpp_config.hpp" - -#if defined(MSGPACK_USE_CPP03) -#include "msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp" -#else // MSGPACK_USE_CPP03 -#include "msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp" -#endif // MSGPACK_USE_CPP03 - -#endif // MSGPACK_V1_MSGPACK_TUPLE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple_decl.hpp deleted file mode 100644 index c13bea756..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple_decl.hpp +++ /dev/null @@ -1,21 +0,0 @@ -// -// 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_V1_MSGPACK_TUPLE_DECL_HPP -#define MSGPACK_V1_MSGPACK_TUPLE_DECL_HPP - -#include "msgpack/cpp_config.hpp" - -#if defined(MSGPACK_USE_CPP03) -#include "msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp" -#else // MSGPACK_USE_CPP03 -#include "msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp" -#endif // MSGPACK_USE_CPP03 - -#endif // MSGPACK_V1_MSGPACK_TUPLE_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/nil.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/nil.hpp deleted file mode 100644 index f65972ce3..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/nil.hpp +++ /dev/null @@ -1,76 +0,0 @@ -// -// 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_V1_TYPE_NIL_HPP -#define MSGPACK_V1_TYPE_NIL_HPP - -#include "msgpack/v1/adaptor/nil_decl.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -struct nil_t { }; - -inline bool operator<(nil_t const& lhs, nil_t const& rhs) { - return &lhs < &rhs; -} - -inline bool operator==(nil_t const& lhs, nil_t const& rhs) { - return &lhs == &rhs; -} - -} // namespace type - -namespace adaptor { - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, type::nil_t&) const { - if(o.type != msgpack::type::NIL) { throw msgpack::type_error(); } - return o; - } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const type::nil_t&) const { - o.pack_nil(); - return o; - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, type::nil_t) const { - o.type = msgpack::type::NIL; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, type::nil_t v) const { - static_cast(o) << v; - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_NIL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/nil_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/nil_decl.hpp deleted file mode 100644 index 4830ff201..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/nil_decl.hpp +++ /dev/null @@ -1,44 +0,0 @@ -// -// 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_V1_TYPE_NIL_DECL_HPP -#define MSGPACK_V1_TYPE_NIL_DECL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -struct nil_t; - -#if !defined(MSGPACK_DISABLE_LEGACY_NIL) - -typedef nil_t nil; - -#endif // !defined(MSGPACK_DISABLE_LEGACY_NIL) - -bool operator<(nil_t const& lhs, nil_t const& rhs); - -bool operator==(nil_t const& lhs, nil_t const& rhs); - -} // namespace type - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_NIL_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/pair.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/pair.hpp deleted file mode 100644 index 890abc2b8..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/pair.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2009 FURUHASHI Sadayuki -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_PAIR_HPP -#define MSGPACK_V1_TYPE_PAIR_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/meta.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -#if !defined(MSGPACK_USE_CPP03) - -template -struct as, - typename std::enable_if::value>::type> { - std::pair operator()(msgpack::object const& o) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if (o.via.array.size != 2) { throw msgpack::type_error(); } - return std::make_pair(o.via.array.ptr[0].as(), o.via.array.ptr[1].as()); - } -}; - -#endif // !defined(MSGPACK_USE_CPP03) - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, std::pair& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size != 2) { throw msgpack::type_error(); } - o.via.array.ptr[0].convert(v.first); - o.via.array.ptr[1].convert(v.second); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const std::pair& v) const { - o.pack_array(2); - o.pack(v.first); - o.pack(v.second); - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const std::pair& v) const { - o.type = msgpack::type::ARRAY; - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*2, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - o.via.array.ptr = p; - o.via.array.size = 2; - p[0] = msgpack::object(v.first, o.zone); - p[1] = msgpack::object(v.second, o.zone); - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_PAIR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/raw.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/raw.hpp deleted file mode 100644 index 80efdc78c..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/raw.hpp +++ /dev/null @@ -1,106 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2009 FURUHASHI Sadayuki -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_RAW_HPP -#define MSGPACK_V1_TYPE_RAW_HPP - -#include "msgpack/v1/adaptor/raw_decl.hpp" - -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -struct raw_ref { - raw_ref() : size(0), ptr(MSGPACK_NULLPTR) {} - raw_ref(const char* p, uint32_t s) : size(s), ptr(p) {} - - uint32_t size; - const char* ptr; - - std::string str() const { return std::string(ptr, size); } - - bool operator== (const raw_ref& x) const - { - return size == x.size && std::memcmp(ptr, x.ptr, size) == 0; - } - - bool operator!= (const raw_ref& x) const - { - return !(*this == x); - } - - bool operator< (const raw_ref& x) const - { - if(size == x.size) { return std::memcmp(ptr, x.ptr, size) < 0; } - else { return size < x.size; } - } - - bool operator> (const raw_ref& x) const - { - if(size == x.size) { return std::memcmp(ptr, x.ptr, size) > 0; } - else { return size > x.size; } - } -}; - -} // namespace type - -namespace adaptor { - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, type::raw_ref& v) const { - if(o.type != msgpack::type::BIN) { throw msgpack::type_error(); } - v.ptr = o.via.bin.ptr; - v.size = o.via.bin.size; - return o; - } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const type::raw_ref& v) const { - o.pack_bin(v.size); - o.pack_bin_body(v.ptr, v.size); - return o; - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, const type::raw_ref& v) const { - o.type = msgpack::type::BIN; - o.via.bin.ptr = v.ptr; - o.via.bin.size = v.size; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const type::raw_ref& v) const { - static_cast(o) << v; - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_RAW_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/raw_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/raw_decl.hpp deleted file mode 100644 index db186d18a..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/raw_decl.hpp +++ /dev/null @@ -1,36 +0,0 @@ -// -// 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_V1_TYPE_RAW_DECL_HPP -#define MSGPACK_V1_TYPE_RAW_DECL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -struct raw_ref; - -} // namespace type - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_RAW_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/set.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/set.hpp deleted file mode 100644 index 96abe25f0..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/set.hpp +++ /dev/null @@ -1,188 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2015 FURUHASHI Sadayuki -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_SET_HPP -#define MSGPACK_V1_TYPE_SET_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -#if !defined(MSGPACK_USE_CPP03) - -template -struct as, typename std::enable_if::value>::type> { - std::set operator()(msgpack::object const& o) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - msgpack::object* p = o.via.array.ptr + o.via.array.size; - msgpack::object* const pbegin = o.via.array.ptr; - std::set v; - while (p > pbegin) { - --p; - v.insert(p->as()); - } - return v; - } -}; - -#endif // !defined(MSGPACK_USE_CPP03) - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, std::set& v) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - msgpack::object* p = o.via.array.ptr + o.via.array.size; - msgpack::object* const pbegin = o.via.array.ptr; - std::set tmp; - while (p > pbegin) { - --p; - tmp.insert(p->as()); - } -#if __cplusplus >= 201103L - v = std::move(tmp); -#else - tmp.swap(v); -#endif - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const std::set& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for (typename std::set::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(*it); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const std::set& v) const { - o.type = msgpack::type::ARRAY; - if (v.empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } - else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - msgpack::object* const pend = p + size; - o.via.array.ptr = p; - o.via.array.size = size; - typename std::set::const_iterator it(v.begin()); - do { - *p = msgpack::object(*it, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - -#if !defined(MSGPACK_USE_CPP03) - -template -struct as, typename std::enable_if::value>::type> { - std::multiset operator()(msgpack::object const& o) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - msgpack::object* p = o.via.array.ptr + o.via.array.size; - msgpack::object* const pbegin = o.via.array.ptr; - std::multiset v; - while (p > pbegin) { - --p; - v.insert(p->as()); - } - return v; - } -}; - -#endif // !defined(MSGPACK_USE_CPP03) - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, std::multiset& v) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - msgpack::object* p = o.via.array.ptr + o.via.array.size; - msgpack::object* const pbegin = o.via.array.ptr; - std::multiset tmp; - while (p > pbegin) { - --p; - tmp.insert(p->as()); - } -#if __cplusplus >= 201103L - v = std::move(tmp); -#else - tmp.swap(v); -#endif - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const std::multiset& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for (typename std::multiset::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(*it); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const std::multiset& v) const { - o.type = msgpack::type::ARRAY; - if (v.empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - msgpack::object* const pend = p + size; - o.via.array.ptr = p; - o.via.array.size = size; - typename std::multiset::const_iterator it(v.begin()); - do { - *p = msgpack::object(*it, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_SET_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/size_equal_only.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/size_equal_only.hpp deleted file mode 100644 index 39f6f3433..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/size_equal_only.hpp +++ /dev/null @@ -1,118 +0,0 @@ -// -// 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_V1_TYPE_SIZE_EQUAL_ONLY_HPP -#define MSGPACK_V1_TYPE_SIZE_EQUAL_ONLY_HPP - -#include "msgpack/v1/adaptor/size_equal_only_decl.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -template -inline std::size_t size(T const& t) { - return t.size(); -} - -template -inline std::size_t size(const T(&)[N]) { - return N; -} - - -#if !defined(MSGPACK_USE_CPP03) - -template -inline std::size_t size(std::tuple const&) { - return sizeof...(T); -} - -#endif // !defined(MSGPACK_USE_CPP03) - - -template -struct size_equal_only { - size_equal_only(T& t):m_t(t) {} - T& m_t; -}; - -template -inline size_equal_only make_size_equal_only(T& t) { - return size_equal_only(t); -} - -template -inline bool operator<(size_equal_only const& lhs, size_equal_only const& rhs) { - return lhs.m_t < rhs.m_t; -} - -template -inline bool operator==(size_equal_only const& lhs, size_equal_only const& rhs) { - return lhs.m_t == &rhs.m_t; -} - -} // namespace type - -namespace adaptor { - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, type::size_equal_only& v) const { - switch(o.type) { - case msgpack::type::ARRAY: - if (o.via.array.size != msgpack::type::size(v.m_t)) throw msgpack::type_error(); - break; - case msgpack::type::MAP: - if (o.via.map.size != msgpack::type::size(v.m_t)) throw msgpack::type_error(); - break; - default: - throw msgpack::type_error(); - } - o >> v.m_t; - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const type::size_equal_only& v) const { - o << v.m_t; - return o; - } -}; - -template -struct object > { - void operator()(msgpack::object& o, type::size_equal_only const& v) const { - o << v.m_t; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, type::size_equal_only v) const { - o << v.m_t; - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_SIZE_EQUAL_ONLY_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/size_equal_only_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/size_equal_only_decl.hpp deleted file mode 100644 index 6eac047b0..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/size_equal_only_decl.hpp +++ /dev/null @@ -1,52 +0,0 @@ -// -// 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_V1_TYPE_SIZE_EQUAL_ONLY_DECL_HPP -#define MSGPACK_V1_TYPE_SIZE_EQUAL_ONLY_DECL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/msgpack_tuple.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -template -struct size_equal_only; - -template -size_equal_only make_size_equal_only(T& t); - -template -std::size_t size(T const& t); - -template -std::size_t size(const T(&)[N]); - -#if !defined(MSGPACK_USE_CPP03) - -template -std::size_t size(std::tuple const&); - -#endif // !defined(MSGPACK_USE_CPP03) - -} // namespace type - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_SIZE_EQUAL_ONLY_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/string.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/string.hpp deleted file mode 100644 index ca7d3e509..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/string.hpp +++ /dev/null @@ -1,87 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2015 FURUHASHI Sadayuki -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_STRING_HPP -#define MSGPACK_V1_TYPE_STRING_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, std::string& v) const { - switch (o.type) { - case msgpack::type::BIN: - v.assign(o.via.bin.ptr, o.via.bin.size); - break; - case msgpack::type::STR: - v.assign(o.via.str.ptr, o.via.str.size); - break; - default: - throw msgpack::type_error(); - break; - } - return o; - } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const std::string& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_str(size); - o.pack_str_body(v.data(), size); - return o; - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, const std::string& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.type = msgpack::type::STR; - o.via.str.ptr = v.data(); - o.via.str.size = size; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const std::string& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.type = msgpack::type::STR; - char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); - o.via.str.ptr = ptr; - o.via.str.size = size; - std::memcpy(ptr, v.data(), v.size()); - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_STRING_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_map.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_map.hpp deleted file mode 100644 index 9c8190e85..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_map.hpp +++ /dev/null @@ -1,171 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2015 FURUHASHI Sadayuki -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_TR1_UNORDERED_MAP_HPP -#define MSGPACK_TYPE_TR1_UNORDERED_MAP_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#if defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700) - -#define MSGPACK_HAS_STD_UNORDERED_MAP -#include -#define MSGPACK_STD_TR1 std - -#else // defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700) - -#if __GNUC__ >= 4 - -#define MSGPACK_HAS_STD_TR1_UNORDERED_MAP - -#include -#define MSGPACK_STD_TR1 std::tr1 - -#endif // __GNUC__ >= 4 - -#endif // defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700) - -#if defined(MSGPACK_STD_TR1) - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, MSGPACK_STD_TR1::unordered_map& v) const { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - msgpack::object_kv* p(o.via.map.ptr); - msgpack::object_kv* const pend(o.via.map.ptr + o.via.map.size); - MSGPACK_STD_TR1::unordered_map tmp; - for(; p != pend; ++p) { - K key; - p->key.convert(key); - p->val.convert(tmp[key]); - } - tmp.swap(v); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const MSGPACK_STD_TR1::unordered_map& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_map(size); - for(typename MSGPACK_STD_TR1::unordered_map::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(it->first); - o.pack(it->second); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const MSGPACK_STD_TR1::unordered_map& v) const { - o.type = msgpack::type::MAP; - if(v.empty()) { - o.via.map.ptr = MSGPACK_NULLPTR; - o.via.map.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object_kv* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - msgpack::object_kv* const pend = p + size; - o.via.map.ptr = p; - o.via.map.size = size; - typename MSGPACK_STD_TR1::unordered_map::const_iterator it(v.begin()); - do { - p->key = msgpack::object(it->first, o.zone); - p->val = msgpack::object(it->second, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, MSGPACK_STD_TR1::unordered_multimap& v) const { - if(o.type != msgpack::type::MAP) { throw msgpack::type_error(); } - msgpack::object_kv* p(o.via.map.ptr); - msgpack::object_kv* const pend(o.via.map.ptr + o.via.map.size); - MSGPACK_STD_TR1::unordered_multimap tmp; - for(; p != pend; ++p) { - std::pair value; - p->key.convert(value.first); - p->val.convert(value.second); - tmp.insert(value); - } - tmp.swap(v); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const MSGPACK_STD_TR1::unordered_multimap& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_map(size); - for(typename MSGPACK_STD_TR1::unordered_multimap::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(it->first); - o.pack(it->second); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const MSGPACK_STD_TR1::unordered_multimap& v) const { - o.type = msgpack::type::MAP; - if(v.empty()) { - o.via.map.ptr = MSGPACK_NULLPTR; - o.via.map.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object_kv* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv))); - msgpack::object_kv* const pend = p + size; - o.via.map.ptr = p; - o.via.map.size = size; - typename MSGPACK_STD_TR1::unordered_multimap::const_iterator it(v.begin()); - do { - p->key = msgpack::object(it->first, o.zone); - p->val = msgpack::object(it->second, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#undef MSGPACK_STD_TR1 - -#endif // MSGPACK_STD_TR1 - -#endif // MSGPACK_TYPE_TR1_UNORDERED_MAP_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_set.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_set.hpp deleted file mode 100644 index dd6c0448f..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_set.hpp +++ /dev/null @@ -1,165 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2015 FURUHASHI Sadayuki -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_TYPE_TR1_UNORDERED_SET_HPP -#define MSGPACK_TYPE_TR1_UNORDERED_SET_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#if defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700) - -#define MSGPACK_HAS_STD_UNORDERED_SET -#include -#define MSGPACK_STD_TR1 std - -#else // defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700) - -#if __GNUC__ >= 4 - -#define MSGPACK_HAS_STD_TR1_UNORDERED_SET - -#include -#define MSGPACK_STD_TR1 std::tr1 - -#endif // __GNUC__ >= 4 - -#endif // defined(_LIBCPP_VERSION) || (_MSC_VER >= 1700) - -#if defined(MSGPACK_STD_TR1) - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, MSGPACK_STD_TR1::unordered_set& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - msgpack::object* p = o.via.array.ptr + o.via.array.size; - msgpack::object* const pbegin = o.via.array.ptr; - MSGPACK_STD_TR1::unordered_set tmp; - while(p > pbegin) { - --p; - tmp.insert(p->as()); - } - tmp.swap(v); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const MSGPACK_STD_TR1::unordered_set& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for(typename MSGPACK_STD_TR1::unordered_set::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(*it); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const MSGPACK_STD_TR1::unordered_set& v) const { - o.type = msgpack::type::ARRAY; - if(v.empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - msgpack::object* const pend = p + size; - o.via.array.ptr = p; - o.via.array.size = size; - typename MSGPACK_STD_TR1::unordered_set::const_iterator it(v.begin()); - do { - *p = msgpack::object(*it, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, MSGPACK_STD_TR1::unordered_multiset& v) const { - if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - msgpack::object* p = o.via.array.ptr + o.via.array.size; - msgpack::object* const pbegin = o.via.array.ptr; - MSGPACK_STD_TR1::unordered_multiset tmp; - while(p > pbegin) { - --p; - tmp.insert(p->as()); - } - tmp.swap(v); - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const MSGPACK_STD_TR1::unordered_multiset& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for(typename MSGPACK_STD_TR1::unordered_multiset::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(*it); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const MSGPACK_STD_TR1::unordered_multiset& v) const { - o.type = msgpack::type::ARRAY; - if(v.empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - msgpack::object* const pend = p + size; - o.via.array.ptr = p; - o.via.array.size = size; - typename MSGPACK_STD_TR1::unordered_multiset::const_iterator it(v.begin()); - do { - *p = msgpack::object(*it, o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#undef MSGPACK_STD_TR1 - -#endif // MSGPACK_STD_TR1 - -#endif // MSGPACK_TYPE_TR1_UNORDERED_SET_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/v4raw.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/v4raw.hpp deleted file mode 100644 index f03f4a068..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/v4raw.hpp +++ /dev/null @@ -1,105 +0,0 @@ -// -// 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_V1_TYPE_V4RAW_HPP -#define MSGPACK_V1_TYPE_V4RAW_HPP - -#include "msgpack/v1/adaptor/v4raw_decl.hpp" -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -struct v4raw_ref { - v4raw_ref() : size(0), ptr(MSGPACK_NULLPTR) {} - v4raw_ref(const char* p, uint32_t s) : size(s), ptr(p) {} - - uint32_t size; - const char* ptr; - - std::string str() const { return std::string(ptr, size); } - - bool operator== (const v4raw_ref& x) const - { - return size == x.size && std::memcmp(ptr, x.ptr, size) == 0; - } - - bool operator!= (const v4raw_ref& x) const - { - return !(*this == x); - } - - bool operator< (const v4raw_ref& x) const - { - if(size == x.size) { return std::memcmp(ptr, x.ptr, size) < 0; } - else { return size < x.size; } - } - - bool operator> (const v4raw_ref& x) const - { - if(size == x.size) { return std::memcmp(ptr, x.ptr, size) > 0; } - else { return size > x.size; } - } -}; - -} // namespace type - -namespace adaptor { - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, type::v4raw_ref& v) const { - if(o.type != msgpack::type::STR) { throw msgpack::type_error(); } - v.ptr = o.via.str.ptr; - v.size = o.via.str.size; - return o; - } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const type::v4raw_ref& v) const { - o.pack_v4raw(v.size); - o.pack_v4raw_body(v.ptr, v.size); - return o; - } -}; - -template <> -struct object { - void operator()(msgpack::object& o, const type::v4raw_ref& v) const { - o.type = msgpack::type::STR; - o.via.str.ptr = v.ptr; - o.via.str.size = v.size; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const type::v4raw_ref& v) const { - static_cast(o) << v; - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_V4RAW_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/v4raw_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/v4raw_decl.hpp deleted file mode 100644 index ae213f7e2..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/v4raw_decl.hpp +++ /dev/null @@ -1,34 +0,0 @@ -// -// 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_V1_TYPE_V4RAW_DECL_HPP -#define MSGPACK_V1_TYPE_V4RAW_DECL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace type { - -struct v4raw_ref; - -} // namespace type - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_V4RAW_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector.hpp deleted file mode 100644 index ad2a8f7c1..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector.hpp +++ /dev/null @@ -1,121 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2008-2015 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_V1_TYPE_VECTOR_HPP -#define MSGPACK_V1_TYPE_VECTOR_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -#if !defined(MSGPACK_USE_CPP03) - -template -struct as, typename std::enable_if::value>::type> { - std::vector operator()(const msgpack::object& o) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - std::vector v; - v.reserve(o.via.array.size); - if (o.via.array.size > 0) { - msgpack::object* p = o.via.array.ptr; - msgpack::object* const pend = o.via.array.ptr + o.via.array.size; - do { - v.push_back(p->as()); - ++p; - } while (p < pend); - } - return v; - } -}; - -#endif // !defined(MSGPACK_USE_CPP03) - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, std::vector& v) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - v.resize(o.via.array.size); - if (o.via.array.size > 0) { - msgpack::object* p = o.via.array.ptr; - msgpack::object* const pend = o.via.array.ptr + o.via.array.size; - typename std::vector::iterator it = v.begin(); - do { - p->convert(*it); - ++p; - ++it; - } while(p < pend); - } - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const std::vector& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for (typename std::vector::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(*it); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const std::vector& v) const { - o.type = msgpack::type::ARRAY; - if (v.empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } - else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - msgpack::object* const pend = p + size; - o.via.array.ptr = p; - o.via.array.size = size; - typename std::vector::const_iterator it(v.begin()); - do { -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - *p = msgpack::object(*it, o.zone); -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic pop -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - ++p; - ++it; - } while(p < pend); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_VECTOR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector_bool.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector_bool.hpp deleted file mode 100644 index d6ec24592..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector_bool.hpp +++ /dev/null @@ -1,90 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_VECTOR_BOOL_HPP -#define MSGPACK_V1_TYPE_VECTOR_BOOL_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/object_fwd.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, std::vector& v) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if (o.via.array.size > 0) { - v.resize(o.via.array.size); - msgpack::object* p = o.via.array.ptr; - for (typename std::vector::iterator it = v.begin(), end = v.end(); - it != end; - ++it) { - *it = p->as(); - ++p; - } - } - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const std::vector& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for(typename std::vector::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(static_cast(*it)); - } - return o; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const std::vector& v) const { - o.type = msgpack::type::ARRAY; - if(v.empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - msgpack::object* const pend = p + size; - o.via.array.ptr = p; - o.via.array.size = size; - typename std::vector::const_iterator it(v.begin()); - do { - *p = msgpack::object(static_cast(*it), o.zone); - ++p; - ++it; - } while(p < pend); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_VECTOR_BOOL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector_char.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector_char.hpp deleted file mode 100644 index 9849e9600..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector_char.hpp +++ /dev/null @@ -1,114 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2014-2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_VECTOR_CHAR_HPP -#define MSGPACK_V1_TYPE_VECTOR_CHAR_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, std::vector& v) const { - switch (o.type) { - case msgpack::type::BIN: - v.resize(o.via.bin.size); - if (o.via.bin.size != 0) { -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - std::memcpy(&v.front(), o.via.bin.ptr, o.via.bin.size); -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic pop -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - } - break; - case msgpack::type::STR: - v.resize(o.via.str.size); - if (o.via.str.size != 0) { -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - std::memcpy(&v.front(), o.via.str.ptr, o.via.str.size); -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic pop -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - } - break; - default: - throw msgpack::type_error(); - break; - } - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const std::vector& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_bin(size); - if (size != 0) { - o.pack_bin_body(&v.front(), size); - } - - return o; - } -}; - -template -struct object > { - void operator()(msgpack::object& o, const std::vector& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.type = msgpack::type::BIN; - if (size != 0) { - o.via.bin.ptr = &v.front(); - } - o.via.bin.size = size; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const std::vector& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.type = msgpack::type::BIN; - o.via.bin.size = size; - if (size != 0) { - char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); - o.via.bin.ptr = ptr; - std::memcpy(ptr, &v.front(), size); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_VECTOR_CHAR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector_unsigned_char.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector_unsigned_char.hpp deleted file mode 100644 index 342e2e18f..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/vector_unsigned_char.hpp +++ /dev/null @@ -1,114 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2014-2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_VECTOR_UNSIGNED_CHAR_HPP -#define MSGPACK_V1_TYPE_VECTOR_UNSIGNED_CHAR_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -template -struct convert > { - msgpack::object const& operator()(msgpack::object const& o, std::vector& v) const { - switch (o.type) { - case msgpack::type::BIN: - v.resize(o.via.bin.size); - if (o.via.bin.size != 0) { -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - std::memcpy(&v.front(), o.via.bin.ptr, o.via.bin.size); -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic pop -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - } - break; - case msgpack::type::STR: - v.resize(o.via.str.size); - if (o.via.str.size != 0) { -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - std::memcpy(&v.front(), o.via.str.ptr, o.via.str.size); -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic pop -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - } - break; - default: - throw msgpack::type_error(); - break; - } - return o; - } -}; - -template -struct pack > { - template - msgpack::packer& operator()(msgpack::packer& o, const std::vector& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_bin(size); - if (size != 0) { - o.pack_bin_body(reinterpret_cast(&v.front()), size); - } - - return o; - } -}; - -template -struct object > { - void operator()(msgpack::object& o, const std::vector& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.type = msgpack::type::BIN; - if (size != 0) { - o.via.bin.ptr = reinterpret_cast(&v.front()); - } - o.via.bin.size = size; - } -}; - -template -struct object_with_zone > { - void operator()(msgpack::object::with_zone& o, const std::vector& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.type = msgpack::type::BIN; - o.via.bin.size = size; - if (size != 0) { - char* ptr = static_cast(o.zone.allocate_align(size, MSGPACK_ZONE_ALIGNOF(char))); - o.via.bin.ptr = ptr; - std::memcpy(ptr, &v.front(), size); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_VECTOR_UNSIGNED_CHAR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/wstring.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/wstring.hpp deleted file mode 100644 index dab263e44..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/adaptor/wstring.hpp +++ /dev/null @@ -1,121 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2018 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_TYPE_WSTRING_HPP -#define MSGPACK_V1_TYPE_WSTRING_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/adaptor/adaptor_base.hpp" -#include "msgpack/adaptor/check_container_size.hpp" - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace adaptor { - -#if !defined(MSGPACK_USE_CPP03) - -template <> -struct as { - std::wstring operator()(const msgpack::object& o) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - std::wstring v; - v.reserve(o.via.array.size); - if (o.via.array.size > 0) { - msgpack::object* p = o.via.array.ptr; - msgpack::object* const pend = o.via.array.ptr + o.via.array.size; - do { - v.push_back(p->as()); - ++p; - } while (p < pend); - } - return v; - } -}; - -#endif // !defined(MSGPACK_USE_CPP03) - -template <> -struct convert { - msgpack::object const& operator()(msgpack::object const& o, std::wstring& v) const { - if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - v.resize(o.via.array.size); - if (o.via.array.size > 0) { - msgpack::object* p = o.via.array.ptr; - msgpack::object* const pend = o.via.array.ptr + o.via.array.size; - std::wstring::iterator it = v.begin(); - do { - p->convert(*it); - ++p; - ++it; - } while(p < pend); - } - return o; - } -}; - -template <> -struct pack { - template - msgpack::packer& operator()(msgpack::packer& o, const std::wstring& v) const { - uint32_t size = checked_get_container_size(v.size()); - o.pack_array(size); - for (std::wstring::const_iterator it(v.begin()), it_end(v.end()); - it != it_end; ++it) { - o.pack(*it); - } - return o; - } -}; - -template <> -struct object_with_zone { - void operator()(msgpack::object::with_zone& o, const std::wstring& v) const { - o.type = msgpack::type::ARRAY; - if (v.empty()) { - o.via.array.ptr = MSGPACK_NULLPTR; - o.via.array.size = 0; - } - else { - uint32_t size = checked_get_container_size(v.size()); - msgpack::object* p = static_cast(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object))); - msgpack::object* const pend = p + size; - o.via.array.ptr = p; - o.via.array.size = size; - std::wstring::const_iterator it(v.begin()); - do { -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - *p = msgpack::object(*it, o.zone); -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) -#pragma GCC diagnostic pop -#endif // defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) && !defined(__clang__) - ++p; - ++it; - } while(p < pend); - } - } -}; - -} // namespace adaptor - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_TYPE_WSTRING_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/cpp_config.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/cpp_config.hpp deleted file mode 100644 index 0eb518d83..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/cpp_config.hpp +++ /dev/null @@ -1,139 +0,0 @@ -// -// MessagePack for C++ C++03/C++11 Adaptation -// -// Copyright (C) 2013-2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_CPP_CONFIG_HPP -#define MSGPACK_V1_CPP_CONFIG_HPP - -#include "msgpack/cpp_config_decl.hpp" - -#if defined(MSGPACK_USE_CPP03) - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -template -struct unique_ptr : std::auto_ptr { - explicit unique_ptr(T* p = 0) throw() : std::auto_ptr(p) {} - unique_ptr(unique_ptr& a) throw() : std::auto_ptr(a) {} - template - unique_ptr (unique_ptr& a) throw() : std::auto_ptr(a) {} -}; - -template -T& move(T& t) -{ - return t; -} - -template -T const& move(T const& t) -{ - return t; -} - -template -struct enable_if { - typedef T type; -}; - -template -struct enable_if { -}; - -template -struct integral_constant { - static T const value = val; - typedef T value_type; - typedef integral_constant type; -}; - -typedef integral_constant true_type; -typedef integral_constant false_type; - -template -struct is_same : false_type {}; - -template -struct is_same : true_type {}; - -template -struct underlying_type { - typedef int type; -}; - -template -struct is_array : false_type {}; - -template -struct is_array : true_type {}; - -template -struct is_array : true_type {}; - - -template -struct remove_const { - typedef T type; -}; -template -struct remove_const { - typedef T type; -}; - -template -struct remove_volatile { - typedef T type; -}; -template -struct remove_volatile { - typedef T type; -}; - -template -struct remove_cv { - typedef typename msgpack::remove_volatile< - typename msgpack::remove_const::type - >::type type; -}; - -namespace detail { - -template -struct is_pointer_helper : false_type {}; - -template -struct is_pointer_helper : true_type {}; - -} // namespace detail - -template struct is_pointer : detail::is_pointer_helper::type> {}; - - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_USE_CPP03 - -#if __cplusplus >= 201402L -#if defined(_MSC_VER) -#define MSGPACK_DEPRECATED(msg) __declspec(deprecated(msg)) -#else // _MSC_VER 1914+ with /Zc:__cplusplus, @see https://docs.microsoft.com/cpp/build/reference/zc-cplusplus -#define MSGPACK_DEPRECATED(msg) [[deprecated(msg)]] -#endif -#else // __cplusplus >= 201402L -#define MSGPACK_DEPRECATED(msg) -#endif // __cplusplus >= 201402L - -#endif // MSGPACK_V1_CPP_CONFIG_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/cpp_config_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/cpp_config_decl.hpp deleted file mode 100644 index c9752f237..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/cpp_config_decl.hpp +++ /dev/null @@ -1,137 +0,0 @@ -// -// MessagePack for C++ C++03/C++11 Adaptation -// -// Copyright (C) 2016 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_CPP_CONFIG_DECL_HPP -#define MSGPACK_V1_CPP_CONFIG_DECL_HPP - -#include "msgpack/versioning.hpp" - -#if !defined(MSGPACK_USE_CPP03) -# if defined(_MSC_VER) -# if _MSC_VER < 1900 -# define MSGPACK_USE_CPP03 -# endif -# elif (__cplusplus < 201103L) -# define MSGPACK_USE_CPP03 -# endif -#endif // MSGPACK_USE_CPP03 - - -#if defined(MSGPACK_USE_CPP03) - -#if defined(nullptr) -# if defined (__cplusplus_cli) -# define MSGPACK_NULLPTR __nullptr -# else // defined (__cplusplus_cli) -# define MSGPACK_NULLPTR nullptr -# endif // defined (__cplusplus_cli) -#else // defined(nullptr) -# define MSGPACK_NULLPTR (0) -#endif // defined(nullptr) - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -template -struct unique_ptr; - -template -T& move(T& t); - -template -T const& move(T const& t); - -template -struct enable_if; - -template -struct integral_constant; - -typedef integral_constant true_type; -typedef integral_constant false_type; - -template -struct is_same; - -template -struct underlying_type; - -template -struct is_array; - -template -struct remove_const; -template -struct remove_volatile; -template -struct remove_cv; - -template -struct is_pointer; - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - - -#else // MSGPACK_USE_CPP03 - -#if defined (__cplusplus_cli) -# define MSGPACK_NULLPTR __nullptr -#else // defined (__cplusplus_cli) -# define MSGPACK_NULLPTR nullptr -#endif // defined (__cplusplus_cli) - -#include -#include - -namespace msgpack { -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - - // unique_ptr - using std::unique_ptr; - // using std::make_unique; // since C++14 - using std::hash; - - // utility - using std::move; - using std::swap; - using std::enable_if; - using std::is_same; - using std::underlying_type; - using std::is_array; - using std::remove_const; - using std::remove_volatile; - using std::remove_cv; - using std::is_pointer; - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond -} // namespace msgpack - - -#endif // MSGPACK_USE_CPP03 - -#if defined(__has_include) -#define MSGPACK_HAS_INCLUDE __has_include -#else // defined(__has_include) -#define MSGPACK_HAS_INCLUDE(header) 0 -#endif // defined(__has_include) - -#endif // MSGPACK_V1_CPP_CONFIG_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp03_zone.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp03_zone.hpp deleted file mode 100644 index 21b3c5e84..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp03_zone.hpp +++ /dev/null @@ -1,664 +0,0 @@ -// -// MessagePack for C++ memory pool -// -// 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_V1_CPP03_ZONE_HPP -#define MSGPACK_V1_CPP03_ZONE_HPP - -#include "msgpack/zone_decl.hpp" - - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -class zone { - struct finalizer { - finalizer(void (*func)(void*), void* data):m_func(func), m_data(data) {} - void operator()() { m_func(m_data); } - void (*m_func)(void*); - void* m_data; - }; - struct finalizer_array { - finalizer_array():m_tail(MSGPACK_NULLPTR), m_end(MSGPACK_NULLPTR), m_array(MSGPACK_NULLPTR) {} - void call() { - finalizer* fin = m_tail; - for(; fin != m_array; --fin) (*(fin-1))(); - } - ~finalizer_array() { - call(); - ::free(m_array); - } - void clear() { - call(); - m_tail = m_array; - } - void push(void (*func)(void* data), void* data) - { - finalizer* fin = m_tail; - - if(fin == m_end) { - push_expand(func, data); - return; - } - - fin->m_func = func; - fin->m_data = data; - - ++m_tail; - } - void push_expand(void (*func)(void*), void* data) { - const size_t nused = static_cast(m_end - m_array); - size_t nnext; - if(nused == 0) { - nnext = (sizeof(finalizer) < 72/2) ? - 72 / sizeof(finalizer) : 8; - } else { - nnext = nused * 2; - } - finalizer* tmp = - static_cast(::realloc(m_array, sizeof(finalizer) * nnext)); - if(!tmp) { - throw std::bad_alloc(); - } - m_array = tmp; - m_end = tmp + nnext; - m_tail = tmp + nused; - new (m_tail) finalizer(func, data); - - ++m_tail; - } - finalizer* m_tail; - finalizer* m_end; - finalizer* m_array; - }; - struct chunk { - chunk* m_next; - }; - struct chunk_list { - chunk_list(size_t chunk_size) - { - chunk* c = static_cast(::malloc(sizeof(chunk) + chunk_size)); - if(!c) { - throw std::bad_alloc(); - } - - m_head = c; - m_free = chunk_size; - m_ptr = reinterpret_cast(c) + sizeof(chunk); - c->m_next = MSGPACK_NULLPTR; - } - ~chunk_list() - { - chunk* c = m_head; - while(c) { - chunk* n = c->m_next; - ::free(c); - c = n; - } - } - void clear(size_t chunk_size) - { - chunk* c = m_head; - while(true) { - chunk* n = c->m_next; - if(n) { - ::free(c); - c = n; - } else { - m_head = c; - break; - } - } - m_head->m_next = MSGPACK_NULLPTR; - m_free = chunk_size; - m_ptr = reinterpret_cast(m_head) + sizeof(chunk); - } - size_t m_free; - char* m_ptr; - chunk* m_head; - }; - size_t m_chunk_size; - chunk_list m_chunk_list; - finalizer_array m_finalizer_array; - -public: - zone(size_t chunk_size = MSGPACK_ZONE_CHUNK_SIZE) /* throw() */; - -public: - void* allocate_align(size_t size, size_t align = MSGPACK_ZONE_ALIGN); - void* allocate_no_align(size_t size); - - void push_finalizer(void (*func)(void*), void* data); - - template - void push_finalizer(msgpack::unique_ptr obj); - - void clear(); - - void swap(zone& o); - static void* operator new(std::size_t size) - { - void* p = ::malloc(size); - if (!p) throw std::bad_alloc(); - return p; - } - static void operator delete(void *p) /* throw() */ - { - ::free(p); - } - static void* operator new(std::size_t size, void* place) /* throw() */ - { - return ::operator new(size, place); - } - static void operator delete(void* p, void* place) /* throw() */ - { - ::operator delete(p, place); - } - /// @cond - - template - T* allocate(); - - template - T* allocate(A1 a1); - - template - T* allocate(A1 a1, A2 a2); - - template - T* allocate(A1 a1, A2 a2, A3 a3); - - template - T* allocate(A1 a1, A2 a2, A3 a3, A4 a4); - - template - T* allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5); - - template - T* allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6); - - template - T* allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7); - - template - T* allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8); - - template - T* allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9); - - template - T* allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10); - - template - T* allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11); - - template - T* allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12); - - template - T* allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13); - - template - T* allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14); - - template - T* allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15); - - /// @endcond - -private: - void undo_allocate(size_t size); - - template - static void object_destruct(void* obj); - - template - static void object_delete(void* obj); - - static char* get_aligned(char* ptr, size_t align); - - char* allocate_expand(size_t size); -private: - zone(const zone&); - zone& operator=(const zone&); -}; - -inline zone::zone(size_t chunk_size) /* throw() */ :m_chunk_size(chunk_size), m_chunk_list(m_chunk_size) -{ -} - -inline char* zone::get_aligned(char* ptr, size_t align) -{ - return - reinterpret_cast( - reinterpret_cast( - (ptr + (align - 1))) / align * align); -} - -inline void* zone::allocate_align(size_t size, size_t align) -{ - char* aligned = get_aligned(m_chunk_list.m_ptr, align); - size_t adjusted_size = size + static_cast(aligned - m_chunk_list.m_ptr); - if (m_chunk_list.m_free < adjusted_size) { - size_t enough_size = size + align - 1; - char* ptr = allocate_expand(enough_size); - aligned = get_aligned(ptr, align); - adjusted_size = size + static_cast(aligned - m_chunk_list.m_ptr); - } - m_chunk_list.m_free -= adjusted_size; - m_chunk_list.m_ptr += adjusted_size; - return aligned; -} - -inline void* zone::allocate_no_align(size_t size) -{ - char* ptr = m_chunk_list.m_ptr; - if(m_chunk_list.m_free < size) { - ptr = allocate_expand(size); - } - m_chunk_list.m_free -= size; - m_chunk_list.m_ptr += size; - - return ptr; -} - -inline char* zone::allocate_expand(size_t size) -{ - chunk_list* const cl = &m_chunk_list; - - size_t sz = m_chunk_size; - - while(sz < size) { - size_t tmp_sz = sz * 2; - if (tmp_sz <= sz) { - sz = size; - break; - } - sz = tmp_sz; - } - - chunk* c = static_cast(::malloc(sizeof(chunk) + sz)); - if (!c) throw std::bad_alloc(); - - char* ptr = reinterpret_cast(c) + sizeof(chunk); - - c->m_next = cl->m_head; - cl->m_head = c; - cl->m_free = sz; - cl->m_ptr = ptr; - - return ptr; -} - -inline void zone::push_finalizer(void (*func)(void*), void* data) -{ - m_finalizer_array.push(func, data); -} - -template -inline void zone::push_finalizer(msgpack::unique_ptr obj) -{ - m_finalizer_array.push(&zone::object_delete, obj.release()); -} - -inline void zone::clear() -{ - m_finalizer_array.clear(); - m_chunk_list.clear(m_chunk_size); -} - -inline void zone::swap(zone& o) -{ - using std::swap; - swap(m_chunk_size, o.m_chunk_size); - swap(m_chunk_list, o.m_chunk_list); - swap(m_finalizer_array, o.m_finalizer_array); -} - -template -void zone::object_destruct(void* obj) -{ - static_cast(obj)->~T(); -} - -template -void zone::object_delete(void* obj) -{ - delete static_cast(obj); -} - -inline void zone::undo_allocate(size_t size) -{ - m_chunk_list.m_ptr -= size; - m_chunk_list.m_free += size; -} - -inline std::size_t aligned_size( - std::size_t size, - std::size_t align) { - return (size + align - 1) / align * align; -} - -/// @cond - -template -T* zone::allocate() -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -template -T* zone::allocate(A1 a1) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(a1); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -template -T* zone::allocate(A1 a1, A2 a2) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(a1, a2); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -template -T* zone::allocate(A1 a1, A2 a2, A3 a3) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(a1, a2, a3); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -template -T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(a1, a2, a3, a4); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -template -T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(a1, a2, a3, a4, a5); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -template -T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(a1, a2, a3, a4, a5, a6); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -template -T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(a1, a2, a3, a4, a5, a6, a7); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -template -T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(a1, a2, a3, a4, a5, a6, a7, a8); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -template -T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(a1, a2, a3, a4, a5, a6, a7, a8, a9); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -template -T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -template -T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -template -T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -template -T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -template -T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -template -T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -/// @endcond - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_ZONE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp03_zone_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp03_zone_decl.hpp deleted file mode 100644 index 66d4cac0a..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp03_zone_decl.hpp +++ /dev/null @@ -1,54 +0,0 @@ -// -// MessagePack for C++ memory pool -// -// 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_V1_CPP03_ZONE_DECL_HPP -#define MSGPACK_V1_CPP03_ZONE_DECL_HPP - -#include -#include -#include - -#include "msgpack/versioning.hpp" - -#ifndef MSGPACK_ZONE_CHUNK_SIZE -#define MSGPACK_ZONE_CHUNK_SIZE 8192 -#endif - -#ifndef MSGPACK_ZONE_ALIGN -#define MSGPACK_ZONE_ALIGN sizeof(void*) -#endif - -#if defined(_MSC_VER) -#define MSGPACK_ZONE_ALIGNOF(type) __alignof(type) -#else -#define MSGPACK_ZONE_ALIGNOF(type) __alignof__(type) -#endif -// For a compiler that doesn't support __alignof__: -// #define MSGPACK_ZONE_ALIGNOF(type) MSGPACK_ZONE_ALIGN - - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -class zone; - -std::size_t aligned_size( - std::size_t size, - std::size_t align = MSGPACK_ZONE_ALIGN); - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_CPP03_ZONE_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp11_zone.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp11_zone.hpp deleted file mode 100644 index c3cf3f6bb..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp11_zone.hpp +++ /dev/null @@ -1,366 +0,0 @@ -// -// MessagePack for C++ memory pool -// -// Copyright (C) 2008-2013 FURUHASHI Sadayuki and KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_CPP11_ZONE_HPP -#define MSGPACK_CPP11_ZONE_HPP - -#include "msgpack/versioning.hpp" -#include "msgpack/cpp_config.hpp" -#include "msgpack/zone_decl.hpp" - -#include -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -class zone { -private: - struct finalizer { - finalizer(void (*func)(void*), void* data):m_func(func), m_data(data) {} - void operator()() { m_func(m_data); } - void (*m_func)(void*); - void* m_data; - }; - struct finalizer_array { - finalizer_array():m_tail(MSGPACK_NULLPTR), m_end(MSGPACK_NULLPTR), m_array(MSGPACK_NULLPTR) {} - void call() { - finalizer* fin = m_tail; - for(; fin != m_array; --fin) (*(fin-1))(); - } - ~finalizer_array() { - call(); - ::free(m_array); - } - void clear() { - call(); - m_tail = m_array; - } - void push(void (*func)(void* data), void* data) - { - finalizer* fin = m_tail; - - if(fin == m_end) { - push_expand(func, data); - return; - } - - fin->m_func = func; - fin->m_data = data; - - ++m_tail; - } - void push_expand(void (*func)(void*), void* data) { - const size_t nused = static_cast(m_end - m_array); - size_t nnext; - if(nused == 0) { - nnext = (sizeof(finalizer) < 72/2) ? - 72 / sizeof(finalizer) : 8; - } else { - nnext = nused * 2; - } - finalizer* tmp = - static_cast(::realloc(m_array, sizeof(finalizer) * nnext)); - if(!tmp) { - throw std::bad_alloc(); - } - m_array = tmp; - m_end = tmp + nnext; - m_tail = tmp + nused; - new (m_tail) finalizer(func, data); - - ++m_tail; - } - finalizer_array(finalizer_array&& other) noexcept - :m_tail(other.m_tail), m_end(other.m_end), m_array(other.m_array) - { - other.m_tail = MSGPACK_NULLPTR; - other.m_end = MSGPACK_NULLPTR; - other.m_array = MSGPACK_NULLPTR; - } - finalizer_array& operator=(finalizer_array&& other) noexcept - { - this->~finalizer_array(); - new (this) finalizer_array(std::move(other)); - return *this; - } - - finalizer* m_tail; - finalizer* m_end; - finalizer* m_array; - - private: - finalizer_array(const finalizer_array&); - finalizer_array& operator=(const finalizer_array&); - }; - struct chunk { - chunk* m_next; - }; - struct chunk_list { - chunk_list(size_t chunk_size) - { - chunk* c = static_cast(::malloc(sizeof(chunk) + chunk_size)); - if(!c) { - throw std::bad_alloc(); - } - - m_head = c; - m_free = chunk_size; - m_ptr = reinterpret_cast(c) + sizeof(chunk); - c->m_next = MSGPACK_NULLPTR; - } - ~chunk_list() - { - chunk* c = m_head; - while(c) { - chunk* n = c->m_next; - ::free(c); - c = n; - } - } - void clear(size_t chunk_size) - { - chunk* c = m_head; - while(true) { - chunk* n = c->m_next; - if(n) { - ::free(c); - c = n; - } else { - m_head = c; - break; - } - } - m_head->m_next = MSGPACK_NULLPTR; - m_free = chunk_size; - m_ptr = reinterpret_cast(m_head) + sizeof(chunk); - } - chunk_list(chunk_list&& other) noexcept - :m_free(other.m_free), m_ptr(other.m_ptr), m_head(other.m_head) - { - other.m_head = MSGPACK_NULLPTR; - } - chunk_list& operator=(chunk_list&& other) noexcept - { - this->~chunk_list(); - new (this) chunk_list(std::move(other)); - return *this; - } - - size_t m_free; - char* m_ptr; - chunk* m_head; - private: - chunk_list(const chunk_list&); - chunk_list& operator=(const chunk_list&); - }; - size_t m_chunk_size; - chunk_list m_chunk_list; - finalizer_array m_finalizer_array; - -public: - zone(size_t chunk_size = MSGPACK_ZONE_CHUNK_SIZE) noexcept; - -public: - void* allocate_align(size_t size, size_t align = MSGPACK_ZONE_ALIGN); - void* allocate_no_align(size_t size); - - void push_finalizer(void (*func)(void*), void* data); - - template - void push_finalizer(msgpack::unique_ptr obj); - - void clear(); - - void swap(zone& o); - - static void* operator new(std::size_t size) - { - void* p = ::malloc(size); - if (!p) throw std::bad_alloc(); - return p; - } - static void operator delete(void *p) noexcept - { - ::free(p); - } - static void* operator new(std::size_t /*size*/, void* mem) noexcept - { - return mem; - } - static void operator delete(void * /*p*/, void* /*mem*/) noexcept - { - } - - template - T* allocate(Args... args); - - zone(zone&&) = default; - zone& operator=(zone&&) = default; - zone(const zone&) = delete; - zone& operator=(const zone&) = delete; - -private: - void undo_allocate(size_t size); - - template - static void object_destruct(void* obj); - - template - static void object_delete(void* obj); - - static char* get_aligned(char* ptr, size_t align); - - char* allocate_expand(size_t size); -}; - -inline zone::zone(size_t chunk_size) noexcept:m_chunk_size(chunk_size), m_chunk_list(m_chunk_size) -{ -} - -inline char* zone::get_aligned(char* ptr, size_t align) -{ - return - reinterpret_cast( - reinterpret_cast( - (ptr + (align - 1))) / align * align); -} - -inline void* zone::allocate_align(size_t size, size_t align) -{ - char* aligned = get_aligned(m_chunk_list.m_ptr, align); - size_t adjusted_size = size + static_cast(aligned - m_chunk_list.m_ptr); - if (m_chunk_list.m_free < adjusted_size) { - size_t enough_size = size + align - 1; - char* ptr = allocate_expand(enough_size); - aligned = get_aligned(ptr, align); - adjusted_size = size + static_cast(aligned - m_chunk_list.m_ptr); - } - m_chunk_list.m_free -= adjusted_size; - m_chunk_list.m_ptr += adjusted_size; - return aligned; -} - -inline void* zone::allocate_no_align(size_t size) -{ - char* ptr = m_chunk_list.m_ptr; - if(m_chunk_list.m_free < size) { - ptr = allocate_expand(size); - } - m_chunk_list.m_free -= size; - m_chunk_list.m_ptr += size; - - return ptr; -} - -inline char* zone::allocate_expand(size_t size) -{ - chunk_list* const cl = &m_chunk_list; - - size_t sz = m_chunk_size; - - while(sz < size) { - size_t tmp_sz = sz * 2; - if (tmp_sz <= sz) { - sz = size; - break; - } - sz = tmp_sz; - } - - chunk* c = static_cast(::malloc(sizeof(chunk) + sz)); - if (!c) throw std::bad_alloc(); - - char* ptr = reinterpret_cast(c) + sizeof(chunk); - - c->m_next = cl->m_head; - cl->m_head = c; - cl->m_free = sz; - cl->m_ptr = ptr; - - return ptr; -} - -inline void zone::push_finalizer(void (*func)(void*), void* data) -{ - m_finalizer_array.push(func, data); -} - -template -inline void zone::push_finalizer(msgpack::unique_ptr obj) -{ - m_finalizer_array.push(&zone::object_delete, obj.release()); -} - -inline void zone::clear() -{ - m_finalizer_array.clear(); - m_chunk_list.clear(m_chunk_size); -} - -inline void zone::swap(zone& o) -{ - std::swap(*this, o); -} - -template -void zone::object_delete(void* obj) -{ - delete static_cast(obj); -} - -template -void zone::object_destruct(void* obj) -{ - static_cast(obj)->~T(); -} - -inline void zone::undo_allocate(size_t size) -{ - m_chunk_list.m_ptr -= size; - m_chunk_list.m_free += size; -} - - -template -T* zone::allocate(Args... args) -{ - void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T)); - try { - m_finalizer_array.push(&zone::object_destruct, x); - } catch (...) { - undo_allocate(sizeof(T)); - throw; - } - try { - return new (x) T(args...); - } catch (...) { - --m_finalizer_array.m_tail; - undo_allocate(sizeof(T)); - throw; - } -} - -inline std::size_t aligned_size( - std::size_t size, - std::size_t align) { - return (size + align - 1) / align * align; -} - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_CPP11_ZONE_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp11_zone_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp11_zone_decl.hpp deleted file mode 100644 index 367501844..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/detail/cpp11_zone_decl.hpp +++ /dev/null @@ -1,55 +0,0 @@ -// -// MessagePack for C++ memory pool -// -// 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_V1_CPP11_ZONE_DECL_HPP -#define MSGPACK_V1_CPP11_ZONE_DECL_HPP - -#include "msgpack/versioning.hpp" - -#include -#include -#include - -#include "msgpack/cpp_config.hpp" - -#ifndef MSGPACK_ZONE_CHUNK_SIZE -#define MSGPACK_ZONE_CHUNK_SIZE 8192 -#endif - -#ifndef MSGPACK_ZONE_ALIGN -#define MSGPACK_ZONE_ALIGN sizeof(void*) -#endif - -#if defined(_MSC_VER) -#define MSGPACK_ZONE_ALIGNOF(type) __alignof(type) -#else -#define MSGPACK_ZONE_ALIGNOF(type) __alignof__(type) -#endif -// For a compiler that doesn't support __alignof__: -// #define MSGPACK_ZONE_ALIGNOF(type) MSGPACK_ZONE_ALIGN - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -class zone; - -std::size_t aligned_size( - std::size_t size, - std::size_t align = MSGPACK_ZONE_ALIGN); - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_CPP11_ZONE_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/fbuffer.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/fbuffer.hpp deleted file mode 100644 index fd9ff2c04..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/fbuffer.hpp +++ /dev/null @@ -1,64 +0,0 @@ -// -// MessagePack for C++ FILE* buffer adaptor -// -// Copyright (C) 2013 Vladimir Volodko -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -#ifndef MSGPACK_V1_FBUFFER_HPP -#define MSGPACK_V1_FBUFFER_HPP - -#include "msgpack/v1/fbuffer_decl.hpp" - -#include -#include - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -class fbuffer { -public: - explicit fbuffer(FILE* file) : m_file(file) { } - -public: - void write(const char* buf, unsigned int len) - { - BOOST_ASSERT(buf || len == 0); - if (!buf) return; - if (1 != fwrite(buf, len, 1, m_file)) { - throw std::runtime_error("fwrite() failed"); - } - } - - FILE* file() const - { - return m_file; - } - -#if defined(MSGPACK_USE_CPP03) -private: - fbuffer(const fbuffer&); - fbuffer& operator=(const fbuffer&); -#else // defined(MSGPACK_USE_CPP03) - fbuffer(const fbuffer&) = delete; - fbuffer& operator=(const fbuffer&) = delete; -#endif // defined(MSGPACK_USE_CPP03) - -private: - FILE* m_file; -}; - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_FBUFFER_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/fbuffer_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/fbuffer_decl.hpp deleted file mode 100644 index 1e9726a6a..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/fbuffer_decl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -// -// MessagePack for C++ FILE* buffer adaptor -// -// Copyright (C) 2013-2016 Vladimir Volodko 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_V1_FBUFFER_DECL_HPP -#define MSGPACK_V1_FBUFFER_DECL_HPP - -#include "msgpack/versioning.hpp" - -#include -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -class fbuffer; - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // MSGPACK_V1_FBUFFER_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/iterator.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/iterator.hpp deleted file mode 100644 index fac593752..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/iterator.hpp +++ /dev/null @@ -1,40 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015-2016 MIZUKI Hirata -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_V1_ITERATOR_HPP -#define MSGPACK_V1_ITERATOR_HPP -#if !defined(MSGPACK_USE_CPP03) - -#include "msgpack/v1/fbuffer_decl.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -inline msgpack::object_kv* begin(msgpack::object_map &map) { return map.ptr; } -inline const msgpack::object_kv* begin(const msgpack::object_map &map) { return map.ptr; } -inline msgpack::object_kv* end(msgpack::object_map &map) { return map.ptr + map.size; } -inline const msgpack::object_kv* end(const msgpack::object_map &map) { return map.ptr + map.size; } - -inline msgpack::object* begin(msgpack::object_array &array) { return array.ptr; } -inline const msgpack::object* begin(const msgpack::object_array &array) { return array.ptr; } -inline msgpack::object* end(msgpack::object_array &array) { return array.ptr + array.size; } -inline const msgpack::object* end(const msgpack::object_array &array) { return array.ptr + array.size; } - -/// @cond -} -/// @endcond - -} - -#endif // !defined(MSGPACK_USE_CPP03) -#endif // MSGPACK_V1_ITERATOR_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/iterator_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/iterator_decl.hpp deleted file mode 100644 index 1bec2e380..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/iterator_decl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015-2016 MIZUKI Hirata -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_V1_ITERATOR_DECL_HPP -#define MSGPACK_V1_ITERATOR_DECL_HPP -#if !defined(MSGPACK_USE_CPP03) - -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -msgpack::object_kv* begin(msgpack::object_map &map); -const msgpack::object_kv* begin(const msgpack::object_map &map); -msgpack::object_kv* end(msgpack::object_map &map); -const msgpack::object_kv* end(const msgpack::object_map &map); - -msgpack::object* begin(msgpack::object_array &array); -const msgpack::object* begin(const msgpack::object_array &array); -msgpack::object* end(msgpack::object_array &array); -const msgpack::object* end(const msgpack::object_array &array); - -/// @cond -} -/// @endcond - -} - -#endif // !defined(MSGPACK_USE_CPP03) -#endif // MSGPACK_V1_ITERATOR_DECL_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/meta.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/meta.hpp deleted file mode 100644 index 75ab7978d..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/meta.hpp +++ /dev/null @@ -1,53 +0,0 @@ -// -// MessagePack for C++ static resolution routine -// -// Copyright (C) 2015 KONDO Takatoshi -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// - -#ifndef MSGPACK_V1_META_HPP -#define MSGPACK_V1_META_HPP - -#if !defined(MSGPACK_USE_CPP03) - -#include "msgpack/v1/meta_decl.hpp" - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - - - -namespace detail { - -template struct all_of_imp - : std::is_same, bool_pack>{}; - -template struct any_of_imp { - static const bool value = !std::is_same, bool_pack>::value; -}; - -} // namespace detail - -template struct seq {}; - -template -struct gen_seq : gen_seq {}; - -template -struct gen_seq<0, Is...> : seq {}; - -/// @cond -} // MSGPACK_API_VERSION_NAMESPACE(v1) -/// @endcond - -} // namespace msgpack - -#endif // !defined(MSGPACK_USE_CPP03) - -#endif // MSGPACK_V1_META_HPP diff --git a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/meta_decl.hpp b/keyvi/3rdparty/msgpack-c/include/msgpack/v1/meta_decl.hpp deleted file mode 100644 index c3254e760..000000000 --- a/keyvi/3rdparty/msgpack-c/include/msgpack/v1/meta_decl.hpp +++ /dev/null @@ -1,57 +0,0 @@ -// -// 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_V1_META_DECL_HPP -#define MSGPACK_V1_META_DECL_HPP - -#if !defined(MSGPACK_USE_CPP03) - -#include "msgpack/versioning.hpp" -#include - -namespace msgpack { - -/// @cond -MSGPACK_API_VERSION_NAMESPACE(v1) { -/// @endcond - -namespace detail { - -template struct bool_pack; - -template struct all_of_imp; - -template struct any_of_imp; - -} // namespace detail - -template