Freundlich's C++ toolkit
No Matches
Classes | Typedefs | Variables
fcppt::mpl::map Namespace Reference


struct  element
 The element type of a map.An element of a map is a key-value pair. More...
struct  object
 The map type used by this library. More...


template<fcppt::mpl::map::object_concept Map, typename Key >
using at = typename fcppt::mpl::map::detail::at< Map, Key >::type
 The value type associated with a key in a map.Let Map = map::object<element<K_1,V_1>,...,element<K_n,V_n>>, where Key = K_i for some 1 <= i <= n. Then the result is V_i.
template<fcppt::mpl::map::element_concept Element>
using element_key = typename fcppt::mpl::map::detail::element_key< Element >::type
 The key type of an element.Returns K if Element=map::element<K,V>.
template<fcppt::mpl::map::element_concept Element>
using element_value = typename fcppt::mpl::map::detail::element_value< Element >::type
 The value type of an element.Returns V if Element=map::element<K,V>.
template<fcppt::mpl::map::object_concept Map1, fcppt::mpl::map::object_concept Map2>
using equal = fcppt::mpl::apply< fcppt::mpl::if_< fcppt::mpl::set::equal< fcppt::mpl::map::keys< Map1 >, fcppt::mpl::map::keys< Map2 > >, fcppt::mpl::bind< fcppt::mpl::lambda< fcppt::mpl::map::detail::equal_impl::map_same_values >, fcppt::mpl::constant< Map1 >, fcppt::mpl::constant< Map2 > >, fcppt::mpl::constant< std::false_type > > >
 Checks if two maps are equal.
template<fcppt::mpl::map::object_concept Map>
using flip = typename fcppt::mpl::map::detail::flip< Map >::type
 Flips the key-value pairs inside a map.Let Map=map::object<element<K_1,V_1>,...,element<K_n,V_n>>. Then the result is.
template<fcppt::mpl::map::object_concept Map, typename Key >
using has_key = typename fcppt::mpl::map::detail::has_key< Map, Key >::type
 Checks if a map contains a key.Let Map = map::object<element<K_1,V_1>,...,element<K_n,V_n>>. If Key = K_i for some 1 <= i <= n, then the result is std::true_type. Otherwise, it is std::false_type.
template<fcppt::mpl::map::object_concept Map, typename Key , typename Value >
using insert = typename fcppt::mpl::map::detail::insert< Map, Key, Value >::type
 Inserts a new element into a map.Let Map = map::object<element<K_1,V_1>,...,element<K_n,V_n>>. Then the result is.
template<typename T >
using is_element = typename fcppt::mpl::map::detail::is_element< T >::type
 Checks if a type is a map element.T is a map element if an only if it is of the form fcppt::mpl::map::element<K,V> for some types K, V.
template<typename T >
using is_object = typename fcppt::mpl::map::detail::is_object< T >::type
 Checks if a type is a map.
template<fcppt::mpl::map::object_concept Map>
using keys = typename fcppt::mpl::map::detail::keys< Map >::type
 They keys of a map as a set.Let Map = map::object<element<K_1,V_1>,...,element<K_n,V_n>>. Then the result is.
template<fcppt::mpl::map::element_concept... Args>
using keys_unique = fcppt::mpl::list::distinct< fcppt::mpl::list::object< fcppt::mpl::map::element_key< Args >... > >
 Checks if the keys of elements are pairwise disjoint.Let Args=element<K_1,V_1>,...,element<K_n,V_n>. The result is std::true_type if all the keys K_1,...,K_n are pairwise disjoint. Otherwise, it is std::false_type.


template<fcppt::mpl::map::object_concept Map1, fcppt::mpl::map::object_concept Map2>
constexpr bool equal_v = fcppt::mpl::map::equal<Map1,Map2>::value
 Checks if two maps are equal.
template<fcppt::mpl::map::object_concept Map, typename Key >
constexpr bool has_key_v = fcppt::mpl::map::has_key<Map,Key>::value
 Checks if a map contains a key.