is_map_like
Determine if T can be treated like a 1-to-1 mapping during conversions.
Synopsis
Defined in header <boost/json/conversion.hpp>.
template<
class T>
struct is_map_like;
|
This trait is deprecated and will be removed in Boost 1.92.0. Switch to using |
Given t, a glvalue of type T, if
-
is_sequence_like<T>::valueistrue; and -
given type
Itdenotingdecltype(std::begin(t)), and typesKandM,std::iterator_traits<It>::value_typedenotesstd::pair<K, M>; and -
std::is_string_like<K>::valueistrue; and -
given
v, a glvalue of typeV, andE, the type denoted bydecltype(t.emplace(v)),std::is_tuple_like<E>::valueistrue;
then the trait provides the member constant value that is equal to true. Otherwise, value is equal to false.
Users can specialize the trait for their own types if they don’t want them to be treated like mappings. For example:
namespace boost {
namespace json {
template <>
struct is_map_like<your::map> : std::false_type
{ };
} // namespace boost
} // namespace json
|
The restriction for |
Types Satisfying The Trait
See Also
Convenience header <boost/json.hpp>.