Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::container Namespace Reference

Namespaces

 allocator_traits_detail
 
 container_detail
 
 container_detail_really_deep_namespace
 
 stable_vector_detail
 

Classes

singleton  adaptive_pool
 An STL node allocator that uses a modified DLMalloc as memory source. More...
 
singleton  allocator
 If Version is 1, the allocator is a STL conforming allocator. More...
 
class  allocator< void, Version, AllocationDisableMask >
 
struct  allocator_arg_t
 The allocator_arg_t struct is an empty structure type used as a unique type to disambiguate constructor and function overloading. More...
 
struct  allocator_traits
 The class template allocator_traits supplies a uniform interface to all allocator types. More...
 
class  basic_string
 The basic_string class represents a Sequence of characters. More...
 
struct  constructible_with_allocator_prefix
 Remark: if a specialization is derived from true_type, indicates that T may be constructed with allocator_arg and T::allocator_type as its first two constructor arguments. More...
 
struct  constructible_with_allocator_suffix
 Remark: if a specialization is derived from true_type, indicates that T may be constructed with an allocator as its last constructor argument. More...
 
struct  default_init_t
 Type used to tag that the inserted values should be default initialized. More...
 
class  deque
 
class  deque_base
 
struct  deque_buf_size
 
struct  deque_value_traits
 
class  flat_map
 A flat_map is a kind of associative container that supports unique keys (contains at most one of each key value) and provides for fast retrieval of values of another type T based on the keys. More...
 
class  flat_multimap
 A flat_multimap is a kind of associative container that supports equivalent keys (possibly containing multiple copies of the same key value) and provides for fast retrieval of values of another type T based on the keys. More...
 
class  flat_multiset
 flat_multiset is a Sorted Associative Container that stores objects of type Key. More...
 
class  flat_set
 flat_set is a Sorted Associative Container that stores objects of type Key. More...
 
struct  is_scoped_allocator
 
class  list
 A list is a doubly linked list. More...
 
class  map
 
class  multimap
 
class  multiset
 
class  node_allocator
 An STL node allocator that uses a modified DlMalloc as memory source. More...
 
struct  ordered_range_t
 Type used to tag that the input range is guaranteed to be ordered. More...
 
struct  ordered_unique_range_t
 Type used to tag that the input range is guaranteed to be ordered and unique. More...
 
struct  outermost_allocator
 
singleton  scoped_allocator_adaptor
 This class is a C++03-compatible implementation of std::scoped_allocator_adaptor. More...
 
class  set
 
class  slist
 An slist is a singly linked list: a list where each element is linked to the next element, but not to the previous element. More...
 
class  stable_vector
 Originally developed by Joaquin M. More...
 
class  stable_vector_iterator
 
class  static_vector
 A variable-size array container with fixed capacity. More...
 
struct  tree_assoc_options
 defined(BOOST_CONTAINER_DOXYGEN_INVOKED) More...
 
struct  tree_opt
 
struct  uses_allocator
 Remark: Automatically detects if T has a nested allocator_type that is convertible from Alloc. More...
 
struct  value_init_t
 Type used to tag that the inserted values should be value initialized. More...
 
class  vector
 A vector is a sequence that supports random access to elements, constant time insertion and removal of elements at the end, and linear time insertion and removal of elements at the beginning or in the middle. More...
 

Typedefs

typedef tree_opt
< red_black_tree, true > 
tree_assoc_defaults
 
typedef basic_string< char,std::char_traits
< char >,std::allocator< char > > 
string
 
typedef basic_string< wchar_t,std::char_traits
< wchar_t >,std::allocator
< wchar_t > > 
wstring
 

Enumerations

enum  tree_type_enum {
  red_black_tree,
  avl_tree,
  scapegoat_tree,
  splay_tree
}
 Enumeration used to configure ordered associative containers with a concrete tree implementation. More...
 

Functions

template<typename Alloc >
container_detail::outermost_allocator_imp
< Alloc >::type
get_outermost_allocator (Alloc &a)
 
template<typename Alloc >
const
container_detail::outermost_allocator_imp
< Alloc >::type
get_outermost_allocator (const Alloc &a)
 
template<typename OuterA1 , typename OuterA2 , typename... InnerAllocs>
bool operator== (const scoped_allocator_adaptor< OuterA1, InnerAllocs... > &a, const scoped_allocator_adaptor< OuterA2, InnerAllocs... > &b)
 
template<typename OuterA1 , typename OuterA2 , typename... InnerAllocs>
bool operator!= (const scoped_allocator_adaptor< OuterA1, InnerAllocs... > &a, const scoped_allocator_adaptor< OuterA2, InnerAllocs... > &b)
 
template<typename V , std::size_t C1, std::size_t C2>
void swap (static_vector< V, C1 > &x, static_vector< V, C2 > &y, typename container_detail::enable_if_c< C1!=C2 >::type *=0)
 
template<class CharT , class Traits , class Allocator >
basic_string< CharT, Traits,
Allocator > 
operator+ (const basic_string< CharT, Traits, Allocator > &x, const basic_string< CharT, Traits, Allocator > &y)
 
template<class CharT , class Traits , class Allocator >
basic_string< CharT, Traits,
Allocator > 
operator+ (BOOST_RV_REF_BEG basic_string< CharT, Traits, Allocator > BOOST_RV_REF_END mx, BOOST_RV_REF_BEG basic_string< CharT, Traits, Allocator > BOOST_RV_REF_END my)
 
template<class CharT , class Traits , class Allocator >
basic_string< CharT, Traits,
Allocator > 
operator+ (BOOST_RV_REF_BEG basic_string< CharT, Traits, Allocator > BOOST_RV_REF_END mx, const basic_string< CharT, Traits, Allocator > &y)
 
template<class CharT , class Traits , class Allocator >
basic_string< CharT, Traits,
Allocator > 
operator+ (const basic_string< CharT, Traits, Allocator > &x, BOOST_RV_REF_BEG basic_string< CharT, Traits, Allocator > BOOST_RV_REF_END my)
 
template<class CharT , class Traits , class Allocator >
basic_string< CharT, Traits,
Allocator > 
operator+ (const CharT *s, basic_string< CharT, Traits, Allocator > y)
 
template<class CharT , class Traits , class Allocator >
basic_string< CharT, Traits,
Allocator > 
operator+ (basic_string< CharT, Traits, Allocator > x, const CharT *s)
 
template<class CharT , class Traits , class Allocator >
basic_string< CharT, Traits,
Allocator > 
operator+ (CharT c, basic_string< CharT, Traits, Allocator > y)
 
template<class CharT , class Traits , class Allocator >
basic_string< CharT, Traits,
Allocator > 
operator+ (basic_string< CharT, Traits, Allocator > x, const CharT c)
 
template<class CharT , class Traits , class Allocator >
bool operator== (const basic_string< CharT, Traits, Allocator > &x, const basic_string< CharT, Traits, Allocator > &y)
 
template<class CharT , class Traits , class Allocator >
bool operator== (const CharT *s, const basic_string< CharT, Traits, Allocator > &y)
 
template<class CharT , class Traits , class Allocator >
bool operator== (const basic_string< CharT, Traits, Allocator > &x, const CharT *s)
 
template<class CharT , class Traits , class Allocator >
bool operator!= (const basic_string< CharT, Traits, Allocator > &x, const basic_string< CharT, Traits, Allocator > &y)
 
template<class CharT , class Traits , class Allocator >
bool operator!= (const CharT *s, const basic_string< CharT, Traits, Allocator > &y)
 
template<class CharT , class Traits , class Allocator >
bool operator!= (const basic_string< CharT, Traits, Allocator > &x, const CharT *s)
 
template<class CharT , class Traits , class Allocator >
bool operator< (const basic_string< CharT, Traits, Allocator > &x, const basic_string< CharT, Traits, Allocator > &y)
 
template<class CharT , class Traits , class Allocator >
bool operator< (const CharT *s, const basic_string< CharT, Traits, Allocator > &y)
 
template<class CharT , class Traits , class Allocator >
bool operator< (const basic_string< CharT, Traits, Allocator > &x, const CharT *s)
 
template<class CharT , class Traits , class Allocator >
bool operator> (const basic_string< CharT, Traits, Allocator > &x, const basic_string< CharT, Traits, Allocator > &y)
 
template<class CharT , class Traits , class Allocator >
bool operator> (const CharT *s, const basic_string< CharT, Traits, Allocator > &y)
 
template<class CharT , class Traits , class Allocator >
bool operator> (const basic_string< CharT, Traits, Allocator > &x, const CharT *s)
 
template<class CharT , class Traits , class Allocator >
bool operator<= (const basic_string< CharT, Traits, Allocator > &x, const basic_string< CharT, Traits, Allocator > &y)
 
template<class CharT , class Traits , class Allocator >
bool operator<= (const CharT *s, const basic_string< CharT, Traits, Allocator > &y)
 
template<class CharT , class Traits , class Allocator >
bool operator<= (const basic_string< CharT, Traits, Allocator > &x, const CharT *s)
 
template<class CharT , class Traits , class Allocator >
bool operator>= (const basic_string< CharT, Traits, Allocator > &x, const basic_string< CharT, Traits, Allocator > &y)
 
template<class CharT , class Traits , class Allocator >
bool operator>= (const CharT *s, const basic_string< CharT, Traits, Allocator > &y)
 
template<class CharT , class Traits , class Allocator >
bool operator>= (const basic_string< CharT, Traits, Allocator > &x, const CharT *s)
 
template<class CharT , class Traits , class Allocator >
void swap (basic_string< CharT, Traits, Allocator > &x, basic_string< CharT, Traits, Allocator > &y)
 
template<class CharT , class Traits , class Allocator >
std::basic_ostream< CharT,
Traits > & 
operator<< (std::basic_ostream< CharT, Traits > &os, const basic_string< CharT, Traits, Allocator > &s)
 
template<class CharT , class Traits , class Allocator >
std::basic_istream< CharT,
Traits > & 
operator>> (std::basic_istream< CharT, Traits > &is, basic_string< CharT, Traits, Allocator > &s)
 
template<class CharT , class Traits , class Allocator >
std::basic_istream< CharT,
Traits > & 
getline (std::istream &is, basic_string< CharT, Traits, Allocator > &s, CharT delim)
 
template<class CharT , class Traits , class Allocator >
std::basic_istream< CharT,
Traits > & 
getline (std::basic_istream< CharT, Traits > &is, basic_string< CharT, Traits, Allocator > &s)
 
template<class Ch , class Allocator >
std::size_t hash_value (basic_string< Ch, std::char_traits< Ch >, Allocator > const &v)
 
void throw_bad_alloc ()
 Exception callback called by Boost.Container when fails to allocate the requested storage space. More...
 
void throw_out_of_range (const char *str)
 Exception callback called by Boost.Container to signal arguments out of range. More...
 
void throw_length_error (const char *str)
 Exception callback called by Boost.Container to signal errors resizing. More...
 
void throw_logic_error (const char *str)
 Exception callback called by Boost.Container to report errors in the internal logical of the program, such as violation of logical preconditions or class invariants. More...
 
void throw_runtime_error (const char *str)
 Exception callback called by Boost.Container to report errors that can only be detected during runtime. More...
 
template<class Pointer , bool IsConst>
const Pointer & vector_iterator_get_ptr (const container_detail::vec_iterator< Pointer, IsConst > &it) BOOST_CONTAINER_NOEXCEPT
 
template<class Pointer , bool IsConst>
Pointer & get_ptr (container_detail::vec_iterator< Pointer, IsConst > &it) BOOST_CONTAINER_NOEXCEPT
 

Typedef Documentation

typedef basic_string<char ,std::char_traits<char> ,std::allocator<char> > boost::container::string
typedef basic_string<wchar_t ,std::char_traits<wchar_t> ,std::allocator<wchar_t> > boost::container::wstring

Enumeration Type Documentation

Enumeration used to configure ordered associative containers with a concrete tree implementation.

Enumerator
red_black_tree 
avl_tree 
scapegoat_tree 
splay_tree 

Function Documentation

template<typename Alloc >
const container_detail::outermost_allocator_imp<Alloc>::type& boost::container::get_outermost_allocator ( const Alloc &  a)
template<class Pointer , bool IsConst>
Pointer& boost::container::get_ptr ( container_detail::vec_iterator< Pointer, IsConst > &  it)

References boost::it.

template<class CharT , class Traits , class Allocator >
std::basic_istream<CharT, Traits>& boost::container::getline ( std::basic_istream< CharT, Traits > &  is,
basic_string< CharT, Traits, Allocator > &  s 
)
inline

References getline().

template<class Ch , class Allocator >
std::size_t boost::container::hash_value ( basic_string< Ch, std::char_traits< Ch >, Allocator > const &  v)
inline

References boost::hash_range().

template<typename OuterA1 , typename OuterA2 , typename... InnerAllocs>
bool boost::container::operator!= ( const scoped_allocator_adaptor< OuterA1, InnerAllocs... > &  a,
const scoped_allocator_adaptor< OuterA2, InnerAllocs... > &  b 
)
inline

References boost::a, and boost::asio::b.

template<class CharT , class Traits , class Allocator >
bool boost::container::operator!= ( const basic_string< CharT, Traits, Allocator > &  x,
const basic_string< CharT, Traits, Allocator > &  y 
)
inline

References boost::polygon::y().

template<class CharT , class Traits , class Allocator >
bool boost::container::operator!= ( const CharT *  s,
const basic_string< CharT, Traits, Allocator > &  y 
)
inline

References boost::polygon::y().

template<class CharT , class Traits , class Allocator >
bool boost::container::operator!= ( const basic_string< CharT, Traits, Allocator > &  x,
const CharT *  s 
)
inline

References boost::asio::s.

template<class CharT , class Traits , class Allocator >
basic_string<CharT,Traits,Allocator> boost::container::operator+ ( const basic_string< CharT, Traits, Allocator > &  x,
const basic_string< CharT, Traits, Allocator > &  y 
)
inline
template<class CharT , class Traits , class Allocator >
basic_string<CharT, Traits, Allocator> boost::container::operator+ ( BOOST_RV_REF_BEG basic_string< CharT, Traits, Allocator > BOOST_RV_REF_END  mx,
BOOST_RV_REF_BEG basic_string< CharT, Traits, Allocator > BOOST_RV_REF_END  my 
)
inline

References boost::move().

template<class CharT , class Traits , class Allocator >
basic_string<CharT, Traits, Allocator> boost::container::operator+ ( BOOST_RV_REF_BEG basic_string< CharT, Traits, Allocator > BOOST_RV_REF_END  mx,
const basic_string< CharT, Traits, Allocator > &  y 
)
inline
template<class CharT , class Traits , class Allocator >
basic_string<CharT, Traits, Allocator> boost::container::operator+ ( const basic_string< CharT, Traits, Allocator > &  x,
BOOST_RV_REF_BEG basic_string< CharT, Traits, Allocator > BOOST_RV_REF_END  my 
)
inline

References boost::move().

template<class CharT , class Traits , class Allocator >
basic_string<CharT, Traits, Allocator> boost::container::operator+ ( const CharT *  s,
basic_string< CharT, Traits, Allocator >  y 
)
inline
template<class CharT , class Traits , class Allocator >
basic_string<CharT,Traits,Allocator> boost::container::operator+ ( basic_string< CharT, Traits, Allocator >  x,
const CharT *  s 
)
inline
template<class CharT , class Traits , class Allocator >
basic_string<CharT,Traits,Allocator> boost::container::operator+ ( CharT  c,
basic_string< CharT, Traits, Allocator >  y 
)
inline
template<class CharT , class Traits , class Allocator >
basic_string<CharT,Traits,Allocator> boost::container::operator+ ( basic_string< CharT, Traits, Allocator >  x,
const CharT  c 
)
inline
template<class CharT , class Traits , class Allocator >
bool boost::container::operator< ( const basic_string< CharT, Traits, Allocator > &  x,
const basic_string< CharT, Traits, Allocator > &  y 
)
inline

References boost::polygon::y().

template<class CharT , class Traits , class Allocator >
bool boost::container::operator< ( const CharT *  s,
const basic_string< CharT, Traits, Allocator > &  y 
)
inline

References boost::polygon::y().

template<class CharT , class Traits , class Allocator >
bool boost::container::operator< ( const basic_string< CharT, Traits, Allocator > &  x,
const CharT *  s 
)
inline
template<class CharT , class Traits , class Allocator >
std::basic_ostream<CharT, Traits>& boost::container::operator<< ( std::basic_ostream< CharT, Traits > &  os,
const basic_string< CharT, Traits, Allocator > &  s 
)
template<class CharT , class Traits , class Allocator >
bool boost::container::operator<= ( const basic_string< CharT, Traits, Allocator > &  x,
const basic_string< CharT, Traits, Allocator > &  y 
)
inline
template<class CharT , class Traits , class Allocator >
bool boost::container::operator<= ( const CharT *  s,
const basic_string< CharT, Traits, Allocator > &  y 
)
inline
template<class CharT , class Traits , class Allocator >
bool boost::container::operator<= ( const basic_string< CharT, Traits, Allocator > &  x,
const CharT *  s 
)
inline

References boost::flyweights::x.

template<typename OuterA1 , typename OuterA2 , typename... InnerAllocs>
bool boost::container::operator== ( const scoped_allocator_adaptor< OuterA1, InnerAllocs... > &  a,
const scoped_allocator_adaptor< OuterA2, InnerAllocs... > &  b 
)
inline
template<class CharT , class Traits , class Allocator >
bool boost::container::operator== ( const basic_string< CharT, Traits, Allocator > &  x,
const basic_string< CharT, Traits, Allocator > &  y 
)
inline

References compare().

template<class CharT , class Traits , class Allocator >
bool boost::container::operator== ( const CharT *  s,
const basic_string< CharT, Traits, Allocator > &  y 
)
inline

References compare(), and boost::n.

template<class CharT , class Traits , class Allocator >
bool boost::container::operator== ( const basic_string< CharT, Traits, Allocator > &  x,
const CharT *  s 
)
inline

References compare(), boost::n, and boost::asio::s.

template<class CharT , class Traits , class Allocator >
bool boost::container::operator> ( const basic_string< CharT, Traits, Allocator > &  x,
const basic_string< CharT, Traits, Allocator > &  y 
)
inline

References boost::flyweights::x.

template<class CharT , class Traits , class Allocator >
bool boost::container::operator> ( const CharT *  s,
const basic_string< CharT, Traits, Allocator > &  y 
)
inline

References boost::asio::s.

template<class CharT , class Traits , class Allocator >
bool boost::container::operator> ( const basic_string< CharT, Traits, Allocator > &  x,
const CharT *  s 
)
inline

References boost::flyweights::x.

template<class CharT , class Traits , class Allocator >
bool boost::container::operator>= ( const basic_string< CharT, Traits, Allocator > &  x,
const basic_string< CharT, Traits, Allocator > &  y 
)
inline

References boost::polygon::y().

template<class CharT , class Traits , class Allocator >
bool boost::container::operator>= ( const CharT *  s,
const basic_string< CharT, Traits, Allocator > &  y 
)
inline

References boost::polygon::y().

template<class CharT , class Traits , class Allocator >
bool boost::container::operator>= ( const basic_string< CharT, Traits, Allocator > &  x,
const CharT *  s 
)
inline

References boost::asio::s.

template<class CharT , class Traits , class Allocator >
std::basic_istream<CharT, Traits>& boost::container::operator>> ( std::basic_istream< CharT, Traits > &  is,
basic_string< CharT, Traits, Allocator > &  s 
)
template<typename V , std::size_t C1, std::size_t C2>
void boost::container::swap ( static_vector< V, C1 > &  x,
static_vector< V, C2 > &  y,
typename container_detail::enable_if_c< C1!=C2 >::type *  = 0 
)
inline
template<class CharT , class Traits , class Allocator >
void boost::container::swap ( basic_string< CharT, Traits, Allocator > &  x,
basic_string< CharT, Traits, Allocator > &  y 
)
inline
void boost::container::throw_bad_alloc ( )
inline

Exception callback called by Boost.Container when fails to allocate the requested storage space.

  • If BOOST_NO_EXCEPTIONS is NOT defined std::bad_alloc() is thrown.

  • If BOOST_NO_EXCEPTIONS is defined and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS is NOT defined BOOST_ASSERT(!"boost::container bad_alloc thrown") is called and std::abort() if the former returns.

  • If BOOST_NO_EXCEPTIONS and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS are defined the user must provide an implementation and the function should not return.

Referenced by boost::container::node_allocator< T, NodesPerBlock, Version >::allocate(), boost::container::adaptive_pool< T, BOOST_CONTAINER_DOCONLY, BOOST_CONTAINER_DOCONLY, BOOST_CONTAINER_DOCONLY >::allocate(), boost::container::allocator< T, Version, AllocationDisableMask >::allocate(), boost::container::adaptive_pool< T, BOOST_CONTAINER_DOCONLY, BOOST_CONTAINER_DOCONLY, BOOST_CONTAINER_DOCONLY >::allocate_many(), boost::container::node_allocator< T, NodesPerBlock, Version >::allocate_many(), boost::container::allocator< T, Version, AllocationDisableMask >::allocate_many(), boost::container::adaptive_pool< T, BOOST_CONTAINER_DOCONLY, BOOST_CONTAINER_DOCONLY, BOOST_CONTAINER_DOCONLY >::allocation_command(), boost::container::node_allocator< T, NodesPerBlock, Version >::allocation_command(), boost::container::allocator< T, Version, AllocationDisableMask >::allocation_command(), boost::container::container_detail::vector_alloc_holder< Allocator, container_detail::integral_constant< unsigned, 0 > >::first_allocation(), boost::container::container_detail::vector_alloc_holder< Allocator, container_detail::integral_constant< unsigned, 0 > >::move_from_empty(), and boost::container::container_detail::vector_alloc_holder< Allocator, container_detail::integral_constant< unsigned, 0 > >::swap().

void boost::container::throw_length_error ( const char *  str)
inline

Exception callback called by Boost.Container to signal errors resizing.

  • If BOOST_NO_EXCEPTIONS is NOT defined std::length_error(str) is thrown.

  • If BOOST_NO_EXCEPTIONS is defined and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS is NOT defined BOOST_ASSERT_MSG(!"boost::container length_error thrown", str) is called and std::abort() if the former returns.

  • If BOOST_NO_EXCEPTIONS and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS are defined the user must provide an implementation and the function should not return.

Referenced by boost::container::container_detail::basic_string_base< Allocator >::allocate_initial_block(), boost::container::basic_string< CharT, Traits, Allocator >::insert(), boost::container::basic_string< CharT, Traits, Allocator >::replace(), and boost::container::stable_vector< T, Allocator >::reserve().

void boost::container::throw_logic_error ( const char *  str)
inline

Exception callback called by Boost.Container to report errors in the internal logical of the program, such as violation of logical preconditions or class invariants.

  • If BOOST_NO_EXCEPTIONS is NOT defined std::logic_error(str) is thrown.

  • If BOOST_NO_EXCEPTIONS is defined and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS is NOT defined BOOST_ASSERT_MSG(!"boost::container logic_error thrown", str) is called and std::abort() if the former returns.

  • If BOOST_NO_EXCEPTIONS and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS are defined the user must provide an implementation and the function should not return.
void boost::container::throw_out_of_range ( const char *  str)
inline
void boost::container::throw_runtime_error ( const char *  str)
inline

Exception callback called by Boost.Container to report errors that can only be detected during runtime.

  • If BOOST_NO_EXCEPTIONS is NOT defined std::runtime_error(str) is thrown.

  • If BOOST_NO_EXCEPTIONS is defined and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS is NOT defined BOOST_ASSERT_MSG(!"boost::container runtime_error thrown", str) is called and std::abort() if the former returns.

  • If BOOST_NO_EXCEPTIONS and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS are defined the user must provide an implementation and the function should not return.
template<class Pointer , bool IsConst>
const Pointer& boost::container::vector_iterator_get_ptr ( const container_detail::vec_iterator< Pointer, IsConst > &  it)