Traits
Extensions » Policy-Based Data Structures » Tags » Invalidation Guarantees » Data Structure Type
Collaboration diagram for Traits:

## Classes

struct | __gnu_pbds::container_traits< Cntnr >
struct | __gnu_pbds::container_traits_base< _Tag >
struct | __gnu_pbds::container_traits_base< binary_heap_tag >
struct | __gnu_pbds::container_traits_base< binomial_heap_tag >
struct | __gnu_pbds::container_traits_base< cc_hash_tag >
struct | __gnu_pbds::container_traits_base< gp_hash_tag >
struct | __gnu_pbds::container_traits_base< list_update_tag >
struct | __gnu_pbds::container_traits_base< ov_tree_tag >
struct | __gnu_pbds::container_traits_base< pairing_heap_tag >
struct | __gnu_pbds::container_traits_base< pat_trie_tag >
struct | __gnu_pbds::container_traits_base< rb_tree_tag >
struct | __gnu_pbds::container_traits_base< rc_binomial_heap_tag >
struct | __gnu_pbds::container_traits_base< splay_tree_tag >
struct | __gnu_pbds::container_traits_base< thin_heap_tag >
struct | __gnu_pbds::detail::bin_search_tree_traits< Key, Mapped, Cmp_Fn, Node_Update, Node, _Alloc >
struct | __gnu_pbds::detail::bin_search_tree_traits< Key, null_type, Cmp_Fn, Node_Update, Node, _Alloc >
struct | __gnu_pbds::detail::container_base_dispatch< Key, Mapped, _Alloc, Tag, Policy_Tl >
struct | __gnu_pbds::detail::no_throw_copies< Key, Mapped >
struct | __gnu_pbds::detail::no_throw_copies< Key, null_type >
struct | __gnu_pbds::detail::stored_data< _Tv, _Th >
struct | __gnu_pbds::detail::stored_data< _Tv, null_type >
struct | __gnu_pbds::detail::stored_hash< _Th >
struct | __gnu_pbds::detail::stored_value< _Tv >
struct | __gnu_pbds::detail::tree_metadata_helper< Node_Update, _BTp >
struct | __gnu_pbds::detail::tree_metadata_helper< Node_Update, false >
struct | __gnu_pbds::detail::tree_metadata_helper< Node_Update, true >
struct | __gnu_pbds::detail::tree_node_metadata_dispatch< Key, Data, Cmp_Fn, Node_Update, _Alloc >
struct | __gnu_pbds::detail::tree_traits< Key, Mapped, Cmp_Fn, Node_Update, ov_tree_tag, _Alloc >
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, ov_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 >
struct | __gnu_pbds::detail::trie_metadata_helper< Node_Update, false >
struct | __gnu_pbds::detail::trie_metadata_helper< Node_Update, true >
struct | __gnu_pbds::detail::trie_node_metadata_dispatch< Key, Data, Cmp_Fn, Node_Update, _Alloc >
struct | __gnu_pbds::detail::trie_traits< Key, Mapped, _ATraits, Node_Update, pat_trie_tag, _Alloc >
struct | __gnu_pbds::detail::trie_traits< Key, null_type, _ATraits, Node_Update, pat_trie_tag, _Alloc >
struct | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, Store_Hash >
struct | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, false >
struct | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, true >
struct | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, false >
struct | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, true >
struct | __gnu_pbds::detail::type_dispatch< Key, Mapped, _Alloc, Store_Hash >
struct | __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >
struct | __gnu_pbds::null_node_update< _Tp1, _Tp2, _Tp3, _Tp4 >
struct | __gnu_pbds::null_type

## 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::type_base< Key, Mapped, _Alloc, false >::const_pointer
typedef __rebind_va::const_pointer | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, true >::const_pointer
typedef __rebind_va::const_pointer | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, false >::const_pointer
typedef __rebind_va::const_pointer | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, true >::const_pointer
typedef __rebind_va::const_reference | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, false >::const_reference
typedef __rebind_va::const_reference | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, true >::const_reference
typedef __rebind_va::const_reference | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, false >::const_reference
typedef __rebind_va::const_reference | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, true >::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_a::const_pointer | __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::key_const_pointer
typedef __rebind_a::const_reference | __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::key_const_reference
typedef __rebind_a::pointer | __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::key_pointer
typedef __rebind_a::reference | __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::key_reference
typedef __rebind_a::value_type | __gnu_pbds::detail::types_traits< Key, Mapped, _Alloc, Store_Hash >::key_type
typedef __rebind_ma::const_pointer | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, false >::mapped_const_pointer
typedef __rebind_ma::const_pointer | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, true >::mapped_const_pointer
typedef __rebind_ma::const_pointer | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, false >::mapped_const_pointer
typedef __rebind_ma::const_pointer | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, true >::mapped_const_pointer
typedef __rebind_ma::const_reference | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, false >::mapped_const_reference
typedef __rebind_ma::const_reference | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, true >::mapped_const_reference
typedef __rebind_ma::const_reference | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, false >::mapped_const_reference
typedef __rebind_ma::const_reference | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, true >::mapped_const_reference
typedef __rebind_ma::pointer | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, false >::mapped_pointer
typedef __rebind_ma::pointer | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, true >::mapped_pointer
typedef __rebind_ma::pointer | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, false >::mapped_pointer
typedef __rebind_ma::pointer | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, true >::mapped_pointer
typedef __rebind_ma::reference | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, false >::mapped_reference
typedef __rebind_ma::reference | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, true >::mapped_reference
typedef __rebind_ma::reference | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, false >::mapped_reference
typedef __rebind_ma::reference | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, true >::mapped_reference
typedef __rebind_ma::value_type | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, false >::mapped_type
typedef __rebind_ma::value_type | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, true >::mapped_type
typedef __rebind_ma::value_type | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, false >::mapped_type
typedef __rebind_ma::value_type | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, true >::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::type_base< Key, Mapped, _Alloc, false >::pointer
typedef __rebind_va::pointer | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, true >::pointer
typedef __rebind_va::pointer | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, false >::pointer
typedef __rebind_va::pointer | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, true >::pointer
typedef __rebind_va::reference | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, false >::reference
typedef __rebind_va::reference | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, true >::reference
typedef __rebind_va::reference | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, false >::reference
typedef __rebind_va::reference | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, true >::reference
typedef _Alloc::size_type | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, false >::size_type
typedef _Alloc::size_type | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, true >::size_type
typedef _Alloc::size_type | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, false >::size_type
typedef _Alloc::size_type | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, true >::size_type
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, null_type > | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, false >::stored_data_type
typedef stored_data< value_type, size_type > | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, true >::stored_data_type
typedef stored_data< value_type, null_type > | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, false >::stored_data_type
typedef stored_data< value_type, size_type > | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, true >::stored_data_type
typedef Node_Update::metadata_type | __gnu_pbds::detail::tree_metadata_helper< Node_Update, false >::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 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 trie_metadata_helper< __node_u, null_update >::type | __gnu_pbds::detail::trie_node_metadata_dispatch< Key, Data, Cmp_Fn, Node_Update, _Alloc >::type
typedef type_base< Key, Mapped, _Alloc, Store_Hash > | __gnu_pbds::detail::type_dispatch< Key, Mapped, _Alloc, Store_Hash >::type
typedef _Tv | __gnu_pbds::detail::stored_value< _Tv >::value_type
typedef __rebind_va::value_type | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, false >::value_type
typedef __rebind_va::value_type | __gnu_pbds::detail::type_base< Key, Mapped, _Alloc, true >::value_type
typedef Key | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, false >::value_type
typedef Key | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, true >::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 | { __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 }
enum | { order_preserving, erase_can_throw, split_join_can_throw, 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::type_base< Key, null_type, _Alloc, false >::s_null_type
static null_type | __gnu_pbds::detail::type_base< Key, null_type, _Alloc, true >::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.