@@ -48,7 +48,7 @@ namespace adaptor {
4848template <typename K, typename V, typename Compare, typename Alloc>
4949struct as <
5050 type::assoc_vector<K, V, Compare, Alloc>,
51- typename std::enable_if<msgpack::has_as<K>::value && msgpack::has_as<V>::value>::type> {
51+ typename std::enable_if<msgpack::has_as<K>::value || msgpack::has_as<V>::value>::type> {
5252 type::assoc_vector<K, V, Compare, Alloc> operator ()(msgpack::object const & o) const {
5353 if (o.type != msgpack::type::MAP) { throw msgpack::type_error (); }
5454 type::assoc_vector<K, V, Compare, Alloc> v;
@@ -129,7 +129,7 @@ struct object_with_zone<type::assoc_vector<K, V, Compare, Alloc> > {
129129template <typename K, typename V, typename Compare, typename Alloc>
130130struct as <
131131 std::map<K, V, Compare, Alloc>,
132- typename std::enable_if<msgpack::has_as<K>::value && msgpack::has_as<V>::value>::type> {
132+ typename std::enable_if<msgpack::has_as<K>::value || msgpack::has_as<V>::value>::type> {
133133 std::map<K, V, Compare, Alloc> operator ()(msgpack::object const & o) const {
134134 if (o.type != msgpack::type::MAP) { throw msgpack::type_error (); }
135135 msgpack::object_kv* p (o.via .map .ptr );
@@ -222,7 +222,7 @@ struct object_with_zone<std::map<K, V, Compare, Alloc> > {
222222template <typename K, typename V, typename Compare, typename Alloc>
223223struct as <
224224 std::multimap<K, V, Compare, Alloc>,
225- typename std::enable_if<msgpack::has_as<K>::value && msgpack::has_as<V>::value>::type> {
225+ typename std::enable_if<msgpack::has_as<K>::value || msgpack::has_as<V>::value>::type> {
226226 std::multimap<K, V, Compare, Alloc> operator ()(msgpack::object const & o) const {
227227 if (o.type != msgpack::type::MAP) { throw msgpack::type_error (); }
228228 msgpack::object_kv* p (o.via .map .ptr );
0 commit comments