libstdc++
hashtable_policy.h File Reference

Go to the source code of this file.

Classes

struct  std::__detail::_Before_begin< _NodeAlloc >
struct  std::__detail::_Default_ranged_hash
 Default ranged hash function H. In principle it should be a function object composed from objects of type H1 and H2 such that h(k, N) = h2(h1(k), N), but that would mean making extra copies of h1 and h2. So instead we'll just use a tag to tell class template hashtable to do that composition. More...
struct  std::__detail::_Equal_helper< _Key, _Value, _ExtractKey, _Equal, _HashCodeType, false >
 Specialization. More...
struct  std::__detail::_Equal_helper< _Key, _Value, _ExtractKey, _Equal, _HashCodeType, true >
 Specialization. More...
struct  std::__detail::_Equality< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false >
 Specialization. More...
struct  std::__detail::_Equality< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true >
 Specialization. More...
struct  std::__detail::_Equality_base
struct  std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >
 Specialization: hash function and range-hashing function, no caching of hash codes. Provides typedef and accessor required by C++ 11. More...
struct  std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, true >
 Specialization: hash function and range-hashing function, caching hash codes. H is provided but ignored. Provides typedef and accessor required by C++ 11. More...
struct  std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, false >
 Specialization: ranged hash function, no caching hash codes. H1 and H2 are provided but ignored. We define a dummy hash code type. More...
struct  std::__detail::_Hash_node< _Value, false >
struct  std::__detail::_Hash_node< _Value, true >
struct  std::__detail::_Hash_node_base
struct  std::__detail::_Hashtable_base< _Key, _Value, _ExtractKey, _Equal, _H1, _H2, _Hash, _Traits >
struct  std::__detail::_Hashtable_ebo_helper< _Nm, _Tp, false >
 Specialization not using EBO. More...
struct  std::__detail::_Hashtable_ebo_helper< _Nm, _Tp, true >
 Specialization using EBO. More...
struct  std::__detail::_Hashtable_traits< _Cache_hash_code, _Constant_iterators, _Unique_keys >
struct  std::__detail::_Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false, _Unique_keys >
 Specialization. More...
struct  std::__detail::_Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true, false >
 Specialization. More...
struct  std::__detail::_Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true, true >
 Specialization. More...
struct  std::__detail::_Insert_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits >
struct  std::__detail::_Local_const_iterator< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __constant_iterators, __cache >
 local const_iterators More...
struct  std::__detail::_Local_iterator< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __constant_iterators, __cache >
 local iterators More...
struct  std::__detail::_Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, false >
 Specialization. More...
struct  std::__detail::_Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, true >
 Specialization. More...
struct  std::__detail::_Map_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, _Unique_keys >
struct  std::__detail::_Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false >
 Partial specialization, __unique_keys set to false. More...
struct  std::__detail::_Map_base< _Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true >
 Partial specialization, __unique_keys set to true. More...
struct  std::__detail::_Mod_range_hashing
 Default range hashing function: use division to fold a large number into the range [0, N). More...
struct  std::__detail::_Node_const_iterator< _Value, __constant_iterators, __cache >
 Node const_iterators, used to iterate through all the hashtable. More...
struct  std::__detail::_Node_iterator< _Value, __constant_iterators, __cache >
 Node iterators, used to iterate through all the hashtable. More...
struct  std::__detail::_Node_iterator_base< _Value, _Cache_hash_code >
 Base class for node iterators. More...
struct  std::__detail::_Prime_rehash_policy
 Default value for rehash policy. Bucket size is (usually) the smallest prime that keeps the load factor small enough. More...
struct  std::__detail::_Rehash_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _Prime_rehash_policy, _Traits >
 Specialization. More...

Namespaces

namespace  std
namespace  std::__detail

Functions

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)
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)
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)
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)

Detailed Description

This is an internal header file, included by other library headers. Do not attempt to use it directly. Instead, include <unordered_map> or <unordered_set>.

Definition in file hashtable_policy.h.