diff --git a/include/msgpack/v1/adaptor/map.hpp b/include/msgpack/v1/adaptor/map.hpp index 7b0fb832..958da5d6 100644 --- a/include/msgpack/v1/adaptor/map.hpp +++ b/include/msgpack/v1/adaptor/map.hpp @@ -48,7 +48,7 @@ namespace adaptor { template struct as< type::assoc_vector, - typename std::enable_if::value && msgpack::has_as::value>::type> { + typename std::enable_if::value || msgpack::has_as::value>::type> { type::assoc_vector operator()(msgpack::object const& o) const { if (o.type != msgpack::type::MAP) { throw msgpack::type_error(); } type::assoc_vector v; @@ -129,7 +129,7 @@ struct object_with_zone > { template struct as< std::map, - typename std::enable_if::value && msgpack::has_as::value>::type> { + typename std::enable_if::value || msgpack::has_as::value>::type> { std::map operator()(msgpack::object const& o) const { if (o.type != msgpack::type::MAP) { throw msgpack::type_error(); } msgpack::object_kv* p(o.via.map.ptr); @@ -222,7 +222,7 @@ struct object_with_zone > { template struct as< std::multimap, - typename std::enable_if::value && msgpack::has_as::value>::type> { + typename std::enable_if::value || msgpack::has_as::value>::type> { std::multimap operator()(msgpack::object const& o) const { if (o.type != msgpack::type::MAP) { throw msgpack::type_error(); } msgpack::object_kv* p(o.via.map.ptr);