Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::bimaps::multiset_of< KeyType, KeyCompare > Struct Template Reference

Set Type Specification. More...

#include <multiset_of.hpp>

Inheritance diagram for boost::bimaps::multiset_of< KeyType, KeyCompare >:
Collaboration diagram for boost::bimaps::multiset_of< KeyType, KeyCompare >:

Classes

struct  lazy_concept_checked
 

Public Types

typedef KeyType user_type
 User type, can be tagged. More...
 
typedef
BOOST_DEDUCED_TYPENAME::boost::bimaps::tags::support::value_type_of
< user_type >::type 
value_type
 Type of the object that will be stored in the multiset. More...
 
typedef KeyCompare key_compare
 Functor that compare two keys. More...
 

Detailed Description

template<class KeyType, class KeyCompare = std::less< BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::value_type_of<KeyType>::type >>
struct boost::bimaps::multiset_of< KeyType, KeyCompare >

Set Type Specification.

This struct is used to specify a multiset specification. It is not a container, it is just a metaprogramming facility to express the type of a set. Generally, this specification will be used in other place to create a container. It has the same syntax that an std::set instantiation, except that the allocator cannot be specified. The rationale behind this difference is that the allocator is not part of the set type specification, rather it is a container configuration parameter. The first parameter is the type of the objects in the multiset, and the second one is a Functor that compares them. Bimap binding metafunctions can be used with this class in the following way:

using namespace support;
BOOST_STATIC_ASSERT( is_set_type_of< multiset_of<Type> >::value )
(
is_same
<
compute_index_type
<
multiset_of<Type,KeyCompare>,
KeyExtractor,
Tag
>::type
,
ordered_nonunique< tag<Tag>, KeyExtractor, KeyCompare >
>::value
)
typedef bimap
<
multiset_of<Type>, RightKeyType
> bimap_with_left_type_as_multiset;
(
is_same
<
compute_map_view_type
<
member_at::left,
bimap_with_left_type_as_multiset
>::type,
multimap_view< member_at::left, bimap_with_left_type_as_multiset >
>::value
)

See also multiset_of_relation.

Member Typedef Documentation

template<class KeyType , class KeyCompare = std::less< BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::value_type_of<KeyType>::type >>
typedef KeyCompare boost::bimaps::multiset_of< KeyType, KeyCompare >::key_compare

Functor that compare two keys.

template<class KeyType , class KeyCompare = std::less< BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::value_type_of<KeyType>::type >>
typedef KeyType boost::bimaps::multiset_of< KeyType, KeyCompare >::user_type

User type, can be tagged.

template<class KeyType , class KeyCompare = std::less< BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support::value_type_of<KeyType>::type >>
typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support:: value_type_of<user_type>::type boost::bimaps::multiset_of< KeyType, KeyCompare >::value_type

Type of the object that will be stored in the multiset.


The documentation for this struct was generated from the following file: