diff --git a/erb/cpp03_define.hpp.erb b/erb/cpp03_define.hpp.erb index 10ef4502..04c6a0fe 100644 --- a/erb/cpp03_define.hpp.erb +++ b/erb/cpp03_define.hpp.erb @@ -38,12 +38,12 @@ #define MSGPACK_ADD_ENUM(enum) \ namespace msgpack { \ template <> \ - inline enum& operator>> (object const& o, enum& v) \ + inline object const& operator>> (object const& o, enum& v) \ { \ int tmp; \ o >> tmp; \ v = static_cast(tmp); \ - return v; \ + return o; \ } \ template <> \ inline void operator<< (object::with_zone& o, const enum& v) \ @@ -145,4 +145,3 @@ define, A<%=j%><%}%>> make_define(A0& a0<%1.upto(i) {|j|%>, #endif // MSGPACK_CPP03_DEFINE_HPP - diff --git a/erb/cpp03_msgpack_tuple.hpp.erb b/erb/cpp03_msgpack_tuple.hpp.erb index 5fa95fcc..f748ccfd 100644 --- a/erb/cpp03_msgpack_tuple.hpp.erb +++ b/erb/cpp03_msgpack_tuple.hpp.erb @@ -133,22 +133,22 @@ tuple, A<%=j%><%}%>> make_tuple(typename tuple_type::tr } // namespace type -inline type::tuple<>& operator>> ( +inline object const& operator>> ( object const& o, type::tuple<>& v) { if(o.type != type::ARRAY) { throw type_error(); } - return v; + return o; } <%0.upto(GENERATION_LIMIT) {|i|%> template , typename A<%=j%><%}%>> -type::tuple, A<%=j%><%}%>>& operator>> ( +object const& operator>> ( object const& o, type::tuple, A<%=j%><%}%>>& v) { if(o.type != type::ARRAY) { throw type_error(); } if(o.via.array.size < <%=i+1%>) { throw type_error(); } <%0.upto(i) {|j|%> o.via.array.ptr[<%=j%>].convert>::type>(v.template get<<%=j%>>());<%}%> - return v; + return o; } <%}%> diff --git a/include/msgpack/adaptor/bool.hpp b/include/msgpack/adaptor/bool.hpp index e027ad51..bdfb2408 100644 --- a/include/msgpack/adaptor/bool.hpp +++ b/include/msgpack/adaptor/bool.hpp @@ -24,11 +24,11 @@ namespace msgpack { -inline bool& operator>> (object const& o, bool& v) +inline object const& operator>> (object const& o, bool& v) { if(o.type != type::BOOLEAN) { throw type_error(); } v = o.via.boolean; - return v; + return o; } template @@ -52,4 +52,3 @@ inline void operator<< (object::with_zone& o, bool v) } // namespace msgpack #endif /* msgpack/type/bool.hpp */ - diff --git a/include/msgpack/adaptor/cpp11/array.hpp b/include/msgpack/adaptor/cpp11/array.hpp index be89559b..5c1cb3b0 100644 --- a/include/msgpack/adaptor/cpp11/array.hpp +++ b/include/msgpack/adaptor/cpp11/array.hpp @@ -27,7 +27,7 @@ namespace msgpack { template -inline std::array& operator>> (object const& o, std::array& v) { +inline object const& operator>> (object const& o, std::array& v) { if(o.type != type::ARRAY) { throw type_error(); } if(o.via.array.size != N) { throw type_error(); } if(o.via.array.size > 0) { @@ -40,7 +40,7 @@ inline std::array& operator>> (object const& o, std::array& v) { ++it; } while(p < pend); } - return v; + return o; } template diff --git a/include/msgpack/adaptor/cpp11/array_char.hpp b/include/msgpack/adaptor/cpp11/array_char.hpp index 71f1e87d..a7cfcc2f 100644 --- a/include/msgpack/adaptor/cpp11/array_char.hpp +++ b/include/msgpack/adaptor/cpp11/array_char.hpp @@ -24,7 +24,7 @@ namespace msgpack { template -inline std::array& operator>> (object const& o, std::array& v) +inline object const& operator>> (object const& o, std::array& v) { switch (o.type) { case type::BIN: @@ -39,7 +39,7 @@ inline std::array& operator>> (object const& o, std::array& v) throw type_error(); break; } - return v; + return o; } template diff --git a/include/msgpack/adaptor/cpp11/forward_list.hpp b/include/msgpack/adaptor/cpp11/forward_list.hpp index 272a7ef3..68e5ac22 100644 --- a/include/msgpack/adaptor/cpp11/forward_list.hpp +++ b/include/msgpack/adaptor/cpp11/forward_list.hpp @@ -27,7 +27,7 @@ namespace msgpack { template -inline std::forward_list& operator>> (object const& o, std::forward_list& v) +inline object const& operator>> (object const& o, std::forward_list& v) { if(o.type != type::ARRAY) { throw type_error(); } v.resize(o.via.array.size); @@ -36,7 +36,7 @@ inline std::forward_list& operator>> (object const& o, std::forward_list& p->convert(e); ++p; } - return v; + return o; } template diff --git a/include/msgpack/adaptor/cpp11/tuple.hpp b/include/msgpack/adaptor/cpp11/tuple.hpp index 79298d6e..e29a0e17 100644 --- a/include/msgpack/adaptor/cpp11/tuple.hpp +++ b/include/msgpack/adaptor/cpp11/tuple.hpp @@ -76,13 +76,13 @@ struct StdTupleConverter { }; template -std::tuple& operator>> ( +object const& operator>> ( object const& o, std::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } if(o.via.array.size < sizeof...(Args)) { throw type_error(); } StdTupleConverter::convert(o, v); - return v; + return o; } // --- Convert from tuple to object with zone --- @@ -118,4 +118,3 @@ inline void operator<< ( } // msgpack #endif // MSGPACK_CPP11_TUPLE_HPP - diff --git a/include/msgpack/adaptor/deque.hpp b/include/msgpack/adaptor/deque.hpp index c6571343..f5609c88 100644 --- a/include/msgpack/adaptor/deque.hpp +++ b/include/msgpack/adaptor/deque.hpp @@ -25,7 +25,7 @@ namespace msgpack { template -inline std::deque& operator>> (object const& o, std::deque& v) +inline object const& operator>> (object const& o, std::deque& v) { if(o.type != type::ARRAY) { throw type_error(); } v.resize(o.via.array.size); @@ -35,7 +35,7 @@ inline std::deque& operator>> (object const& o, std::deque& v) for(; p < pend; ++p, ++it) { p->convert(*it); } - return v; + return o; } template @@ -74,4 +74,3 @@ inline void operator<< (object::with_zone& o, const std::deque& v) } // namespace msgpack #endif /* msgpack/type/deque.hpp */ - diff --git a/include/msgpack/adaptor/detail/cpp03_define.hpp b/include/msgpack/adaptor/detail/cpp03_define.hpp index 30090d3e..675690c2 100644 --- a/include/msgpack/adaptor/detail/cpp03_define.hpp +++ b/include/msgpack/adaptor/detail/cpp03_define.hpp @@ -38,12 +38,12 @@ #define MSGPACK_ADD_ENUM(enum) \ namespace msgpack { \ template <> \ - inline enum& operator>> (object const& o, enum& v) \ + inline object const& operator>> (object const& o, enum& v) \ { \ int tmp; \ o >> tmp; \ v = static_cast(tmp); \ - return v; \ + return o; \ } \ template <> \ inline void operator<< (object::with_zone& o, const enum& v) \ @@ -3462,4 +3462,3 @@ define& operator>> ( +inline object const& operator>> ( object const& o, type::tuple<>& v) { if(o.type != type::ARRAY) { throw type_error(); } - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } if(o.via.array.size < 1) { throw type_error(); } o.via.array.ptr[0].convert::type>(v.template get<0>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10607,11 +10607,11 @@ type::tuple& operator>> ( o.via.array.ptr[0].convert::type>(v.template get<0>()); o.via.array.ptr[1].convert::type>(v.template get<1>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10620,11 +10620,11 @@ type::tuple& operator>> ( o.via.array.ptr[0].convert::type>(v.template get<0>()); o.via.array.ptr[1].convert::type>(v.template get<1>()); o.via.array.ptr[2].convert::type>(v.template get<2>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10634,11 +10634,11 @@ type::tuple& operator>> ( o.via.array.ptr[1].convert::type>(v.template get<1>()); o.via.array.ptr[2].convert::type>(v.template get<2>()); o.via.array.ptr[3].convert::type>(v.template get<3>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10649,11 +10649,11 @@ type::tuple& operator>> ( o.via.array.ptr[2].convert::type>(v.template get<2>()); o.via.array.ptr[3].convert::type>(v.template get<3>()); o.via.array.ptr[4].convert::type>(v.template get<4>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10665,11 +10665,11 @@ type::tuple& operator>> ( o.via.array.ptr[3].convert::type>(v.template get<3>()); o.via.array.ptr[4].convert::type>(v.template get<4>()); o.via.array.ptr[5].convert::type>(v.template get<5>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10682,11 +10682,11 @@ type::tuple& operator>> ( o.via.array.ptr[4].convert::type>(v.template get<4>()); o.via.array.ptr[5].convert::type>(v.template get<5>()); o.via.array.ptr[6].convert::type>(v.template get<6>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10700,11 +10700,11 @@ type::tuple& operator>> ( o.via.array.ptr[5].convert::type>(v.template get<5>()); o.via.array.ptr[6].convert::type>(v.template get<6>()); o.via.array.ptr[7].convert::type>(v.template get<7>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10719,11 +10719,11 @@ type::tuple& operator>> ( o.via.array.ptr[6].convert::type>(v.template get<6>()); o.via.array.ptr[7].convert::type>(v.template get<7>()); o.via.array.ptr[8].convert::type>(v.template get<8>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10739,11 +10739,11 @@ type::tuple& operator>> ( o.via.array.ptr[7].convert::type>(v.template get<7>()); o.via.array.ptr[8].convert::type>(v.template get<8>()); o.via.array.ptr[9].convert::type>(v.template get<9>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10760,11 +10760,11 @@ type::tuple& operator>> ( o.via.array.ptr[8].convert::type>(v.template get<8>()); o.via.array.ptr[9].convert::type>(v.template get<9>()); o.via.array.ptr[10].convert::type>(v.template get<10>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10782,11 +10782,11 @@ type::tuple& operator>> ( o.via.array.ptr[9].convert::type>(v.template get<9>()); o.via.array.ptr[10].convert::type>(v.template get<10>()); o.via.array.ptr[11].convert::type>(v.template get<11>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10805,11 +10805,11 @@ type::tuple& operator>> ( o.via.array.ptr[10].convert::type>(v.template get<10>()); o.via.array.ptr[11].convert::type>(v.template get<11>()); o.via.array.ptr[12].convert::type>(v.template get<12>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10829,11 +10829,11 @@ type::tuple& operato o.via.array.ptr[11].convert::type>(v.template get<11>()); o.via.array.ptr[12].convert::type>(v.template get<12>()); o.via.array.ptr[13].convert::type>(v.template get<13>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10854,11 +10854,11 @@ type::tuple& op o.via.array.ptr[12].convert::type>(v.template get<12>()); o.via.array.ptr[13].convert::type>(v.template get<13>()); o.via.array.ptr[14].convert::type>(v.template get<14>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10880,11 +10880,11 @@ type::tuple::type>(v.template get<13>()); o.via.array.ptr[14].convert::type>(v.template get<14>()); o.via.array.ptr[15].convert::type>(v.template get<15>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10907,11 +10907,11 @@ type::tuple::type>(v.template get<14>()); o.via.array.ptr[15].convert::type>(v.template get<15>()); o.via.array.ptr[16].convert::type>(v.template get<16>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10935,11 +10935,11 @@ type::tuple::type>(v.template get<15>()); o.via.array.ptr[16].convert::type>(v.template get<16>()); o.via.array.ptr[17].convert::type>(v.template get<17>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10964,11 +10964,11 @@ type::tuple::type>(v.template get<16>()); o.via.array.ptr[17].convert::type>(v.template get<17>()); o.via.array.ptr[18].convert::type>(v.template get<18>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -10994,11 +10994,11 @@ type::tuple::type>(v.template get<17>()); o.via.array.ptr[18].convert::type>(v.template get<18>()); o.via.array.ptr[19].convert::type>(v.template get<19>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -11025,11 +11025,11 @@ type::tuple::type>(v.template get<18>()); o.via.array.ptr[19].convert::type>(v.template get<19>()); o.via.array.ptr[20].convert::type>(v.template get<20>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -11057,11 +11057,11 @@ type::tuple::type>(v.template get<19>()); o.via.array.ptr[20].convert::type>(v.template get<20>()); o.via.array.ptr[21].convert::type>(v.template get<21>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -11090,11 +11090,11 @@ type::tuple::type>(v.template get<20>()); o.via.array.ptr[21].convert::type>(v.template get<21>()); o.via.array.ptr[22].convert::type>(v.template get<22>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -11124,11 +11124,11 @@ type::tuple::type>(v.template get<21>()); o.via.array.ptr[22].convert::type>(v.template get<22>()); o.via.array.ptr[23].convert::type>(v.template get<23>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -11159,11 +11159,11 @@ type::tuple::type>(v.template get<22>()); o.via.array.ptr[23].convert::type>(v.template get<23>()); o.via.array.ptr[24].convert::type>(v.template get<24>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -11195,11 +11195,11 @@ type::tuple::type>(v.template get<23>()); o.via.array.ptr[24].convert::type>(v.template get<24>()); o.via.array.ptr[25].convert::type>(v.template get<25>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -11232,11 +11232,11 @@ type::tuple::type>(v.template get<24>()); o.via.array.ptr[25].convert::type>(v.template get<25>()); o.via.array.ptr[26].convert::type>(v.template get<26>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -11270,11 +11270,11 @@ type::tuple::type>(v.template get<25>()); o.via.array.ptr[26].convert::type>(v.template get<26>()); o.via.array.ptr[27].convert::type>(v.template get<27>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -11309,11 +11309,11 @@ type::tuple::type>(v.template get<26>()); o.via.array.ptr[27].convert::type>(v.template get<27>()); o.via.array.ptr[28].convert::type>(v.template get<28>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -11349,11 +11349,11 @@ type::tuple::type>(v.template get<27>()); o.via.array.ptr[28].convert::type>(v.template get<28>()); o.via.array.ptr[29].convert::type>(v.template get<29>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -11390,11 +11390,11 @@ type::tuple::type>(v.template get<28>()); o.via.array.ptr[29].convert::type>(v.template get<29>()); o.via.array.ptr[30].convert::type>(v.template get<30>()); - return v; + return o; } template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } @@ -11432,7 +11432,7 @@ type::tuple::type>(v.template get<29>()); o.via.array.ptr[30].convert::type>(v.template get<30>()); o.via.array.ptr[31].convert::type>(v.template get<31>()); - return v; + return o; } diff --git a/include/msgpack/adaptor/detail/cpp11_define.hpp b/include/msgpack/adaptor/detail/cpp11_define.hpp index 712b08cf..795a1184 100644 --- a/include/msgpack/adaptor/detail/cpp11_define.hpp +++ b/include/msgpack/adaptor/detail/cpp11_define.hpp @@ -40,12 +40,12 @@ #define MSGPACK_ADD_ENUM(enum) \ namespace msgpack { \ template <> \ - inline enum& operator>> (object const& o, enum& v) \ + inline object const& operator>> (object const& o, enum& v) \ { \ int tmp; \ o >> tmp; \ v = static_cast(tmp); \ - return v; \ + return o; \ } \ template <> \ inline void operator<< (object::with_zone& o, const enum& v) \ diff --git a/include/msgpack/adaptor/detail/cpp11_msgpack_tuple.hpp b/include/msgpack/adaptor/detail/cpp11_msgpack_tuple.hpp index 7335e12e..4dee4602 100644 --- a/include/msgpack/adaptor/detail/cpp11_msgpack_tuple.hpp +++ b/include/msgpack/adaptor/detail/cpp11_msgpack_tuple.hpp @@ -140,13 +140,13 @@ struct MsgpackTupleConverter { }; template -type::tuple& operator>> ( +object const& operator>> ( object const& o, type::tuple& v) { if(o.type != type::ARRAY) { throw type_error(); } if(o.via.array.size < sizeof...(Args)) { throw type_error(); } MsgpackTupleConverter::convert(o, v); - return v; + return o; } // --- Convert from tuple to object with zone --- @@ -182,4 +182,3 @@ inline void operator<< ( } // msgpack #endif // MSGPACK_CPP11_MSGPACK_TUPLE_HPP - diff --git a/include/msgpack/adaptor/fixint.hpp b/include/msgpack/adaptor/fixint.hpp index 6acbc132..3deccd10 100644 --- a/include/msgpack/adaptor/fixint.hpp +++ b/include/msgpack/adaptor/fixint.hpp @@ -54,30 +54,30 @@ typedef fix_int fix_int64; } // namespace type -inline type::fix_int8& operator>> (object const& o, type::fix_int8& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, type::fix_int8& v) + { v = type::detail::convert_integer(o); return o; } -inline type::fix_int16& operator>> (object const& o, type::fix_int16& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, type::fix_int16& v) + { v = type::detail::convert_integer(o); return o; } -inline type::fix_int32& operator>> (object const& o, type::fix_int32& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, type::fix_int32& v) + { v = type::detail::convert_integer(o); return o; } -inline type::fix_int64& operator>> (object const& o, type::fix_int64& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, type::fix_int64& v) + { v = type::detail::convert_integer(o); return o; } -inline type::fix_uint8& operator>> (object const& o, type::fix_uint8& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, type::fix_uint8& v) + { v = type::detail::convert_integer(o); return o; } -inline type::fix_uint16& operator>> (object const& o, type::fix_uint16& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, type::fix_uint16& v) + { v = type::detail::convert_integer(o); return o; } -inline type::fix_uint32& operator>> (object const& o, type::fix_uint32& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, type::fix_uint32& v) + { v = type::detail::convert_integer(o); return o; } -inline type::fix_uint64& operator>> (object const& o, type::fix_uint64& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, type::fix_uint64& v) + { v = type::detail::convert_integer(o); return o; } template @@ -169,4 +169,3 @@ inline void operator<< (object::with_zone& o, type::fix_uint64 v) } // namespace msgpack #endif /* msgpack/type/fixint.hpp */ - diff --git a/include/msgpack/adaptor/float.hpp b/include/msgpack/adaptor/float.hpp index b49767c4..16470e4b 100644 --- a/include/msgpack/adaptor/float.hpp +++ b/include/msgpack/adaptor/float.hpp @@ -27,7 +27,7 @@ namespace msgpack { // FIXME check overflow, underflow -inline float& operator>> (object const& o, float& v) +inline object const& operator>> (object const& o, float& v) { if(o.type == type::DOUBLE) { v = static_cast(o.via.dec); @@ -41,7 +41,7 @@ inline float& operator>> (object const& o, float& v) else { throw type_error(); } - return v; + return o; } template @@ -52,7 +52,7 @@ inline packer& operator<< (packer& o, const float& v) } -inline double& operator>> (object const& o, double& v) +inline object const& operator>> (object const& o, double& v) { if(o.type == type::DOUBLE) { v = o.via.dec; @@ -66,7 +66,7 @@ inline double& operator>> (object const& o, double& v) else { throw type_error(); } - return v; + return o; } template @@ -99,4 +99,3 @@ inline void operator<< (object::with_zone& o, double v) } // namespace msgpack #endif /* msgpack/type/float.hpp */ - diff --git a/include/msgpack/adaptor/int.hpp b/include/msgpack/adaptor/int.hpp index 27ae7031..726bf7d3 100644 --- a/include/msgpack/adaptor/int.hpp +++ b/include/msgpack/adaptor/int.hpp @@ -117,40 +117,40 @@ namespace detail { } // namespace detail } // namespace type -inline char& operator>> (object const& o, char& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, char& v) + { v = type::detail::convert_integer(o); return o; } -inline signed char& operator>> (object const& o, signed char& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, signed char& v) + { v = type::detail::convert_integer(o); return o; } -inline signed short& operator>> (object const& o, signed short& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, signed short& v) + { v = type::detail::convert_integer(o); return o; } -inline signed int& operator>> (object const& o, signed int& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, signed int& v) + { v = type::detail::convert_integer(o); return o; } -inline signed long& operator>> (object const& o, signed long& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, signed long& v) + { v = type::detail::convert_integer(o); return o; } -inline signed long long& operator>> (object const& o, signed long long& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, signed long long& v) + { v = type::detail::convert_integer(o); return o; } -inline unsigned char& operator>> (object const& o, unsigned char& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, unsigned char& v) + { v = type::detail::convert_integer(o); return o; } -inline unsigned short& operator>> (object const& o, unsigned short& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, unsigned short& v) + { v = type::detail::convert_integer(o); return o; } -inline unsigned int& operator>> (object const& o, unsigned int& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, unsigned int& v) + { v = type::detail::convert_integer(o); return o; } -inline unsigned long& operator>> (object const& o, unsigned long& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, unsigned long& v) + { v = type::detail::convert_integer(o); return o; } -inline unsigned long long& operator>> (object const& o, unsigned long long& v) - { v = type::detail::convert_integer(o); return v; } +inline object const& operator>> (object const& o, unsigned long long& v) + { v = type::detail::convert_integer(o); return o; } template @@ -276,4 +276,3 @@ inline void operator<< (object::with_zone& o, const unsigned long long& v) } // namespace msgpack #endif /* msgpack/type/int.hpp */ - diff --git a/include/msgpack/adaptor/list.hpp b/include/msgpack/adaptor/list.hpp index 04633a9d..048eae00 100644 --- a/include/msgpack/adaptor/list.hpp +++ b/include/msgpack/adaptor/list.hpp @@ -25,7 +25,7 @@ namespace msgpack { template -inline std::list& operator>> (object const& o, std::list& v) +inline object const& operator>> (object const& o, std::list& v) { if(o.type != type::ARRAY) { throw type_error(); } v.resize(o.via.array.size); @@ -35,7 +35,7 @@ inline std::list& operator>> (object const& o, std::list& v) for(; p < pend; ++p, ++it) { p->convert(*it); } - return v; + return o; } template @@ -74,4 +74,3 @@ inline void operator<< (object::with_zone& o, const std::list& v) } // namespace msgpack #endif /* msgpack/type/list.hpp */ - diff --git a/include/msgpack/adaptor/map.hpp b/include/msgpack/adaptor/map.hpp index ed2fb059..5cf61762 100644 --- a/include/msgpack/adaptor/map.hpp +++ b/include/msgpack/adaptor/map.hpp @@ -43,7 +43,7 @@ namespace detail { template -inline type::assoc_vector& operator>> (object const& o, type::assoc_vector& v) +inline object const& operator>> (object const& o, type::assoc_vector& v) { if(o.type != type::MAP) { throw type_error(); } v.resize(o.via.map.size); @@ -55,7 +55,7 @@ inline type::assoc_vector& operator>> (object const& o, type::assoc_vector< p->val.convert(it->second); } std::sort(v.begin(), v.end(), type::detail::pair_first_less()); - return v; + return o; } template @@ -94,7 +94,7 @@ inline void operator<< (object::with_zone& o, const type::assoc_vector& v) template -inline std::map& operator>> (object const& o, std::map& v) +inline object const& operator>> (object const& o, std::map& v) { if(o.type != type::MAP) { throw type_error(); } object_kv* p(o.via.map.ptr); @@ -111,7 +111,7 @@ inline std::map& operator>> (object const& o, std::map& v) v.insert(it, std::pair(key, val)); } } - return v; + return o; } template @@ -150,7 +150,7 @@ inline void operator<< (object::with_zone& o, const std::map& v) template -inline std::multimap& operator>> (object const& o, std::multimap& v) +inline object const& operator>> (object const& o, std::multimap& v) { if(o.type != type::MAP) { throw type_error(); } object_kv* p(o.via.map.ptr); @@ -161,7 +161,7 @@ inline std::multimap& operator>> (object const& o, std::multimap& v) p->val.convert(value.second); v.insert(value); } - return v; + return o; } template diff --git a/include/msgpack/adaptor/nil.hpp b/include/msgpack/adaptor/nil.hpp index bef57fc5..9f8a12ea 100644 --- a/include/msgpack/adaptor/nil.hpp +++ b/include/msgpack/adaptor/nil.hpp @@ -29,10 +29,10 @@ struct nil { }; } // namespace type -inline type::nil& operator>> (object const& o, type::nil& v) +inline object const& operator>> (object const& o, type::nil& v) { if(o.type != type::NIL) { throw type_error(); } - return v; + return o; } template @@ -62,4 +62,3 @@ inline void object::as() const } // namespace msgpack #endif /* msgpack/type/nil.hpp */ - diff --git a/include/msgpack/adaptor/pair.hpp b/include/msgpack/adaptor/pair.hpp index a309cac7..851d00c3 100644 --- a/include/msgpack/adaptor/pair.hpp +++ b/include/msgpack/adaptor/pair.hpp @@ -25,13 +25,13 @@ namespace msgpack { template -inline std::pair& operator>> (object const& o, std::pair& v) +inline object const& operator>> (object const& o, std::pair& v) { if(o.type != type::ARRAY) { throw type_error(); } if(o.via.array.size != 2) { throw type_error(); } o.via.array.ptr[0].convert(v.first); o.via.array.ptr[1].convert(v.second); - return v; + return o; } template @@ -58,4 +58,3 @@ inline void operator<< (object::with_zone& o, const std::pair& v) } // namespace msgpack #endif /* msgpack/type/pair.hpp */ - diff --git a/include/msgpack/adaptor/raw.hpp b/include/msgpack/adaptor/raw.hpp index 0d41b846..e2268607 100644 --- a/include/msgpack/adaptor/raw.hpp +++ b/include/msgpack/adaptor/raw.hpp @@ -61,12 +61,12 @@ struct raw_ref { } // namespace type -inline type::raw_ref& operator>> (object const& o, type::raw_ref& v) +inline object const& operator>> (object const& o, type::raw_ref& v) { if(o.type != type::BIN) { throw type_error(); } v.ptr = o.via.bin.ptr; v.size = o.via.bin.size; - return v; + return o; } template @@ -91,4 +91,3 @@ inline void operator<< (object::with_zone& o, const type::raw_ref& v) } // namespace msgpack #endif /* msgpack/type/raw.hpp */ - diff --git a/include/msgpack/adaptor/set.hpp b/include/msgpack/adaptor/set.hpp index bea26203..f949944e 100644 --- a/include/msgpack/adaptor/set.hpp +++ b/include/msgpack/adaptor/set.hpp @@ -25,7 +25,7 @@ namespace msgpack { template -inline std::set& operator>> (object const& o, std::set& v) +inline object const& operator>> (object const& o, std::set& v) { if(o.type != type::ARRAY) { throw type_error(); } object* p = o.via.array.ptr + o.via.array.size; @@ -34,7 +34,7 @@ inline std::set& operator>> (object const& o, std::set& v) --p; v.insert(p->as()); } - return v; + return o; } template @@ -71,7 +71,7 @@ inline void operator<< (object::with_zone& o, const std::set& v) template -inline std::multiset& operator>> (object const& o, std::multiset& v) +inline object const& operator>> (object const& o, std::multiset& v) { if(o.type != type::ARRAY) { throw type_error(); } object* p = o.via.array.ptr + o.via.array.size; @@ -80,7 +80,7 @@ inline std::multiset& operator>> (object const& o, std::multiset& v) --p; v.insert(p->as()); } - return v; + return o; } template @@ -119,4 +119,3 @@ inline void operator<< (object::with_zone& o, const std::multiset& v) } // namespace msgpack #endif /* msgpack/type/set.hpp */ - diff --git a/include/msgpack/adaptor/string.hpp b/include/msgpack/adaptor/string.hpp index 19964a54..a1ea2f8c 100644 --- a/include/msgpack/adaptor/string.hpp +++ b/include/msgpack/adaptor/string.hpp @@ -24,7 +24,7 @@ namespace msgpack { -inline std::string& operator>> (object const& o, std::string& v) +inline object const& operator>> (object const& o, std::string& v) { switch (o.type) { case type::BIN: @@ -37,7 +37,7 @@ inline std::string& operator>> (object const& o, std::string& v) throw type_error(); break; } - return v; + return o; } template @@ -68,4 +68,3 @@ inline void operator<< (object& o, const std::string& v) } // namespace msgpack #endif /* msgpack/type/string.hpp */ - diff --git a/include/msgpack/adaptor/tr1/unordered_map.hpp b/include/msgpack/adaptor/tr1/unordered_map.hpp index ebd0d67a..6495fa9b 100644 --- a/include/msgpack/adaptor/tr1/unordered_map.hpp +++ b/include/msgpack/adaptor/tr1/unordered_map.hpp @@ -44,7 +44,7 @@ namespace msgpack { template -inline MSGPACK_STD_TR1::unordered_map& operator>> (object o, MSGPACK_STD_TR1::unordered_map& v) +inline object const& operator>> (object const& o, MSGPACK_STD_TR1::unordered_map& v) { if(o.type != type::MAP) { throw type_error(); } object_kv* p(o.via.map.ptr); @@ -54,7 +54,7 @@ inline MSGPACK_STD_TR1::unordered_map& operator>> (object o, MSGPACK_STD_T p->key.convert(key); p->val.convert(v[key]); } - return v; + return o; } template @@ -93,7 +93,7 @@ inline void operator<< (object::with_zone& o, const MSGPACK_STD_TR1::unordered_m template -inline MSGPACK_STD_TR1::unordered_multimap& operator>> (object o, MSGPACK_STD_TR1::unordered_multimap& v) +inline object const& operator>> (object const& o, MSGPACK_STD_TR1::unordered_multimap& v) { if(o.type != type::MAP) { throw type_error(); } object_kv* p(o.via.map.ptr); @@ -104,7 +104,7 @@ inline MSGPACK_STD_TR1::unordered_multimap& operator>> (object o, MSGPACK_ p->val.convert(value.second); v.insert(value); } - return v; + return o; } template diff --git a/include/msgpack/adaptor/tr1/unordered_set.hpp b/include/msgpack/adaptor/tr1/unordered_set.hpp index bf7fc7c8..e6086c09 100644 --- a/include/msgpack/adaptor/tr1/unordered_set.hpp +++ b/include/msgpack/adaptor/tr1/unordered_set.hpp @@ -43,7 +43,7 @@ namespace msgpack { template -inline MSGPACK_STD_TR1::unordered_set& operator>> (object o, MSGPACK_STD_TR1::unordered_set& v) +inline object const& operator>> (object const& o, MSGPACK_STD_TR1::unordered_set& v) { if(o.type != type::ARRAY) { throw type_error(); } object* p = o.via.array.ptr + o.via.array.size; @@ -52,7 +52,7 @@ inline MSGPACK_STD_TR1::unordered_set& operator>> (object o, MSGPACK_STD_TR1: --p; v.insert(p->as()); } - return v; + return o; } template @@ -89,7 +89,7 @@ inline void operator<< (object::with_zone& o, const MSGPACK_STD_TR1::unordered_s template -inline MSGPACK_STD_TR1::unordered_multiset& operator>> (object o, MSGPACK_STD_TR1::unordered_multiset& v) +inline object const& operator>> (object const& o, MSGPACK_STD_TR1::unordered_multiset& v) { if(o.type != type::ARRAY) { throw type_error(); } object* p = o.via.array.ptr + o.via.array.size; @@ -98,7 +98,7 @@ inline MSGPACK_STD_TR1::unordered_multiset& operator>> (object o, MSGPACK_STD --p; v.insert(p->as()); } - return v; + return o; } template @@ -139,4 +139,3 @@ inline void operator<< (object::with_zone& o, const MSGPACK_STD_TR1::unordered_m #undef MSGPACK_STD_TR1 #endif /* msgpack/type/set.hpp */ - diff --git a/include/msgpack/adaptor/vector.hpp b/include/msgpack/adaptor/vector.hpp index 0123a3b6..73856896 100644 --- a/include/msgpack/adaptor/vector.hpp +++ b/include/msgpack/adaptor/vector.hpp @@ -25,7 +25,7 @@ namespace msgpack { template -inline std::vector& operator>> (object const& o, std::vector& v) +inline object const& operator>> (object const& o, std::vector& v) { if(o.type != type::ARRAY) { throw type_error(); } v.resize(o.via.array.size); @@ -39,7 +39,7 @@ inline std::vector& operator>> (object const& o, std::vector& v) ++it; } while(p < pend); } - return v; + return o; } template @@ -78,4 +78,3 @@ inline void operator<< (object::with_zone& o, const std::vector& v) } // namespace msgpack #endif /* msgpack/type/vector.hpp */ - diff --git a/include/msgpack/adaptor/vector_char.hpp b/include/msgpack/adaptor/vector_char.hpp index 9ada3e6c..d87081d0 100644 --- a/include/msgpack/adaptor/vector_char.hpp +++ b/include/msgpack/adaptor/vector_char.hpp @@ -23,7 +23,7 @@ namespace msgpack { -inline std::vector& operator>> (object const& o, std::vector& v) +inline object const& operator>> (object const& o, std::vector& v) { switch (o.type) { case type::BIN: @@ -38,7 +38,7 @@ inline std::vector& operator>> (object const& o, std::vector& v) throw type_error(); break; } - return v; + return o; } template @@ -69,4 +69,3 @@ inline void operator<< (object::with_zone& o, const std::vector& v) } // namespace msgpack #endif // MSGPACK_TYPE_VECTOR_CHAR_HPP - diff --git a/include/msgpack/object.hpp b/include/msgpack/object.hpp index 4b05cc23..f060450b 100644 --- a/include/msgpack/object.hpp +++ b/include/msgpack/object.hpp @@ -188,18 +188,18 @@ inline packer& packer::pack(const T& v) return *this; } -inline object& operator>> (object const& o, object& v) +inline object const& operator>> (object const& o, object& v) { v = o; - return v; + return o; } // convert operator template -inline T& operator>> (object const& o, T& v) +inline object const& operator>> (object const& o, T& v) { v.msgpack_unpack(o.convert()); - return v; + return o; } namespace detail {