exclude iterators from KeyType

parent 69d74d4e
...@@ -399,11 +399,13 @@ struct is_constructible_tuple<T1, std::tuple<Args...>> : conjunction<std::is_con ...@@ -399,11 +399,13 @@ struct is_constructible_tuple<T1, std::tuple<Args...>> : conjunction<std::is_con
template<typename BasicJsonType, typename KeyType> template<typename BasicJsonType, typename KeyType>
struct is_key_type struct is_key_type
{ {
static constexpr bool value = static constexpr bool value = (
#if defined(JSON_HAS_CPP_17) #if defined(JSON_HAS_CPP_17)
std::is_same<typename std::decay<KeyType>::type, std::string_view>::value || std::is_same<typename std::decay<KeyType>::type, std::string_view>::value ||
#endif #endif
std::is_convertible<KeyType, typename BasicJsonType::object_t::key_type>::value; std::is_convertible<KeyType, typename BasicJsonType::object_t::key_type>::value)
&& !std::is_same<KeyType, typename BasicJsonType::iterator>::value
&& !std::is_same<KeyType, typename BasicJsonType::const_iterator>::value;
}; };
} // namespace detail } // namespace detail
......
...@@ -3776,11 +3776,13 @@ struct is_constructible_tuple<T1, std::tuple<Args...>> : conjunction<std::is_con ...@@ -3776,11 +3776,13 @@ struct is_constructible_tuple<T1, std::tuple<Args...>> : conjunction<std::is_con
template<typename BasicJsonType, typename KeyType> template<typename BasicJsonType, typename KeyType>
struct is_key_type struct is_key_type
{ {
static constexpr bool value = static constexpr bool value = (
#if defined(JSON_HAS_CPP_17) #if defined(JSON_HAS_CPP_17)
std::is_same<typename std::decay<KeyType>::type, std::string_view>::value || std::is_same<typename std::decay<KeyType>::type, std::string_view>::value ||
#endif #endif
std::is_convertible<KeyType, typename BasicJsonType::object_t::key_type>::value; std::is_convertible<KeyType, typename BasicJsonType::object_t::key_type>::value)
&& !std::is_same<KeyType, typename BasicJsonType::iterator>::value
&& !std::is_same<KeyType, typename BasicJsonType::const_iterator>::value;
}; };
} // namespace detail } // namespace detail
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment