From 4ffdc0113583cd4b48fb11d73f252e6c8e951771 Mon Sep 17 00:00:00 2001 From: Takatoshi Kondo Date: Mon, 20 Jun 2016 17:12:53 +0900 Subject: [PATCH] Added converting support for different size tuples. --- erb/v1/cpp03_msgpack_tuple.hpp.erb | 4 +- include/msgpack/v1/adaptor/cpp11/tuple.hpp | 2 - .../v1/adaptor/detail/cpp03_msgpack_tuple.hpp | 1616 +++++++++++------ .../v1/adaptor/detail/cpp11_msgpack_tuple.hpp | 2 - test/msgpack_container.cpp | 58 + test/msgpack_cpp11.cpp | 52 + test/user_class.cpp | 7 + 7 files changed, 1175 insertions(+), 566 deletions(-) diff --git a/erb/v1/cpp03_msgpack_tuple.hpp.erb b/erb/v1/cpp03_msgpack_tuple.hpp.erb index 1f6969c4..5d3ffc48 100644 --- a/erb/v1/cpp03_msgpack_tuple.hpp.erb +++ b/erb/v1/cpp03_msgpack_tuple.hpp.erb @@ -148,10 +148,10 @@ struct convert, A<%=j%><%}%>> > { msgpack::object const& o, type::tuple, A<%=j%><%}%>>& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < <%=i+1%>) { throw msgpack::type_error(); } <%0.upto(i) {|j|%> // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[<%=j%>].msgpack::object::convert>::type>(v.template get<<%=j%>>());<%}%> + if(o.via.array.size > <%=j%>) + o.via.array.ptr[<%=j%>].msgpack::object::convert>::type>(v.template get<<%=j%>>());<%}%> return o; } }; diff --git a/include/msgpack/v1/adaptor/cpp11/tuple.hpp b/include/msgpack/v1/adaptor/cpp11/tuple.hpp index d274404f..ebc93a41 100644 --- a/include/msgpack/v1/adaptor/cpp11/tuple.hpp +++ b/include/msgpack/v1/adaptor/cpp11/tuple.hpp @@ -113,7 +113,6 @@ struct as, typename std::enable_if operator()( msgpack::object const& o) const { if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size > sizeof...(Args)) { throw msgpack::type_error(); } return StdTupleAs::as(o); } }; @@ -124,7 +123,6 @@ struct convert> { msgpack::object const& o, std::tuple& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size > sizeof...(Args)) { throw msgpack::type_error(); } StdTupleConverter::convert(o, v); return o; } diff --git a/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp b/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp index d21b7674..2d4ba41c 100644 --- a/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp +++ b/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp @@ -10595,10 +10595,10 @@ struct convert > { msgpack::object const& o, type::tuple& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 1) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + if(o.via.array.size > 0) + o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); return o; } }; @@ -10609,12 +10609,13 @@ struct convert > { msgpack::object const& o, type::tuple& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 2) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + if(o.via.array.size > 1) + o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); return o; } }; @@ -10625,14 +10626,16 @@ struct convert > { msgpack::object const& o, type::tuple& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 3) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + if(o.via.array.size > 2) + o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); return o; } }; @@ -10643,16 +10646,19 @@ struct convert > { msgpack::object const& o, type::tuple& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 4) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + if(o.via.array.size > 3) + o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); return o; } }; @@ -10663,18 +10669,22 @@ struct convert > { msgpack::object const& o, type::tuple& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 5) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + if(o.via.array.size > 4) + o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); return o; } }; @@ -10685,20 +10695,25 @@ struct convert > { msgpack::object const& o, type::tuple& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 6) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + if(o.via.array.size > 5) + o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); return o; } }; @@ -10709,22 +10724,28 @@ struct convert > { msgpack::object const& o, type::tuple& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 7) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + if(o.via.array.size > 6) + o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); return o; } }; @@ -10735,24 +10756,31 @@ struct convert > { msgpack::object const& o, type::tuple& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 8) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + if(o.via.array.size > 7) + o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); return o; } }; @@ -10763,26 +10791,34 @@ struct convert > { msgpack::object const& o, type::tuple& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 9) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + if(o.via.array.size > 8) + o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); return o; } }; @@ -10793,28 +10829,37 @@ struct convert > { msgpack::object const& o, type::tuple& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 10) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + if(o.via.array.size > 9) + o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); return o; } }; @@ -10825,30 +10870,40 @@ struct convert > { msgpack::object const& o, type::tuple& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 11) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + if(o.via.array.size > 10) + o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); return o; } }; @@ -10859,32 +10914,43 @@ struct convert > { msgpack::object const& o, type::tuple& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 12) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + if(o.via.array.size > 11) + o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); return o; } }; @@ -10895,34 +10961,46 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 13) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + if(o.via.array.size > 12) + o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); return o; } }; @@ -10933,36 +11011,49 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 14) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + if(o.via.array.size > 13) + o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); return o; } }; @@ -10973,38 +11064,52 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 15) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + if(o.via.array.size > 14) + o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); return o; } }; @@ -11015,40 +11120,55 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 16) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + if(o.via.array.size > 15) + o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); return o; } }; @@ -11059,42 +11179,58 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 17) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + if(o.via.array.size > 16) + o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); return o; } }; @@ -11105,44 +11241,61 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 18) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + 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. - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); + if(o.via.array.size > 17) + o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); return o; } }; @@ -11153,46 +11306,64 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 19) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + 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. - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); + 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. - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); + if(o.via.array.size > 18) + o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); return o; } }; @@ -11203,48 +11374,67 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 20) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + 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. - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); + 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. - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); + 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. - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); + if(o.via.array.size > 19) + o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); return o; } }; @@ -11255,50 +11445,70 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 21) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + 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. - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); + 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. - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); + 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. - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); + 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. - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); + if(o.via.array.size > 20) + o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); return o; } }; @@ -11309,52 +11519,73 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 22) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + 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. - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); + 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. - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); + 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. - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); + 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. - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); + 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. - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); + if(o.via.array.size > 21) + o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); return o; } }; @@ -11365,54 +11596,76 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 23) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + 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. - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); + 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. - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); + 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. - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); + 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. - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); + 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. - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); + 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. - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); + if(o.via.array.size > 22) + o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); return o; } }; @@ -11423,56 +11676,79 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 24) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + 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. - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); + 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. - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); + 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. - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); + 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. - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); + 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. - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); + 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. - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); + 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. - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); + if(o.via.array.size > 23) + o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); return o; } }; @@ -11483,58 +11759,82 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 25) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + 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. - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); + 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. - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); + 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. - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); + 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. - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); + 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. - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); + 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. - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); + 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. - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); + 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. - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); + if(o.via.array.size > 24) + o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); return o; } }; @@ -11545,60 +11845,85 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 26) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + 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. - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); + 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. - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); + 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. - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); + 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. - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); + 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. - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); + 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. - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); + 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. - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); + 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. - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); + 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. - o.via.array.ptr[25].msgpack::object::convert::type>(v.template get<25>()); + if(o.via.array.size > 25) + o.via.array.ptr[25].msgpack::object::convert::type>(v.template get<25>()); return o; } }; @@ -11609,62 +11934,88 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 27) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + 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. - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); + 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. - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); + 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. - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); + 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. - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); + 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. - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); + 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. - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); + 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. - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); + 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. - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); + 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. - o.via.array.ptr[25].msgpack::object::convert::type>(v.template get<25>()); + 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. - o.via.array.ptr[26].msgpack::object::convert::type>(v.template get<26>()); + if(o.via.array.size > 26) + o.via.array.ptr[26].msgpack::object::convert::type>(v.template get<26>()); return o; } }; @@ -11675,64 +12026,91 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 28) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + 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. - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); + 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. - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); + 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. - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); + 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. - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); + 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. - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); + 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. - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); + 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. - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); + 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. - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); + 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. - o.via.array.ptr[25].msgpack::object::convert::type>(v.template get<25>()); + 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. - o.via.array.ptr[26].msgpack::object::convert::type>(v.template get<26>()); + 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. - o.via.array.ptr[27].msgpack::object::convert::type>(v.template get<27>()); + if(o.via.array.size > 27) + o.via.array.ptr[27].msgpack::object::convert::type>(v.template get<27>()); return o; } }; @@ -11743,66 +12121,94 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 29) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + 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. - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); + 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. - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); + 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. - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); + 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. - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); + 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. - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); + 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. - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); + 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. - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); + 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. - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); + 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. - o.via.array.ptr[25].msgpack::object::convert::type>(v.template get<25>()); + 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. - o.via.array.ptr[26].msgpack::object::convert::type>(v.template get<26>()); + 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. - o.via.array.ptr[27].msgpack::object::convert::type>(v.template get<27>()); + 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. - o.via.array.ptr[28].msgpack::object::convert::type>(v.template get<28>()); + if(o.via.array.size > 28) + o.via.array.ptr[28].msgpack::object::convert::type>(v.template get<28>()); return o; } }; @@ -11813,68 +12219,97 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 30) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + 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. - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); + 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. - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); + 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. - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); + 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. - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); + 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. - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); + 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. - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); + 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. - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); + 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. - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); + 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. - o.via.array.ptr[25].msgpack::object::convert::type>(v.template get<25>()); + 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. - o.via.array.ptr[26].msgpack::object::convert::type>(v.template get<26>()); + 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. - o.via.array.ptr[27].msgpack::object::convert::type>(v.template get<27>()); + 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. - o.via.array.ptr[28].msgpack::object::convert::type>(v.template get<28>()); + 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. - o.via.array.ptr[29].msgpack::object::convert::type>(v.template get<29>()); + if(o.via.array.size > 29) + o.via.array.ptr[29].msgpack::object::convert::type>(v.template get<29>()); return o; } }; @@ -11885,70 +12320,100 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 31) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + 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. - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); + 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. - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); + 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. - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); + 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. - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); + 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. - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); + 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. - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); + 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. - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); + 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. - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); + 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. - o.via.array.ptr[25].msgpack::object::convert::type>(v.template get<25>()); + 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. - o.via.array.ptr[26].msgpack::object::convert::type>(v.template get<26>()); + 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. - o.via.array.ptr[27].msgpack::object::convert::type>(v.template get<27>()); + 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. - o.via.array.ptr[28].msgpack::object::convert::type>(v.template get<28>()); + 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. - o.via.array.ptr[29].msgpack::object::convert::type>(v.template get<29>()); + 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. - o.via.array.ptr[30].msgpack::object::convert::type>(v.template get<30>()); + if(o.via.array.size > 30) + o.via.array.ptr[30].msgpack::object::convert::type>(v.template get<30>()); return o; } }; @@ -11959,72 +12424,103 @@ struct convert& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size < 32) { throw msgpack::type_error(); } // In order to avoid clang++'s invalid warning, msgpack::object:: has been added. - o.via.array.ptr[0].msgpack::object::convert::type>(v.template get<0>()); + 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. - o.via.array.ptr[1].msgpack::object::convert::type>(v.template get<1>()); + 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. - o.via.array.ptr[2].msgpack::object::convert::type>(v.template get<2>()); + 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. - o.via.array.ptr[3].msgpack::object::convert::type>(v.template get<3>()); + 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. - o.via.array.ptr[4].msgpack::object::convert::type>(v.template get<4>()); + 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. - o.via.array.ptr[5].msgpack::object::convert::type>(v.template get<5>()); + 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. - o.via.array.ptr[6].msgpack::object::convert::type>(v.template get<6>()); + 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. - o.via.array.ptr[7].msgpack::object::convert::type>(v.template get<7>()); + 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. - o.via.array.ptr[8].msgpack::object::convert::type>(v.template get<8>()); + 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. - o.via.array.ptr[9].msgpack::object::convert::type>(v.template get<9>()); + 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. - o.via.array.ptr[10].msgpack::object::convert::type>(v.template get<10>()); + 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. - o.via.array.ptr[11].msgpack::object::convert::type>(v.template get<11>()); + 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. - o.via.array.ptr[12].msgpack::object::convert::type>(v.template get<12>()); + 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. - o.via.array.ptr[13].msgpack::object::convert::type>(v.template get<13>()); + 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. - o.via.array.ptr[14].msgpack::object::convert::type>(v.template get<14>()); + 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. - o.via.array.ptr[15].msgpack::object::convert::type>(v.template get<15>()); + 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. - o.via.array.ptr[16].msgpack::object::convert::type>(v.template get<16>()); + 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. - o.via.array.ptr[17].msgpack::object::convert::type>(v.template get<17>()); + 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. - o.via.array.ptr[18].msgpack::object::convert::type>(v.template get<18>()); + 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. - o.via.array.ptr[19].msgpack::object::convert::type>(v.template get<19>()); + 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. - o.via.array.ptr[20].msgpack::object::convert::type>(v.template get<20>()); + 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. - o.via.array.ptr[21].msgpack::object::convert::type>(v.template get<21>()); + 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. - o.via.array.ptr[22].msgpack::object::convert::type>(v.template get<22>()); + 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. - o.via.array.ptr[23].msgpack::object::convert::type>(v.template get<23>()); + 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. - o.via.array.ptr[24].msgpack::object::convert::type>(v.template get<24>()); + 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. - o.via.array.ptr[25].msgpack::object::convert::type>(v.template get<25>()); + 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. - o.via.array.ptr[26].msgpack::object::convert::type>(v.template get<26>()); + 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. - o.via.array.ptr[27].msgpack::object::convert::type>(v.template get<27>()); + 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. - o.via.array.ptr[28].msgpack::object::convert::type>(v.template get<28>()); + 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. - o.via.array.ptr[29].msgpack::object::convert::type>(v.template get<29>()); + 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. - o.via.array.ptr[30].msgpack::object::convert::type>(v.template get<30>()); + 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. - o.via.array.ptr[31].msgpack::object::convert::type>(v.template get<31>()); + if(o.via.array.size > 31) + o.via.array.ptr[31].msgpack::object::convert::type>(v.template get<31>()); return o; } }; diff --git a/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp b/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp index 91780366..0b06412f 100644 --- a/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp +++ b/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp @@ -150,7 +150,6 @@ struct as, typename std::enable_if operator()( msgpack::object const& o) const { if (o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if (o.via.array.size > sizeof...(Args)) { throw msgpack::type_error(); } return MsgpackTupleAs::as(o); } }; @@ -161,7 +160,6 @@ struct convert> { msgpack::object const& o, msgpack::type::tuple& v) const { if(o.type != msgpack::type::ARRAY) { throw msgpack::type_error(); } - if(o.via.array.size > sizeof...(Args)) { throw msgpack::type_error(); } MsgpackTupleConverter::convert(o, v); return o; } diff --git a/test/msgpack_container.cpp b/test/msgpack_container.cpp index 00846c39..65f4a6d7 100644 --- a/test/msgpack_container.cpp +++ b/test/msgpack_container.cpp @@ -1,3 +1,4 @@ +#include #include #include @@ -469,6 +470,63 @@ TEST(MSGPACK_TUPLE, simple_tuple_empty) EXPECT_EQ(oh.get().via.array.size, 0u); } +TEST(MSGPACK_TUPLE, simple_tuple_grater_than_as) +{ + msgpack::sbuffer sbuf; + msgpack::type::tuple val1(true, "kzk", 42); + msgpack::pack(sbuf, val1); + msgpack::object_handle oh = + msgpack::unpack(sbuf.data(), sbuf.size()); + msgpack::type::tuple val2 + = oh.get().as >(); + EXPECT_EQ(oh.get().via.array.size, 3u); + EXPECT_EQ(val1.get<0>(), val2.get<0>()); + EXPECT_EQ(val1.get<1>(), val2.get<1>()); + EXPECT_EQ(val1.get<2>(), val2.get<2>()); +} + +TEST(MSGPACK_TUPLE, simple_tuple_grater_than_convert) +{ + msgpack::sbuffer sbuf; + msgpack::type::tuple val1(true, "kzk", 42); + msgpack::pack(sbuf, val1); + msgpack::object_handle oh = + msgpack::unpack(sbuf.data(), sbuf.size()); + msgpack::type::tuple val2; + oh.get().convert(val2); + EXPECT_EQ(oh.get().via.array.size, 3u); + EXPECT_EQ(val1.get<0>(), val2.get<0>()); + EXPECT_EQ(val1.get<1>(), val2.get<1>()); + EXPECT_EQ(val1.get<2>(), val2.get<2>()); +} + +TEST(MSGPACK_TUPLE, simple_tuple_less_than_as) +{ + msgpack::sbuffer sbuf; + msgpack::type::tuple val1(true, "kzk", 42); + msgpack::pack(sbuf, val1); + msgpack::object_handle oh = + msgpack::unpack(sbuf.data(), sbuf.size()); + msgpack::type::tuple val2 + = oh.get().as >(); + EXPECT_EQ(oh.get().via.array.size, 3u); + EXPECT_EQ(val1.get<0>(), val2.get<0>()); + EXPECT_EQ(val1.get<1>(), val2.get<1>()); +} + +TEST(MSGPACK_TUPLE, simple_tuple_less_than_convert) +{ + msgpack::sbuffer sbuf; + msgpack::type::tuple val1(true, "kzk", 42); + msgpack::pack(sbuf, val1); + msgpack::object_handle oh = + msgpack::unpack(sbuf.data(), sbuf.size()); + msgpack::type::tuple val2; + oh.get().convert(val2); + EXPECT_EQ(oh.get().via.array.size, 3u); + EXPECT_EQ(val1.get<0>(), val2.get<0>()); + EXPECT_EQ(val1.get<1>(), val2.get<1>()); +} // TR1 diff --git a/test/msgpack_cpp11.cpp b/test/msgpack_cpp11.cpp index 155a8e94..6331abb8 100644 --- a/test/msgpack_cpp11.cpp +++ b/test/msgpack_cpp11.cpp @@ -59,6 +59,58 @@ TEST(MSGPACK_CPP11, simple_tuple_empty) EXPECT_EQ(val1, val2); } +TEST(MSGPACK_CPP11, simple_tuple_size_greater_than_as) +{ + msgpack::sbuffer sbuf; + std::tuple val1(true, "kzk", 42); + msgpack::pack(sbuf, val1); + msgpack::object_handle oh = + msgpack::unpack(sbuf.data(), sbuf.size()); + std::tuple val2 = oh.get().as >(); + EXPECT_EQ(std::get<0>(val1), std::get<0>(val2)); + EXPECT_EQ(std::get<1>(val1), std::get<1>(val2)); + EXPECT_EQ(std::get<2>(val1), std::get<2>(val2)); +} + +TEST(MSGPACK_CPP11, simple_tuple_size_greater_than_convert) +{ + msgpack::sbuffer sbuf; + std::tuple val1(true, "kzk", 42); + msgpack::pack(sbuf, val1); + msgpack::object_handle oh = + msgpack::unpack(sbuf.data(), sbuf.size()); + std::tuple val2; + oh.get().convert(val2); + EXPECT_EQ(std::get<0>(val1), std::get<0>(val2)); + EXPECT_EQ(std::get<1>(val1), std::get<1>(val2)); + EXPECT_EQ(std::get<2>(val1), std::get<2>(val2)); +} + +TEST(MSGPACK_CPP11, simple_tuple_size_less_than_as) +{ + msgpack::sbuffer sbuf; + std::tuple val1(true, "kzk", 42); + msgpack::pack(sbuf, val1); + msgpack::object_handle oh = + msgpack::unpack(sbuf.data(), sbuf.size()); + std::tuple val2 = oh.get().as >(); + EXPECT_EQ(std::get<0>(val1), std::get<0>(val2)); + EXPECT_EQ(std::get<1>(val1), std::get<1>(val2)); +} + +TEST(MSGPACK_CPP11, simple_tuple_size_less_than_convert) +{ + msgpack::sbuffer sbuf; + std::tuple val1(true, "kzk", 42); + msgpack::pack(sbuf, val1); + msgpack::object_handle oh = + msgpack::unpack(sbuf.data(), sbuf.size()); + std::tuple val2; + oh.get().convert(val2); + EXPECT_EQ(std::get<0>(val1), std::get<0>(val2)); + EXPECT_EQ(std::get<1>(val1), std::get<1>(val2)); +} + TEST(MSGPACK_CPP11, simple_array) { for (unsigned int k = 0; k < kLoop; k++) { diff --git a/test/user_class.cpp b/test/user_class.cpp index 78e8987e..0648b184 100644 --- a/test/user_class.cpp +++ b/test/user_class.cpp @@ -151,7 +151,14 @@ public: msgpack::type::tuple tuple; o.convert(tuple); +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && !defined(__clang__) is_double = tuple.get<0>(); +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && !defined(__clang__) +#pragma GCC diagnostic pop +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && !defined(__clang__) if (is_double) tuple.get<1>().convert(value.f); else