libstdc++
Base and Implementation Classes
Collaboration diagram for Base and Implementation Classes:

Classes

struct  std::__detail::_Default_ranged_hash
 
struct  std::__detail::_Equality< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, _Unique_keys >
 
struct  std::__detail::_Equality< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false >
 
struct  std::__detail::_Equality< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true >
 
struct  std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code >
 
struct  std::__detail::_Hash_node< _Value, _Cache_hash_code >
 
struct  std::__detail::_Hash_node_base
 
struct  std::__detail::_Hash_node_code_cache< _Cache_hash_code >
 
struct  std::__detail::_Hash_node_code_cache< true >
 
struct  std::__detail::_Hash_node_value_base< _Value >
 
class  std::_Hashtable< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits >
 
struct  std::__detail::_Hashtable_alloc< _NodeAlloc >
 
struct  std::__detail::_Hashtable_base< _Key, _Value, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _Traits >
 
struct  std::__detail::_Hashtable_ebo_helper< _Nm, _Tp, __use_ebo >
 
struct  std::__detail::_Hashtable_ebo_helper< _Nm, _Tp, false >
 
struct  std::__detail::_Hashtable_ebo_helper< _Nm, _Tp, true >
 
struct  std::__detail::_Hashtable_traits< _Cache_hash_code, _Constant_iterators, _Unique_keys >
 
struct  std::__detail::_Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, _Constant_iterators >
 
struct  std::__detail::_Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false >
 
struct  std::__detail::_Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true >
 
struct  std::__detail::_Insert_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits >
 
struct  std::__detail::_Local_const_iterator< _Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __constant_iterators, __cache >
 
struct  std::__detail::_Local_iterator< _Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __constant_iterators, __cache >
 
struct  std::__detail::_Local_iterator_base< _Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code >
 
struct  std::__detail::_Local_iterator_base< _Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, true >
 
struct  std::__detail::_Map_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, _Unique_keys >
 
struct  std::__detail::_Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false >
 
struct  std::__detail::_Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true >
 
struct  std::__detail::_Mask_range_hashing
 
struct  std::__detail::_Mod_range_hashing
 
struct  std::__detail::_Node_const_iterator< _Value, __constant_iterators, __cache >
 
struct  std::__detail::_Node_iterator< _Value, __constant_iterators, __cache >
 
struct  std::__detail::_Node_iterator_base< _Value, _Cache_hash_code >
 
struct  std::__detail::_Power2_rehash_policy
 
struct  std::__detail::_Prime_rehash_policy
 
struct  std::__detail::_Rehash_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, typename >
 
struct  std::__detail::_Rehash_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false_type >
 
struct  std::__detail::_Rehash_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true_type >
 

Typedefs

template<typename _Policy >
using std::__detail::__has_load_factor = typename _Policy::__has_load_factor
 
template<typename _Key , typename _Value , typename _ExtractKey , typename _Hash , typename _RangeHash , typename _Unused >
using std::__detail::__hash_code_for_local_iter = _Hash_code_storage< _Hash_code_base< _Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, false >>
 

Functions

std::size_t std::__detail::__clp2 (std::size_t __n) noexcept
 
template<class _Iterator >
std::iterator_traits
< _Iterator >::difference_type 
std::__detail::__distance_fw (_Iterator __first, _Iterator __last, std::input_iterator_tag)
 
template<class _Iterator >
std::iterator_traits
< _Iterator >::difference_type 
std::__detail::__distance_fw (_Iterator __first, _Iterator __last, std::forward_iterator_tag)
 
template<class _Iterator >
std::iterator_traits
< _Iterator >::difference_type 
std::__detail::__distance_fw (_Iterator __first, _Iterator __last)
 
 std::__detail::__throw_out_of_range (__N("_Map_base::at"))
 
__buckets_ptr std::__detail::_Hashtable_alloc< _NodeAlloc >::_M_allocate_buckets (std::size_t __bkt_count)
 
template<typename... _Args>
auto std::__detail::_Hashtable_alloc< _NodeAlloc >::_M_allocate_node (_Args &&...__args) -> __node_ptr
 
void std::__detail::_Hashtable_alloc< _NodeAlloc >::_M_deallocate_buckets (__buckets_ptr, std::size_t __bkt_count)
 
void std::__detail::_Hashtable_alloc< _NodeAlloc >::_M_deallocate_node (__node_ptr __n)
 
void std::__detail::_Hashtable_alloc< _NodeAlloc >::_M_deallocate_node_ptr (__node_ptr __n)
 
void std::__detail::_Hashtable_alloc< _NodeAlloc >::_M_deallocate_nodes (__node_ptr __n)
 
bool std::__detail::_Equality< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true >::_M_equal (const __hashtable &) const
 
bool std::__detail::_Equality< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, false >::_M_equal (const __hashtable &) const
 
template<typename _InputIterator , typename _NodeGetter >
void std::__detail::_Insert_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits >::_M_insert_range (_InputIterator __first, _InputIterator __last, const _NodeGetter &, true_type __uks)
 
template<typename _InputIterator , typename _NodeGetter >
void std::__detail::_Insert_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits >::_M_insert_range (_InputIterator __first, _InputIterator __last, const _NodeGetter &, false_type __uks)
 
const mapped_type & std::__detail::_Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true >::at (const key_type &__k) const
 
mapped_type & std::__detail::_Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true >::operator[] (const key_type &__k)
 
mapped_type & std::__detail::_Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, true >::operator[] (key_type &&__k)
 

Variables

template<typename _Key , typename _Pair , typename _Alloc , typename _Equal , typename _Hash , typename _RangeHash , typename _Unused , typename _RehashPolicy , typename _Traits >
auto _Map_base< _Key, _Pair,
_Alloc, _Select1st, _Equal,
_Hash, _RangeHash, _Unused,
_RehashPolicy, _Traits, true >
mapped_type &auto 
std::__detail::__ite
 
return __ite std::__detail::second
 

Detailed Description

Function Documentation

std::size_t std::__detail::__clp2 ( std::size_t  __n)
inlinenoexcept

Compute closest power of 2 not less than __n.

Definition at line 504 of file hashtable_policy.h.