From 455e0190d1e8eaed790fd64e8af4cf83834a348c Mon Sep 17 00:00:00 2001 From: Takatoshi Kondo Date: Thu, 17 Mar 2016 08:43:00 +0900 Subject: [PATCH] Fixed #442. Updated msgpack::v1::operator<< and >> implementation. Those functions refer to current version of convert, pack, object, and object_with_zone. --- include/msgpack/v1/adaptor/adaptor_base.hpp | 8 +++--- include/msgpack/v2/adaptor/adaptor_base.hpp | 26 ------------------- .../msgpack/v2/adaptor/adaptor_base_decl.hpp | 13 ++-------- 3 files changed, 6 insertions(+), 41 deletions(-) diff --git a/include/msgpack/v1/adaptor/adaptor_base.hpp b/include/msgpack/v1/adaptor/adaptor_base.hpp index 01c0da6f..12005244 100644 --- a/include/msgpack/v1/adaptor/adaptor_base.hpp +++ b/include/msgpack/v1/adaptor/adaptor_base.hpp @@ -51,25 +51,25 @@ struct object_with_zone { template inline msgpack::object const& operator>> (msgpack::object const& o, T& v) { - return adaptor::convert()(o, v); + return msgpack::adaptor::convert()(o, v); } template inline msgpack::packer& operator<< (msgpack::packer& o, T const& v) { - return adaptor::pack()(o, v); + return msgpack::adaptor::pack()(o, v); } template inline void operator<< (msgpack::object& o, T const& v) { - adaptor::object()(o, v); + msgpack::adaptor::object()(o, v); } template inline void operator<< (msgpack::object::with_zone& o, T const& v) { - adaptor::object_with_zone()(o, v); + msgpack::adaptor::object_with_zone()(o, v); } /// @cond diff --git a/include/msgpack/v2/adaptor/adaptor_base.hpp b/include/msgpack/v2/adaptor/adaptor_base.hpp index be81d30b..154bf1c6 100644 --- a/include/msgpack/v2/adaptor/adaptor_base.hpp +++ b/include/msgpack/v2/adaptor/adaptor_base.hpp @@ -41,32 +41,6 @@ struct object_with_zone : v1::adaptor::object_with_zone { } // namespace adaptor -// operators - -template -inline -msgpack::object const& operator>> (msgpack::object const& o, T& v) { - return adaptor::convert()(o, v); -} - -template -inline -msgpack::packer& operator<< (msgpack::packer& o, T const& v) { - return adaptor::pack()(o, v); -} - -template -inline -void operator<< (msgpack::object& o, T const& v) { - adaptor::object()(o, v); -} - -template -inline -void operator<< (msgpack::object::with_zone& o, T const& v) { - adaptor::object_with_zone()(o, v); -} - /// @cond } // MSGPACK_API_VERSION_NAMESPACE(v2) /// @endcond diff --git a/include/msgpack/v2/adaptor/adaptor_base_decl.hpp b/include/msgpack/v2/adaptor/adaptor_base_decl.hpp index cd24cb27..6761a7b3 100644 --- a/include/msgpack/v2/adaptor/adaptor_base_decl.hpp +++ b/include/msgpack/v2/adaptor/adaptor_base_decl.hpp @@ -40,17 +40,8 @@ struct object_with_zone; // operators -template - msgpack::object const& operator>> (msgpack::object const& o, T& v); - -template -msgpack::packer& operator<< (msgpack::packer& o, T const& v); - -template -void operator<< (msgpack::object& o, T const& v); - -template -void operator<< (msgpack::object::with_zone& o, T const& v); +using v1::operator>>; +using v1::operator<<; /// @cond } // MSGPACK_API_VERSION_NAMESPACE(v2)