Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator > Singleton Reference

#include <multi_index_container_fwd.hpp>

Inheritance diagram for boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >:
Collaboration diagram for boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >:

Classes

struct  index
 
struct  index_const_iterator
 
struct  index_iterator
 
struct  nth_index
 
struct  nth_index_const_iterator
 
struct  nth_index_iterator
 

Public Types

typedef super::ctor_args_list ctor_args_list
 
typedef IndexSpecifierList index_specifier_type_list
 
typedef super::index_type_list index_type_list
 
typedef super::iterator_type_list iterator_type_list
 
typedef
super::const_iterator_type_list 
const_iterator_type_list
 
typedef super::value_type value_type
 
typedef super::final_allocator_type allocator_type
 
typedef super::iterator iterator
 
typedef super::const_iterator const_iterator
 
typedef super::node_type node_type
 
typedef super::index_saver_type index_saver_type
 
typedef super::index_loader_type index_loader_type
 

Public Member Functions

 BOOST_STATIC_ASSERT (detail::no_duplicate_tags_in_index_list< index_type_list >::value)
 
 multi_index_container (const ctor_args_list &args_list=ctor_args_list(), const allocator_type &al=allocator_type())
 
 multi_index_container (const allocator_type &al)
 
template<typename InputIterator >
 multi_index_container (InputIterator first, InputIterator last, const ctor_args_list &args_list=ctor_args_list(), const allocator_type &al=allocator_type())
 
 multi_index_container (std::initializer_list< Value > list, const ctor_args_list &args_list=ctor_args_list(), const allocator_type &al=allocator_type())
 
 multi_index_container (const multi_index_container< Value, IndexSpecifierList, Allocator > &x)
 
 multi_index_container (BOOST_RV_REF(multi_index_container) x)
 
 ~multi_index_container ()
 
multi_index_container< Value,
IndexSpecifierList, Allocator > & 
operator= (BOOST_COPY_ASSIGN_REF(multi_index_container) x)
 
multi_index_container< Value,
IndexSpecifierList, Allocator > & 
operator= (BOOST_RV_REF(multi_index_container) x)
 
multi_index_container< Value,
IndexSpecifierList, Allocator > & 
operator= (std::initializer_list< Value > list)
 
allocator_type get_allocator () const BOOST_NOEXCEPT
 
template<int N>
nth_index< N >::typeget () BOOST_NOEXCEPT
 
template<int N>
const nth_index< N >::typeget () const BOOST_NOEXCEPT
 
template<typename Tag >
index< Tag >::typeget () BOOST_NOEXCEPT
 
template<typename Tag >
const index< Tag >::typeget () const BOOST_NOEXCEPT
 
template<int N, typename IteratorType >
nth_index_iterator< N >::type project (IteratorType it)
 
template<int N, typename IteratorType >
nth_index_const_iterator< N >::type project (IteratorType it) const
 
template<typename Tag , typename IteratorType >
index_iterator< Tag >::type project (IteratorType it)
 
template<typename Tag , typename IteratorType >
index_const_iterator< Tag >::type project (IteratorType it) const
 
 multi_index_container (const multi_index_container< Value, IndexSpecifierList, Allocator > &x, detail::do_not_copy_elements_tag)
 
node_typeheader () const
 
node_typeallocate_node ()
 
void deallocate_node (node_type *x)
 
bool empty_ () const
 
std::size_t size_ () const
 
std::size_t max_size_ () const
 
template<typename Variant >
std::pair< node_type *, bool > insert_ (const Value &v, Variant variant)
 
std::pair< node_type *, bool > insert_ (const Value &v)
 
std::pair< node_type *, bool > insert_rv_ (const Value &v)
 
template<typename T >
std::pair< node_type *, bool > insert_ref_ (T &t)
 
std::pair< node_type *, bool > insert_ref_ (const value_type &x)
 
std::pair< node_type *, bool > insert_ref_ (value_type &x)
 
template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK >
std::pair< node_type *, bool > emplace_ (BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
 
template<typename Variant >
std::pair< node_type *, bool > insert_ (const Value &v, node_type *position, Variant variant)
 
std::pair< node_type *, bool > insert_ (const Value &v, node_type *position)
 
std::pair< node_type *, bool > insert_rv_ (const Value &v, node_type *position)
 
template<typename T >
std::pair< node_type *, bool > insert_ref_ (T &t, node_type *position)
 
std::pair< node_type *, bool > insert_ref_ (const value_type &x, node_type *position)
 
std::pair< node_type *, bool > insert_ref_ (value_type &x, node_type *position)
 
template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK >
std::pair< node_type *, bool > emplace_hint_ (node_type *position, BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK)
 
void erase_ (node_type *x)
 
void delete_node_ (node_type *x)
 
void delete_all_nodes_ ()
 
void clear_ ()
 
void swap_ (multi_index_container< Value, IndexSpecifierList, Allocator > &x)
 
void swap_elements_ (multi_index_container< Value, IndexSpecifierList, Allocator > &x)
 
bool replace_ (const Value &k, node_type *x)
 
bool replace_rv_ (const Value &k, node_type *x)
 
template<typename Modifier >
bool modify_ (Modifier &mod, node_type *x)
 
template<typename Modifier , typename Rollback >
bool modify_ (Modifier &mod, Rollback &back_, node_type *x)
 
template<class Archive >
void save (Archive &ar, const unsigned int version) const
 
template<class Archive >
void load (Archive &ar, const unsigned int version)
 

Public Attributes

BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS __pad0__: typedef typename super::copy_map_type copy_map_type
 

Private Attributes

boost::detail::allocator::rebind_to
< Allocator,
detail::multi_index_node_type
< Value, IndexSpecifierList,
Allocator >::type >::type 
member
 

Friends

template<typename , typename , typename >
class detail::index_base
 
template<typename , typename >
struct detail::header_holder
 
template<typename , typename >
struct detail::converter
 
class boost::serialization::access
 

Member Typedef Documentation

template<typename Value, typename IndexSpecifierList, typename Allocator>
typedef super::final_allocator_type boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::allocator_type
template<typename Value, typename IndexSpecifierList, typename Allocator>
typedef super::const_iterator boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::const_iterator
template<typename Value, typename IndexSpecifierList, typename Allocator>
typedef super::const_iterator_type_list boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::const_iterator_type_list
template<typename Value, typename IndexSpecifierList, typename Allocator>
typedef super::ctor_args_list boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::ctor_args_list
template<typename Value, typename IndexSpecifierList, typename Allocator>
typedef super::index_loader_type boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::index_loader_type
template<typename Value, typename IndexSpecifierList, typename Allocator>
typedef super::index_saver_type boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::index_saver_type
template<typename Value, typename IndexSpecifierList, typename Allocator>
typedef IndexSpecifierList boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::index_specifier_type_list
template<typename Value, typename IndexSpecifierList, typename Allocator>
typedef super::index_type_list boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::index_type_list
template<typename Value, typename IndexSpecifierList, typename Allocator>
typedef super::iterator boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::iterator
template<typename Value, typename IndexSpecifierList, typename Allocator>
typedef super::iterator_type_list boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::iterator_type_list
template<typename Value, typename IndexSpecifierList, typename Allocator>
typedef super::node_type boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::node_type
template<typename Value, typename IndexSpecifierList, typename Allocator>
typedef super::value_type boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::value_type

Constructor & Destructor Documentation

template<typename Value, typename IndexSpecifierList, typename Allocator>
boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::multi_index_container ( const ctor_args_list args_list = ctor_args_list(),
const allocator_type al = allocator_type() 
)
inlineexplicit
template<typename Value, typename IndexSpecifierList, typename Allocator>
boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::multi_index_container ( const allocator_type al)
inlineexplicit
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<typename InputIterator >
boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::multi_index_container ( InputIterator  first,
InputIterator  last,
const ctor_args_list args_list = ctor_args_list(),
const allocator_type al = allocator_type() 
)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::multi_index_container ( std::initializer_list< Value >  list,
const ctor_args_list args_list = ctor_args_list(),
const allocator_type al = allocator_type() 
)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::multi_index_container ( const multi_index_container< Value, IndexSpecifierList, Allocator > &  x)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::multi_index_container ( BOOST_RV_REF(multi_index_container< Value, IndexSpecifierList, Allocator >)  x)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::~multi_index_container ( )
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::multi_index_container ( const multi_index_container< Value, IndexSpecifierList, Allocator > &  x,
detail::do_not_copy_elements_tag   
)
inline

Member Function Documentation

template<typename Value, typename IndexSpecifierList, typename Allocator>
void boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::deallocate_node ( node_type x)
inline

Referenced by boost::multi_index::multi_index_container< adjacency_list_traits< listS, listS, bidirectionalS, listS >::vertex_descriptor, multi_index::indexed_by< multi_index::hashed_unique< multi_index::tag< vertex_name_t >, extract_name_from_vertex > > >::delete_node_(), boost::multi_index::multi_index_container< adjacency_list_traits< listS, listS, bidirectionalS, listS >::vertex_descriptor, multi_index::indexed_by< multi_index::hashed_unique< multi_index::tag< vertex_name_t >, extract_name_from_vertex > > >::emplace_(), boost::multi_index::multi_index_container< adjacency_list_traits< listS, listS, bidirectionalS, listS >::vertex_descriptor, multi_index::indexed_by< multi_index::hashed_unique< multi_index::tag< vertex_name_t >, extract_name_from_vertex > > >::emplace_hint_(), boost::multi_index::multi_index_container< adjacency_list_traits< listS, listS, bidirectionalS, listS >::vertex_descriptor, multi_index::indexed_by< multi_index::hashed_unique< multi_index::tag< vertex_name_t >, extract_name_from_vertex > > >::erase_(), boost::multi_index::multi_index_container< adjacency_list_traits< listS, listS, bidirectionalS, listS >::vertex_descriptor, multi_index::indexed_by< multi_index::hashed_unique< multi_index::tag< vertex_name_t >, extract_name_from_vertex > > >::insert_ref_(), and boost::multi_index::multi_index_container< adjacency_list_traits< listS, listS, bidirectionalS, listS >::vertex_descriptor, multi_index::indexed_by< multi_index::hashed_unique< multi_index::tag< vertex_name_t >, extract_name_from_vertex > > >::modify_().

template<typename Value, typename IndexSpecifierList, typename Allocator>
void boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::delete_node_ ( node_type x)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK >
std::pair<node_type*,bool> boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::emplace_ ( BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK  )
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<BOOST_MULTI_INDEX_TEMPLATE_PARAM_PACK >
std::pair<node_type*,bool> boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::emplace_hint_ ( node_type position,
BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK   
)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
bool boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::empty_ ( ) const
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<int N>
nth_index<N>::type& boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::get ( )
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<int N>
const nth_index<N>::type& boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::get ( ) const
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<typename Tag >
index<Tag>::type& boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::get ( )
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<typename Tag >
const index<Tag>::type& boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::get ( ) const
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
allocator_type boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::get_allocator ( void  ) const
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<typename Variant >
std::pair<node_type*,bool> boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::insert_ ( const Value &  v,
Variant  variant 
)
inline

Referenced by boost::multi_index::multi_index_container< adjacency_list_traits< listS, listS, bidirectionalS, listS >::vertex_descriptor, multi_index::indexed_by< multi_index::hashed_unique< multi_index::tag< vertex_name_t >, extract_name_from_vertex > > >::insert_(), boost::multi_index::multi_index_container< adjacency_list_traits< listS, listS, bidirectionalS, listS >::vertex_descriptor, multi_index::indexed_by< multi_index::hashed_unique< multi_index::tag< vertex_name_t >, extract_name_from_vertex > > >::insert_ref_(), boost::multi_index::multi_index_container< adjacency_list_traits< listS, listS, bidirectionalS, listS >::vertex_descriptor, multi_index::indexed_by< multi_index::hashed_unique< multi_index::tag< vertex_name_t >, extract_name_from_vertex > > >::insert_rv_(), boost::multi_index::multi_index_container< adjacency_list_traits< listS, listS, bidirectionalS, listS >::vertex_descriptor, multi_index::indexed_by< multi_index::hashed_unique< multi_index::tag< vertex_name_t >, extract_name_from_vertex > > >::load(), boost::multi_index::multi_index_container< adjacency_list_traits< listS, listS, bidirectionalS, listS >::vertex_descriptor, multi_index::indexed_by< multi_index::hashed_unique< multi_index::tag< vertex_name_t >, extract_name_from_vertex > > >::multi_index_container(), and boost::multi_index::multi_index_container< adjacency_list_traits< listS, listS, bidirectionalS, listS >::vertex_descriptor, multi_index::indexed_by< multi_index::hashed_unique< multi_index::tag< vertex_name_t >, extract_name_from_vertex > > >::operator=().

template<typename Value, typename IndexSpecifierList, typename Allocator>
std::pair<node_type*,bool> boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::insert_ ( const Value &  v)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<typename Variant >
std::pair<node_type*,bool> boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::insert_ ( const Value &  v,
node_type position,
Variant  variant 
)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
std::pair<node_type*,bool> boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::insert_ ( const Value &  v,
node_type position 
)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
std::pair<node_type*,bool> boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::insert_ref_ ( const value_type x)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
std::pair<node_type*,bool> boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::insert_ref_ ( value_type x)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<typename T >
std::pair<node_type*,bool> boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::insert_ref_ ( T t,
node_type position 
)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
std::pair<node_type*,bool> boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::insert_ref_ ( const value_type x,
node_type position 
)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
std::pair<node_type*,bool> boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::insert_ref_ ( value_type x,
node_type position 
)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
std::pair<node_type*,bool> boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::insert_rv_ ( const Value &  v)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
std::pair<node_type*,bool> boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::insert_rv_ ( const Value &  v,
node_type position 
)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<class Archive >
void boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::load ( Archive &  ar,
const unsigned int  version 
)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
std::size_t boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::max_size_ ( ) const
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<typename Modifier >
bool boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::modify_ ( Modifier &  mod,
node_type x 
)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<typename Modifier , typename Rollback >
bool boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::modify_ ( Modifier &  mod,
Rollback &  back_,
node_type x 
)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
multi_index_container<Value,IndexSpecifierList,Allocator>& boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::operator= ( BOOST_COPY_ASSIGN_REF(multi_index_container< Value, IndexSpecifierList, Allocator >)  x)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
multi_index_container<Value,IndexSpecifierList,Allocator>& boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::operator= ( BOOST_RV_REF(multi_index_container< Value, IndexSpecifierList, Allocator >)  x)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
multi_index_container<Value,IndexSpecifierList,Allocator>& boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::operator= ( std::initializer_list< Value >  list)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<int N, typename IteratorType >
nth_index_iterator<N>::type boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::project ( IteratorType  it)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<int N, typename IteratorType >
nth_index_const_iterator<N>::type boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::project ( IteratorType  it) const
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<typename Tag , typename IteratorType >
index_iterator<Tag>::type boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::project ( IteratorType  it)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<typename Tag , typename IteratorType >
index_const_iterator<Tag>::type boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::project ( IteratorType  it) const
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
bool boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::replace_ ( const Value &  k,
node_type x 
)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
bool boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::replace_rv_ ( const Value &  k,
node_type x 
)
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<class Archive >
void boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::save ( Archive &  ar,
const unsigned int  version 
) const
inline
template<typename Value, typename IndexSpecifierList, typename Allocator>
void boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::swap_ ( multi_index_container< Value, IndexSpecifierList, Allocator > &  x)
inline

Friends And Related Function Documentation

template<typename Value, typename IndexSpecifierList, typename Allocator>
friend class boost::serialization::access
friend
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<typename , typename >
friend struct detail::converter
friend
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<typename , typename >
friend struct detail::header_holder
friend
template<typename Value, typename IndexSpecifierList, typename Allocator>
template<typename , typename , typename >
friend class detail::index_base
friend

Member Data Documentation

template<typename Value, typename IndexSpecifierList, typename Allocator>
BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS boost::multi_index::multi_index_container< Value, IndexSpecifierList, Allocator >::__pad0__

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