Home | Libraries | People | FAQ | More |
namespace boost { namespace container { template<typename T, std::size_t NodesPerBlock = ADP_nodes_per_block, std::size_t MaxFreeBlocks = ADP_max_free_blocks, std::size_t OverheadPercent = ADP_overhead_percent> class adaptive_pool; } }
This class is an extended STL-compatible that offers advanced allocation mechanism (in-place expansion, shrinking, burst-allocation...)
This allocator is a wrapper around a modified DLmalloc.
namespace boost { namespace container { template<typename T> class allocator; } }
namespace boost { namespace container { template<typename Allocator> struct allocator_traits; } }
namespace boost { namespace container { template<typename T, typename BatchDequePolicy = batch_deque_policy<512>, typename Allocator = std::allocator<T> > class batch_deque; template<std::size_t SegmentSize> struct batch_deque_policy; template<typename T, typename PX, typename AX, typename PY, typename AY> bool operator==(const batch_deque< T, PX, AX > & x, const batch_deque< T, PY, AY > & y); template<typename T, typename PX, typename AX, typename PY, typename AY> bool operator<(const batch_deque< T, PX, AX > & x, const batch_deque< T, PY, AY > & y); template<typename T, typename PX, typename AX, typename PY, typename AY> bool operator!=(const batch_deque< T, PX, AX > & x, const batch_deque< T, PY, AY > & y); template<typename T, typename PX, typename AX, typename PY, typename AY> bool operator>(const batch_deque< T, PX, AX > & x, const batch_deque< T, PY, AY > & y); template<typename T, typename PX, typename AX, typename PY, typename AY> bool operator>=(const batch_deque< T, PX, AX > & x, const batch_deque< T, PY, AY > & y); template<typename T, typename PX, typename AX, typename PY, typename AY> bool operator<=(const batch_deque< T, PX, AX > & x, const batch_deque< T, PY, AY > & y); template<typename T, typename P, typename Allocator> void swap(batch_deque< T, P, Allocator > & x, batch_deque< T, P, Allocator > & y); } }
This header file forward declares the following containers:
boost::container::string
boost::container::wstring
It forward declares the following allocators:
And finally it defines the following types
namespace boost { namespace container { struct default_init_t; struct ordered_range_t; struct ordered_unique_range_t; enum tree_type_enum; typedef implementation_defined tree_assoc_defaults; static const ordered_range_t ordered_range; static const ordered_unique_range_t ordered_unique_range; static const default_init_t default_init; } }
namespace boost { namespace container { template<typename T, typename Allocator = new_allocator<T> > class deque; } }
namespace boost { namespace container { template<typename T, typename SmallBufferPolicy = devector_small_buffer_policy<0>, typename GrowthPolicy = devector_growth_policy, typename Allocator = std::allocator<T> > class devector; struct devector_growth_policy; template<unsigned Size> struct devector_small_buffer_policy; struct reserve_only_tag; struct unsafe_uninitialized_tag; template<typename T, typename AllocatorX, typename SBPX, typename GPX, typename AllocatorY, typename SBPY, typename GPY> bool operator==(const devector< T, AllocatorX, SBPX, GPX > & x, const devector< T, AllocatorY, SBPY, GPY > & y); template<typename T, typename AllocatorX, typename SBPX, typename GPX, typename AllocatorY, typename SBPY, typename GPY> bool operator<(const devector< T, AllocatorX, SBPX, GPX > & x, const devector< T, AllocatorY, SBPY, GPY > & y); template<typename T, typename AllocatorX, typename SBPX, typename GPX, typename AllocatorY, typename SBPY, typename GPY> bool operator!=(const devector< T, AllocatorX, SBPX, GPX > & x, const devector< T, AllocatorY, SBPY, GPY > & y); template<typename T, typename AllocatorX, typename SBPX, typename GPX, typename AllocatorY, typename SBPY, typename GPY> bool operator>(const devector< T, AllocatorX, SBPX, GPX > & x, const devector< T, AllocatorY, SBPY, GPY > & y); template<typename T, typename AllocatorX, typename SBPX, typename GPX, typename AllocatorY, typename SBPY, typename GPY> bool operator>=(const devector< T, AllocatorX, SBPX, GPX > & x, const devector< T, AllocatorY, SBPY, GPY > & y); template<typename T, typename AllocatorX, typename SBPX, typename GPX, typename AllocatorY, typename SBPY, typename GPY> bool operator<=(const devector< T, AllocatorX, SBPX, GPX > & x, const devector< T, AllocatorY, SBPY, GPY > & y); template<typename T, typename Allocator, typename SBP, typename GP> void swap(devector< T, Allocator, SBP, GP > & x, devector< T, Allocator, SBP, GP > & y); } }
namespace boost { namespace container { template<typename Key, typename T, typename Compare = std::less<Key>, typename Allocator = new_allocator< std::pair< Key, T> > > class flat_map; template<typename Key, typename T, typename Compare = std::less<Key>, typename Allocator = new_allocator< std::pair< Key, T> > > class flat_multimap; } }
namespace boost { namespace container { template<typename Key, typename Compare = std::less<Key>, typename Allocator = new_allocator<Key> > class flat_multiset; template<typename Key, typename Compare = std::less<Key>, typename Allocator = new_allocator<Key> > class flat_set; } }
namespace boost { namespace container { template<typename T, typename Allocator = new_allocator<T> > class list; } }
namespace boost { namespace container { template<typename Key, typename T, typename Compare = std::less<Key>, typename Allocator = new_allocator< std::pair< const Key, T> >, typename MapOptions = tree_assoc_defaults> class map; template<typename Key, typename T, typename Compare = std::less<Key>, typename Allocator = new_allocator< std::pair< const Key, T> >, typename MultiMapOptions = tree_assoc_defaults> class multimap; } }
namespace boost { namespace container { template<typename T> class new_allocator; template<> class new_allocator<void>; template<bool Value> struct new_allocator_bool; } }
namespace boost { namespace container { template<typename T, std::size_t NodesPerBlock = NodeAlloc_nodes_per_block> class node_allocator; } }
namespace boost { namespace container { template<bool Enabled> struct optimize_size; template<class... Options> struct tree_assoc_options; template<tree_type_enum TreeType> struct tree_type; } }
namespace boost { namespace container { template<typename T> struct constructible_with_allocator_prefix; template<typename T> struct constructible_with_allocator_suffix; template<typename OuterAlloc, typename... InnerAllocs> class scoped_allocator_adaptor; template<bool ZeroInner> struct scoped_allocator_operator_equal; template<> struct scoped_allocator_operator_equal<true>; template<typename T, typename Allocator> struct uses_allocator; template<typename OuterA1, typename OuterA2, BOOST_CONTAINER_SCOPEDALLOC_ALLINNERCLASS > bool operator==(const scoped_allocator_adaptor< OuterA1, InnerAllocs...> & a, const scoped_allocator_adaptor< OuterA2, InnerAllocs...> & b); template<typename OuterA1, typename OuterA2, BOOST_CONTAINER_SCOPEDALLOC_ALLINNERCLASS > bool operator!=(const scoped_allocator_adaptor< OuterA1, InnerAllocs...> & a, const scoped_allocator_adaptor< OuterA2, InnerAllocs...> & b); } }
This header file forward declares boost::container::scoped_allocator_adaptor and defines the following types:
namespace boost { namespace container { typedef const std::allocator_arg_t & allocator_arg_t; static allocator_arg_t allocator_arg; } }
namespace boost { namespace container { template<typename Key, typename Compare = std::less<Key>, typename Allocator = new_allocator<Key>, typename MultiSetOptions = tree_assoc_defaults> class multiset; template<typename Key, typename Compare = std::less<Key>, typename Allocator = new_allocator<Key>, typename SetOptions = tree_assoc_defaults> class set; } }
namespace boost { namespace container { template<typename T, typename Allocator = new_allocator<T> > class slist; } }
namespace boost { namespace container { template<typename T, std::size_t N, typename Allocator = new_allocator<T> > class small_vector; template<typename Allocator> class small_vector_allocator; template<typename T, typename SecondaryAllocator> class small_vector_base; } }
namespace boost { namespace container { template<typename T, typename Allocator = new_allocator<T> > class stable_vector; } }
namespace boost { namespace container { template<typename Value, std::size_t Capacity> class static_vector; template<typename V, std::size_t C1, std::size_t C2> bool operator==(static_vector< V, C1 > const &, static_vector< V, C2 > const &); template<typename V, std::size_t C1, std::size_t C2> bool operator!=(static_vector< V, C1 > const &, static_vector< V, C2 > const &); template<typename V, std::size_t C1, std::size_t C2> bool operator<(static_vector< V, C1 > const &, static_vector< V, C2 > const &); template<typename V, std::size_t C1, std::size_t C2> bool operator>(static_vector< V, C1 > const &, static_vector< V, C2 > const &); template<typename V, std::size_t C1, std::size_t C2> bool operator<=(static_vector< V, C1 > const &, static_vector< V, C2 > const &); template<typename V, std::size_t C1, std::size_t C2> bool operator>=(static_vector< V, C1 > const &, static_vector< V, C2 > const &); template<typename V, std::size_t C1, std::size_t C2> void swap(static_vector< V, C1 > &, static_vector< V, C2 > &); } }
namespace boost { namespace container { template<typename CharT, typename Traits = std::char_traits<CharT>, typename Allocator = new_allocator<CharT> > class basic_string; typedef basic_string< char,std::char_traits< char >,new_allocator< char > > string; typedef basic_string< wchar_t,std::char_traits< wchar_t >,new_allocator< wchar_t > > wstring; template<typename CharT, typename Traits, typename Allocator> basic_string< CharT, Traits, Allocator > operator+(const basic_string< CharT, Traits, Allocator > & x, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator> basic_string< CharT, Traits, Allocator > operator+(basic_string< CharT, Traits, Allocator > && x, basic_string< CharT, Traits, Allocator > && y); template<typename CharT, typename Traits, typename Allocator> basic_string< CharT, Traits, Allocator > operator+(basic_string< CharT, Traits, Allocator > && x, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator> basic_string< CharT, Traits, Allocator > operator+(const basic_string< CharT, Traits, Allocator > & x, basic_string< CharT, Traits, Allocator > && y); template<typename CharT, typename Traits, typename Allocator> basic_string< CharT, Traits, Allocator > operator+(const CharT * s, basic_string< CharT, Traits, Allocator > y); template<typename CharT, typename Traits, typename Allocator> basic_string< CharT, Traits, Allocator > operator+(basic_string< CharT, Traits, Allocator > x, const CharT * s); template<typename CharT, typename Traits, typename Allocator> basic_string< CharT, Traits, Allocator > operator+(CharT c, basic_string< CharT, Traits, Allocator > y); template<typename CharT, typename Traits, typename Allocator> basic_string< CharT, Traits, Allocator > operator+(basic_string< CharT, Traits, Allocator > x, const CharT c); template<typename CharT, typename Traits, typename Allocator> bool operator==(const basic_string< CharT, Traits, Allocator > & x, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator> bool operator==(const CharT * s, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator> bool operator==(const basic_string< CharT, Traits, Allocator > & x, const CharT * s); template<typename CharT, typename Traits, typename Allocator> bool operator!=(const basic_string< CharT, Traits, Allocator > & x, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator> bool operator!=(const CharT * s, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator> bool operator!=(const basic_string< CharT, Traits, Allocator > & x, const CharT * s); template<typename CharT, typename Traits, typename Allocator> bool operator<(const basic_string< CharT, Traits, Allocator > & x, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator> bool operator<(const CharT * s, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator> bool operator<(const basic_string< CharT, Traits, Allocator > & x, const CharT * s); template<typename CharT, typename Traits, typename Allocator> bool operator>(const basic_string< CharT, Traits, Allocator > & x, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator> bool operator>(const CharT * s, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator> bool operator>(const basic_string< CharT, Traits, Allocator > & x, const CharT * s); template<typename CharT, typename Traits, typename Allocator> bool operator<=(const basic_string< CharT, Traits, Allocator > & x, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator> bool operator<=(const CharT * s, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator> bool operator<=(const basic_string< CharT, Traits, Allocator > & x, const CharT * s); template<typename CharT, typename Traits, typename Allocator> bool operator>=(const basic_string< CharT, Traits, Allocator > & x, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator> bool operator>=(const CharT * s, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator> bool operator>=(const basic_string< CharT, Traits, Allocator > & x, const CharT * s); template<typename CharT, typename Traits, typename Allocator> void swap(basic_string< CharT, Traits, Allocator > & x, basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator> std::basic_ostream< CharT, Traits > & operator<<(std::basic_ostream< CharT, Traits > & os, const basic_string< CharT, Traits, Allocator > & s); template<typename CharT, typename Traits, typename Allocator> std::basic_istream< CharT, Traits > & operator>>(std::basic_istream< CharT, Traits > & is, basic_string< CharT, Traits, Allocator > & s); template<typename CharT, typename Traits, typename Allocator> std::basic_istream< CharT, Traits > & getline(std::istream & is, basic_string< CharT, Traits, Allocator > & s, CharT delim); template<typename CharT, typename Traits, typename Allocator> std::basic_istream< CharT, Traits > & getline(std::basic_istream< CharT, Traits > & is, basic_string< CharT, Traits, Allocator > & s); template<typename Ch, typename Allocator> std::size_t hash_value(basic_string< Ch, std::char_traits< Ch >, Allocator > const & v); } }
namespace boost { namespace container { void throw_bad_alloc(); void throw_out_of_range(const char *); void throw_length_error(const char *); void throw_logic_error(const char *); void throw_runtime_error(const char *); } }
namespace boost { namespace container { template<typename T, typename Allocator = new_allocator<T> > class vector; } }