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

Set Type Specification. More...

#include <vector_of.hpp>

Inheritance diagram for boost::bimaps::vector_of< Type >:
Collaboration diagram for boost::bimaps::vector_of< Type >:

Classes

struct  lazy_concept_checked
 

Public Types

typedef Type 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 vector. More...
 

Detailed Description

template<class Type>
struct boost::bimaps::vector_of< Type >

Set Type Specification.

This struct is used to specify a set 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::vector 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 set, 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< vector_of<Type> >::value )
(
is_same
<
vector_of<Type>::index_bind
<
KeyExtractor,
Tag
>::type,
random_access< tag<Tag>, KeyExtractor >
>::value
)
typedef bimap
<
vector_of<Type>, RightKeyType
> bimap_with_left_type_as_vector;
(
is_same
<
vector_of<Type>::map_view_bind
<
member_at::left,
bimap_with_left_type_as_vector
>::type,
vector_map_view< member_at::left, bimap_with_left_type_as_vector >
>::value
)

See also vector_of_relation.

Member Typedef Documentation

template<class Type >
typedef Type boost::bimaps::vector_of< Type >::user_type

User type, can be tagged.

template<class Type >
typedef BOOST_DEDUCED_TYPENAME ::boost::bimaps::tags::support:: value_type_of<user_type>::type boost::bimaps::vector_of< Type >::value_type

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


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