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; } }
namespace boost { namespace container { template<typename T, unsigned Version = 2, unsigned int AllocationDisableMask = 0> class allocator; } }
namespace boost { namespace container { template<typename Allocator> struct allocator_traits; } }
This header file forward declares the following containers:
boost::container::string
boost::container::wstring
Forward declares the following allocators:
Forward declares the following polymorphic resource classes:
And finally it defines the following types
namespace boost { namespace container { struct ordered_range_t; struct ordered_unique_range_t; struct default_init_t; 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 { namespace pmr { template<typename T> struct deque_of; typedef boost::container::deque< T, polymorphic_allocator< T >> deque; } } }
namespace boost { namespace container { template<typename Key, typename T, typename Compare = std::less<Key>, typename AllocatorOrContainer = new_allocator< std::pair< Key, T> > > class flat_map; template<typename Key, typename T, typename Compare = std::less<Key>, typename AllocatorOrContainer = new_allocator< std::pair< Key, T> > > class flat_multimap; } }
namespace boost { namespace container { namespace pmr { template<typename Key, typename T, typename Compare = std::less<Key> > struct flat_map_of; template<typename Key, typename T, typename Compare = std::less<Key> > struct flat_multimap_of; typedef boost::container::flat_map< Key, T, Compare, polymorphic_allocator< std::pair< Key, T > > > flat_map; typedef boost::container::flat_multimap< Key, T, Compare, polymorphic_allocator< std::pair< Key, T > > > flat_multimap; } } }
namespace boost { namespace container { template<typename Key, typename Compare = std::less<Key>, typename AllocatorOrContainer = new_allocator<Key> > class flat_set; template<typename Key, typename Compare = std::less<Key>, typename AllocatorOrContainer = new_allocator<Key> > class flat_multiset; } }
namespace boost { namespace container { namespace pmr { template<typename Key, typename Compare = std::less<Key> > struct flat_set_of; template<typename Key, typename Compare = std::less<Key> > struct flat_multiset_of; typedef boost::container::flat_set< Key, Compare, polymorphic_allocator< Key > > flat_set; typedef boost::container::flat_multiset< Key, Compare, polymorphic_allocator< Key > > flat_multiset; } } }
namespace boost { namespace container { template<typename T, typename Allocator = new_allocator<T> > class list; } }
namespace boost { namespace container { namespace pmr { template<typename T> struct list_of; typedef boost::container::list< T, polymorphic_allocator< T >> 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 Options = 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 Options = tree_assoc_defaults> class multimap; } }
namespace boost { namespace container { namespace pmr { template<typename Key, typename T, typename Compare = std::less<Key>, typename Options = void> struct map_of; template<typename Key, typename T, typename Compare = std::less<Key>, typename Options = void> struct multimap_of; typedef boost::container::map< Key, T, Compare, polymorphic_allocator< std::pair< const Key, T > >, Options > map; typedef boost::container::multimap< Key, T, Compare, polymorphic_allocator< std::pair< const Key, T > >, Options > multimap; } } }
namespace boost { namespace container { template<> class new_allocator<void>; template<typename T> class new_allocator; } }
namespace boost { namespace container { template<typename T, std::size_t NodesPerBlock = NodeAlloc_nodes_per_block> class node_allocator; } }
namespace boost { namespace container { template<typename NodeAllocator, typename KeyMapped = void> class node_handle; template<typename Iterator, typename NodeType> struct insert_return_type_base; } }
namespace boost { namespace container { template<tree_type_enum TreeType> struct tree_type; template<bool Enabled> struct optimize_size; template<class... Options> struct tree_assoc_options; struct growth_factor_50; struct growth_factor_60; struct growth_factor_100; template<typename GrowthFactor> struct growth_factor; template<typename StoredSizeType> struct stored_size; template<class... Options> struct vector_options; enum tree_type_enum; typedef typename boost::container::tree_assoc_options< Options...>::type tree_assoc_options_t; typedef typename boost::container::vector_options< Options...>::type vector_options_t; } }
namespace boost { namespace container { namespace pmr { memory_resource * new_delete_resource(); memory_resource * null_memory_resource(); memory_resource * set_default_resource(memory_resource *); memory_resource * get_default_resource(); } } }
namespace boost { namespace container { namespace pmr { class memory_resource; } } }
namespace boost { namespace container { namespace pmr { class monotonic_buffer_resource; } } }
namespace boost { namespace container { namespace pmr { template<typename T> class polymorphic_allocator; template<typename T1, typename T2> bool operator==(const polymorphic_allocator< T1 > &, const polymorphic_allocator< T2 > &); template<typename T1, typename T2> bool operator!=(const polymorphic_allocator< T1 > &, const polymorphic_allocator< T2 > &); } } }
namespace boost { namespace container { namespace pmr { struct pool_options; } } }
namespace boost { namespace container { namespace pmr { template<typename Allocator> class resource_adaptor_imp; typedef resource_adaptor_imp< typename allocator_traits< Allocator >::template rebind_alloc< char > > resource_adaptor; } } }
namespace boost { namespace container { namespace pmr { class synchronized_pool_resource; } } }
namespace boost { namespace container { namespace pmr { class unsynchronized_pool_resource; } } }
namespace boost { namespace container { template<typename OuterAlloc, typename... InnerAllocs> class scoped_allocator_adaptor; 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
namespace boost { namespace container { template<typename Key, typename Compare = std::less<Key>, typename Allocator = new_allocator<Key>, typename Options = void> class set; template<typename Key, typename Compare = std::less<Key>, typename Allocator = new_allocator<Key>, typename Options = tree_assoc_defaults> class multiset; } }
namespace boost { namespace container { namespace pmr { template<typename Key, typename Compare = std::less<Key>, typename Options = void> struct set_of; template<typename Key, typename Compare = std::less<Key>, typename Options = void> struct multiset_of; typedef boost::container::set< Key, Compare, polymorphic_allocator< Key >, Options > set; typedef boost::container::multiset< Key, Compare, polymorphic_allocator< Key >, Options > multiset; } } }
namespace boost { namespace container { template<typename T, typename Allocator = new_allocator<T> > class slist; } }namespace std { template<typename T, typename Allocator> class insert_iterator<boost::container::slist< T, Allocator >>; }
namespace boost { namespace container { namespace pmr { template<typename T> struct slist_of; typedef boost::container::slist< T, polymorphic_allocator< T >> slist; } } }
namespace boost { namespace container { template<typename Allocator> class small_vector_allocator; template<typename T, typename SecondaryAllocator> class small_vector_base; template<typename T, std::size_t N, typename Allocator = new_allocator<T> > class small_vector; } }
namespace boost { namespace container { namespace pmr { template<typename T, std::size_t N> struct small_vector_of; typedef boost::container::small_vector< T, N, polymorphic_allocator< T >> small_vector; } } }
namespace boost { namespace container { template<typename T, typename Allocator = new_allocator<T> > class stable_vector; } }
namespace boost { namespace container { namespace pmr { template<typename T> struct stable_vector_of; typedef boost::container::stable_vector< T, polymorphic_allocator< T >> 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, template< class, class > class BasicStringView> bool operator==(BasicStringView< CharT, Traits > x, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator, template< class, class > class BasicStringView> bool operator==(const basic_string< CharT, Traits, Allocator > & x, BasicStringView< CharT, Traits > y); 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, template< class, class > class BasicStringView> bool operator!=(BasicStringView< CharT, Traits > x, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator, template< class, class > class BasicStringView> bool operator!=(const basic_string< CharT, Traits, Allocator > & x, BasicStringView< CharT, Traits > y); 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, template< class, class > class BasicStringView> bool operator<(BasicStringView< CharT, Traits > x, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator, template< class, class > class BasicStringView> bool operator<(const basic_string< CharT, Traits, Allocator > & x, BasicStringView< CharT, Traits > y); 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, template< class, class > class BasicStringView> bool operator>(BasicStringView< CharT, Traits > x, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator, template< class, class > class BasicStringView> bool operator>(const basic_string< CharT, Traits, Allocator > & x, BasicStringView< CharT, Traits > y); 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, template< class, class > class BasicStringView> bool operator<=(BasicStringView< CharT, Traits > x, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator, template< class, class > class BasicStringView> bool operator<=(const basic_string< CharT, Traits, Allocator > & x, BasicStringView< CharT, Traits > y); 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, template< class, class > class BasicStringView> bool operator>=(BasicStringView< CharT, Traits > x, const basic_string< CharT, Traits, Allocator > & y); template<typename CharT, typename Traits, typename Allocator, template< class, class > class BasicStringView> bool operator>=(const basic_string< CharT, Traits, Allocator > & x, BasicStringView< CharT, Traits > y); 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 { namespace pmr { template<typename CharT, typename Traits = std::char_traits<CharT> > struct basic_string_of; typedef boost::container::basic_string< CharT, Traits, polymorphic_allocator< CharT > > basic_string; typedef basic_string_of< char >::type string; typedef basic_string_of< wchar_t >::type wstring; } } }
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> struct constructible_with_allocator_suffix; template<typename T> struct constructible_with_allocator_prefix; template<typename T, typename Allocator> struct uses_allocator; } }
This header forward declares boost::container::constructible_with_allocator_prefix, boost::container::constructible_with_allocator_suffix and boost::container::uses_allocator. Also defines the following types:
namespace boost { namespace container { struct erased_type; typedef unspecified allocator_arg_t; static allocator_arg_t allocator_arg; } }
namespace boost { namespace container { template<typename T, typename Allocator = new_allocator<T>, typename Options = void> class vector; } }
namespace boost { namespace container { namespace pmr { template<typename T> struct vector_of; typedef boost::container::vector< T, polymorphic_allocator< T >> vector; } } }