This commit is contained in:
Niels Lohmann 2018-10-30 17:29:05 +01:00
parent 856fc31d0a
commit 8cee0e38d9
No known key found for this signature in database
GPG key ID: 7F3CEA63AE251B69
2 changed files with 8 additions and 18 deletions

View file

@ -191,15 +191,10 @@ struct is_constructible_object_type_impl <
using object_t = typename BasicJsonType::object_t; using object_t = typename BasicJsonType::object_t;
static constexpr bool value = static constexpr bool value =
std::is_constructible<typename ConstructibleObjectType::key_type, (std::is_constructible<typename ConstructibleObjectType::key_type, typename object_t::key_type>::value and
typename object_t::key_type>::value and std::is_same<typename object_t::mapped_type, typename ConstructibleObjectType::mapped_type>::value) or
(std::is_same<typename object_t::mapped_type, (has_from_json<BasicJsonType, typename ConstructibleObjectType::mapped_type>::value or
typename ConstructibleObjectType::mapped_type>::value or has_non_default_from_json<BasicJsonType, typename ConstructibleObjectType::mapped_type >::value);
(has_from_json<BasicJsonType,
typename ConstructibleObjectType::mapped_type>::value or
has_non_default_from_json <
BasicJsonType,
typename ConstructibleObjectType::mapped_type >::value));
}; };
template <typename BasicJsonType, typename ConstructibleObjectType> template <typename BasicJsonType, typename ConstructibleObjectType>

View file

@ -582,15 +582,10 @@ struct is_constructible_object_type_impl <
using object_t = typename BasicJsonType::object_t; using object_t = typename BasicJsonType::object_t;
static constexpr bool value = static constexpr bool value =
std::is_constructible<typename ConstructibleObjectType::key_type, (std::is_constructible<typename ConstructibleObjectType::key_type, typename object_t::key_type>::value and
typename object_t::key_type>::value and std::is_same<typename object_t::mapped_type, typename ConstructibleObjectType::mapped_type>::value) or
(std::is_same<typename object_t::mapped_type, (has_from_json<BasicJsonType, typename ConstructibleObjectType::mapped_type>::value or
typename ConstructibleObjectType::mapped_type>::value or has_non_default_from_json<BasicJsonType, typename ConstructibleObjectType::mapped_type >::value);
(has_from_json<BasicJsonType,
typename ConstructibleObjectType::mapped_type>::value or
has_non_default_from_json <
BasicJsonType,
typename ConstructibleObjectType::mapped_type >::value));
}; };
template <typename BasicJsonType, typename ConstructibleObjectType> template <typename BasicJsonType, typename ConstructibleObjectType>