libstdc++
Collaboration diagram for Traits:

Classes

struct  __gnu_pbds::detail::container_base_dispatch< Key, Mapped, _Alloc, Tag, Policy_Tl >
 
struct  __gnu_pbds::container_traits_base< _Tag >
 
struct  __gnu_pbds::detail::maybe_null_type< Key, Mapped, _Alloc, Store_Hash >
 
struct  __gnu_pbds::null_node_update< _Tp1, _Tp2, _Tp3, _Tp4 >
 
struct  __gnu_pbds::null_type
 
struct  __gnu_pbds::detail::stored_data< _Tv, _Th, Store_Hash >
 
struct  __gnu_pbds::detail::stored_data< _Tv, _Th, false >
 
struct  __gnu_pbds::detail::tree_metadata_helper< Node_Update, _BTp >
 
struct  __gnu_pbds::detail::tree_traits< Key, Mapped, Cmp_Fn, Node_Update, rb_tree_tag, _Alloc >
 
struct  __gnu_pbds::detail::tree_traits< Key, Mapped, Cmp_Fn, Node_Update, splay_tree_tag, _Alloc >
 
struct  __gnu_pbds::detail::tree_traits< Key, null_type, Cmp_Fn, Node_Update, rb_tree_tag, _Alloc >
 
struct  __gnu_pbds::detail::tree_traits< Key, null_type, Cmp_Fn, Node_Update, splay_tree_tag, _Alloc >
 
struct  __gnu_pbds::detail::trie_metadata_helper< Node_Update, _BTp >
 

Typedefs

typedef container_traits_base< container_category > __gnu_pbds::container_traits< Cntnr >::base_type
 
typedef std::pair< size_type, size_type > __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::comp_hash
 
typedef __rebind_va::const_pointer __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::const_pointer
 
using __gnu_pbds::detail::rebind_traits< _Alloc, T >::const_reference = const T &
 
typedef __rebind_va::const_reference __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::const_reference
 
typedef cc_hash_tag __gnu_pbds::container_traits_base< cc_hash_tag >::container_category
 
typedef gp_hash_tag __gnu_pbds::container_traits_base< gp_hash_tag >::container_category
 
typedef rb_tree_tag __gnu_pbds::container_traits_base< rb_tree_tag >::container_category
 
typedef splay_tree_tag __gnu_pbds::container_traits_base< splay_tree_tag >::container_category
 
typedef ov_tree_tag __gnu_pbds::container_traits_base< ov_tree_tag >::container_category
 
typedef pat_trie_tag __gnu_pbds::container_traits_base< pat_trie_tag >::container_category
 
typedef list_update_tag __gnu_pbds::container_traits_base< list_update_tag >::container_category
 
typedef pairing_heap_tag __gnu_pbds::container_traits_base< pairing_heap_tag >::container_category
 
typedef thin_heap_tag __gnu_pbds::container_traits_base< thin_heap_tag >::container_category
 
typedef binomial_heap_tag __gnu_pbds::container_traits_base< binomial_heap_tag >::container_category
 
typedef rc_binomial_heap_tag __gnu_pbds::container_traits_base< rc_binomial_heap_tag >::container_category
 
typedef binary_heap_tag __gnu_pbds::container_traits_base< binary_heap_tag >::container_category
 
typedef Cntnr::container_category __gnu_pbds::container_traits< Cntnr >::container_category
 
typedef Cntnr __gnu_pbds::container_traits< Cntnr >::container_type
 
typedef _Th __gnu_pbds::detail::stored_hash< _Th >::hash_type
 
typedef integral_constant< int, __simple > __gnu_pbds::detail::no_throw_copies< Key, Mapped >::indicator
 
typedef integral_constant< int, is_simple< Key >::value > __gnu_pbds::detail::no_throw_copies< Key, null_type >::indicator
 
typedef point_invalidation_guarantee __gnu_pbds::container_traits_base< cc_hash_tag >::invalidation_guarantee
 
typedef basic_invalidation_guarantee __gnu_pbds::container_traits_base< gp_hash_tag >::invalidation_guarantee
 
typedef range_invalidation_guarantee __gnu_pbds::container_traits_base< rb_tree_tag >::invalidation_guarantee
 
typedef range_invalidation_guarantee __gnu_pbds::container_traits_base< splay_tree_tag >::invalidation_guarantee
 
typedef basic_invalidation_guarantee __gnu_pbds::container_traits_base< ov_tree_tag >::invalidation_guarantee
 
typedef range_invalidation_guarantee __gnu_pbds::container_traits_base< pat_trie_tag >::invalidation_guarantee
 
typedef point_invalidation_guarantee __gnu_pbds::container_traits_base< list_update_tag >::invalidation_guarantee
 
typedef point_invalidation_guarantee __gnu_pbds::container_traits_base< pairing_heap_tag >::invalidation_guarantee
 
typedef point_invalidation_guarantee __gnu_pbds::container_traits_base< thin_heap_tag >::invalidation_guarantee
 
typedef point_invalidation_guarantee __gnu_pbds::container_traits_base< binomial_heap_tag >::invalidation_guarantee
 
typedef point_invalidation_guarantee __gnu_pbds::container_traits_base< rc_binomial_heap_tag >::invalidation_guarantee
 
typedef basic_invalidation_guarantee __gnu_pbds::container_traits_base< binary_heap_tag >::invalidation_guarantee
 
typedef base_type::invalidation_guarantee __gnu_pbds::container_traits< Cntnr >::invalidation_guarantee
 
typedef __rebind_ka::const_pointer __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::key_const_pointer
 
typedef __rebind_ka::const_reference __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::key_const_reference
 
typedef __rebind_ka::pointer __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::key_pointer
 
typedef __rebind_ka::reference __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::key_reference
 
typedef Key __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::key_type
 
typedef __rebind_ma::const_pointer __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::mapped_const_pointer
 
typedef __rebind_ma::const_reference __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::mapped_const_reference
 
typedef __rebind_ma::pointer __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::mapped_pointer
 
typedef __rebind_ma::reference __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::mapped_reference
 
typedef Mapped __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::mapped_type
 
typedef __nothrowcopy::indicator __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::no_throw_indicator
 
typedef __rebind_va::pointer __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::pointer
 
using __gnu_pbds::detail::rebind_traits< _Alloc, T >::reference = T &
 
typedef __rebind_va::reference __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::reference
 
typedef _Alloc::size_type __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::size_type
 
typedef integral_constant< int, Store_Hash > __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::store_extra
 
typedef stored_data< value_type, size_type, Store_Hash > __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::stored_data_type
 
typedef Node_Update::metadata_type __gnu_pbds::detail::tree_metadata_helper< Node_Update, false >::type
 
typedef null_type __gnu_pbds::detail::tree_metadata_helper< Node_Update, true >::type
 
typedef tree_metadata_helper< __node_u, null_update >::type __gnu_pbds::detail::tree_node_metadata_dispatch< Key, Data, Cmp_Fn, Node_Update, _Alloc >::type
 
typedef Node_Update::metadata_type __gnu_pbds::detail::trie_metadata_helper< Node_Update, false >::type
 
typedef null_type __gnu_pbds::detail::trie_metadata_helper< Node_Update, true >::type
 
typedef trie_metadata_helper< __node_u, null_update >::type __gnu_pbds::detail::trie_node_metadata_dispatch< Key, Data, Cmp_Fn, Node_Update, _Alloc >::type
 
typedef std::pair< const Key, Mapped > __gnu_pbds::detail::select_value_type< Key, Mapped >::type
 
typedef Key __gnu_pbds::detail::select_value_type< Key, null_type >::type
 
typedef _Tv __gnu_pbds::detail::stored_value< _Tv >::value_type
 
typedef select_value_type< Key, Mapped >::type __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::value_type
 

Enumerations

enum  { order_preserving, erase_can_throw, split_join_can_throw, reverse_iteration }
 
enum  { order_preserving, erase_can_throw, split_join_can_throw, reverse_iteration }
 
enum  { order_preserving, erase_can_throw, split_join_can_throw, reverse_iteration }
 
enum  { order_preserving, erase_can_throw, split_join_can_throw, reverse_iteration }
 
enum  { order_preserving, erase_can_throw, split_join_can_throw, reverse_iteration }
 
enum  { order_preserving, erase_can_throw, split_join_can_throw, reverse_iteration }
 
enum  { order_preserving, erase_can_throw, split_join_can_throw, reverse_iteration }
 
enum  { order_preserving, erase_can_throw, split_join_can_throw, reverse_iteration }
 
enum  { order_preserving, erase_can_throw, split_join_can_throw, reverse_iteration }
 
enum  { order_preserving, erase_can_throw, split_join_can_throw, reverse_iteration }
 
enum  { order_preserving, erase_can_throw, split_join_can_throw, reverse_iteration }
 
enum  { order_preserving, erase_can_throw, split_join_can_throw, reverse_iteration }
 
enum  { __gnu_pbds::container_traits< Cntnr >::order_preserving, __gnu_pbds::container_traits< Cntnr >::erase_can_throw, __gnu_pbds::container_traits< Cntnr >::split_join_can_throw, __gnu_pbds::container_traits< Cntnr >::reverse_iteration }
 

Variables

static const bool __gnu_pbds::detail::no_throw_copies< Key, Mapped >::__simple
 
hash_type __gnu_pbds::detail::stored_hash< _Th >::m_hash
 
no_throw_indicator __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::m_no_throw_copies_indicator
 
store_extra __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::m_store_extra_indicator
 
value_type __gnu_pbds::detail::stored_value< _Tv >::m_value
 
static null_type __gnu_pbds::detail::maybe_null_type< Key, null_type, _Alloc, Store_Hash >::s_null_type
 

Detailed Description

Enumeration Type Documentation

◆ anonymous enum

template<typename Cntnr >
anonymous enum
Enumerator
order_preserving 

True only if Cntnr objects guarantee storing keys by order.

erase_can_throw 

True only if erasing a key can throw.

split_join_can_throw 

True only if split or join operations can throw.

reverse_iteration 

True only reverse iterators are supported.

Definition at line 426 of file tag_and_trait.hpp.