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::_Hash_node_code_cache< _Cache_hash_code >
 
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::_Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, _Constant_iterators >
 
struct  std::__detail::_Local_iterator_base< _Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __cache_hash_code >
 
struct  std::__detail::_Map_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _RehashPolicy, _Traits, _Unique_keys >
 
struct  std::__detail::_Rehash_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _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 _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)
 
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)
 
__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 &, false_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 &, true_type __uks)
 
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 >::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)
 

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 504 of file hashtable_policy.h.