libstdc++
std::__detail::_Hashtable_base< _Key, _Value, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _Traits > Struct Template Reference
Inheritance diagram for std::__detail::_Hashtable_base< _Key, _Value, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _Traits >:
[legend]

Public Types

using __hash_cached = typename __traits_type::__hash_cached
 
using __hash_code = typename __hash_code_base::__hash_code
 
using __hash_code_base = _Hash_code_base< _Key, _Value, _ExtractKey, _Hash, _RangeHash, _Unused, __hash_cached::value >
 
using __traits_type = _Traits
 
typedef std::ptrdiff_t difference_type
 
typedef _Hash hasher
 
typedef _Equal key_equal
 
typedef _Key key_type
 
typedef std::size_t size_type
 
typedef _Value value_type
 

Public Member Functions

hasher hash_function () const
 

Protected Member Functions

 _Hashtable_base (const _Hash &__hash, const _Equal &__eq)
 
std::size_t _M_bucket_index (__hash_code __c, std::size_t __bkt_count) const
 
std::size_t _M_bucket_index (const _Hash_node_value< _Value, false > &__n, std::size_t __bkt_count) const noexcept(noexcept(declval< const _Hash & >()(declval< const _Key & >())) &&noexcept(declval< const _RangeHash & >()((__hash_code) 0,(std::size_t) 0)))
 
std::size_t _M_bucket_index (const _Hash_node_value< _Value, true > &__n, std::size_t __bkt_count) const noexcept(noexcept(declval< const _RangeHash & >()((__hash_code) 0,(std::size_t) 0)))
 
void _M_copy_code (_Hash_node_code_cache< false > &, const _Hash_node_code_cache< false > &) const
 
void _M_copy_code (_Hash_node_code_cache< true > &__to, const _Hash_node_code_cache< true > &__from) const
 
const _Equal & _M_eq () const
 
bool _M_equals (const _Key &__k, __hash_code __c, const _Hash_node_value< _Value, __hash_cached::value > &__n) const
 
template<typename _Kt >
bool _M_equals_tr (const _Kt &__k, __hash_code __c, const _Hash_node_value< _Value, __hash_cached::value > &__n) const
 
const _Hash & _M_hash () const
 
__hash_code _M_hash_code (const _Key &__k) const
 
__hash_code _M_hash_code_tr (const _Kt &__k) const
 
bool _M_node_equals (const _Hash_node_value< _Value, __hash_cached::value > &__lhn, const _Hash_node_value< _Value, __hash_cached::value > &__rhn) const
 
void _M_store_code (_Hash_node_code_cache< false > &, __hash_code) const
 
void _M_store_code (_Hash_node_code_cache< true > &__n, __hash_code __c) const
 
void _M_swap (_Hash_code_base &__x)
 
void _M_swap (_Hashtable_base &__x)
 

Detailed Description

template<typename _Key, typename _Value, typename _ExtractKey, typename _Equal, typename _Hash, typename _RangeHash, typename _Unused, typename _Traits>
struct std::__detail::_Hashtable_base< _Key, _Value, _ExtractKey, _Equal, _Hash, _RangeHash, _Unused, _Traits >

Primary class template _Hashtable_base.

Helper class adding management of _Equal functor to _Hash_code_base type.

Base class templates are:

  • __detail::_Hash_code_base
  • __detail::_Hashtable_ebo_helper

Definition at line 1599 of file hashtable_policy.h.


The documentation for this struct was generated from the following file: