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, _H1, _H2, _Hash, _RehashPolicy, _Traits, _Unique_keys >
 
struct  std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache_hash_code >
 
struct  std::__detail::_Hash_node< _Value, _Cache_hash_code >
 
struct  std::__detail::_Hashtable_alloc< _NodeAlloc >
 
struct  std::__detail::_Hashtable_base< _Key, _Value, _ExtractKey, _Equal, _H1, _H2, _Hash, _Traits >
 
struct  std::__detail::_Hashtable_ebo_helper< _Nm, _Tp, __use_ebo >
 
struct  std::__detail::_Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, _Constant_iterators >
 
struct  std::__detail::_Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache_hash_code >
 
struct  std::__detail::_Map_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, _Unique_keys >
 
struct  std::__detail::_Rehash_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, typename >
 

Typedefs

template<typename _Policy >
using std::__detail::__has_load_factor = typename _Policy::__has_load_factor
 
template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 , typename _Hash >
using std::__detail::__hash_code_for_local_iter = _Hash_code_storage< _Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, 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)
 
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::input_iterator_tag)
 
__bucket_typestd::__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_type *
 
void std::__detail::_Hashtable_alloc< _NodeAlloc >::_M_deallocate_buckets (__bucket_type *, std::size_t __bkt_count)
 
void std::__detail::_Hashtable_alloc< _NodeAlloc >::_M_deallocate_node (__node_type *__n)
 
void std::__detail::_Hashtable_alloc< _NodeAlloc >::_M_deallocate_node_ptr (__node_type *__n)
 
void std::__detail::_Hashtable_alloc< _NodeAlloc >::_M_deallocate_nodes (__node_type *__n)
 
bool std::__detail::_Equality< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true >::_M_equal (const __hashtable &) const
 
bool std::__detail::_Equality< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false >::_M_equal (const __hashtable &) const
 
template<typename _InputIterator , typename _NodeGetter >
void std::__detail::_Insert_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits >::_M_insert_range (_InputIterator __first, _InputIterator __last, const _NodeGetter &, false_type)
 
template<typename _InputIterator , typename _NodeGetter >
void std::__detail::_Insert_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits >::_M_insert_range (_InputIterator __first, _InputIterator __last, const _NodeGetter &, true_type)
 
mapped_type & std::__detail::_Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true >::at (const key_type &__k)
 
const mapped_type & std::__detail::_Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true >::at (const key_type &__k) const
 
template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 , typename _Hash , bool __cache>
bool std::__detail::operator!= (const _Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache > &__x, const _Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache > &__y)
 
template<typename _Value , bool _Cache_hash_code>
bool std::__detail::operator!= (const _Node_iterator_base< _Value, _Cache_hash_code > &__x, const _Node_iterator_base< _Value, _Cache_hash_code > &__y) noexcept
 
template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 , typename _Hash , bool __cache>
bool std::__detail::operator== (const _Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache > &__x, const _Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache > &__y)
 
template<typename _Value , bool _Cache_hash_code>
bool std::__detail::operator== (const _Node_iterator_base< _Value, _Cache_hash_code > &__x, const _Node_iterator_base< _Value, _Cache_hash_code > &__y) noexcept
 
mapped_type & std::__detail::_Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true >::operator[] (const key_type &__k)
 
mapped_type & std::__detail::_Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true >::operator[] (key_type &&__k)
 

Detailed Description

Function Documentation

◆ __clp2()

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

Compute closest power of 2 not less than __n.

Definition at line 508 of file hashtable_policy.h.