libstdc++
std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false > Struct Template Reference

#include <hashtable_policy.h>

Inheritance diagram for std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >:
[legend]

Public Types

typedef _H1 hasher
 

Public Member Functions

hasher hash_function () const
 

Protected Types

typedef std::size_t __hash_code
 
typedef _Hash_node< _Value, false__node_type
 

Protected Member Functions

 _Hash_code_base (const _ExtractKey &__ex, const _H1 &__h1, const _H2 &__h2, const _Default_ranged_hash &)
 
std::size_t _M_bucket_index (const __node_type *__p, std::size_t __bkt_count) const noexcept(noexcept(declval< const _H1 & >()(declval< const _Key & >())) &&noexcept(declval< const _H2 & >()((__hash_code) 0,(std::size_t) 0)))
 
std::size_t _M_bucket_index (const _Key &, __hash_code __c, std::size_t __bkt_count) const
 
void _M_copy_code (__node_type *, const __node_type *) const
 
const _ExtractKey & _M_extract () const
 
const _H1_M_h1 () const
 
const _H2_M_h2 () const
 
__hash_code _M_hash_code (const _Key &__k) const
 
void _M_store_code (__node_type *, __hash_code) const
 
void _M_swap (_Hash_code_base &__x)
 

Friends

struct _Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >
 

Detailed Description

template<typename _Key, typename _Value, typename _ExtractKey, typename _H1, typename _H2>
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.

Definition at line 1254 of file hashtable_policy.h.

Member Typedef Documentation

◆ __hash_code

template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 >
typedef std::size_t std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >::__hash_code
protected

Definition at line 1277 of file hashtable_policy.h.

◆ __node_type

template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 >
typedef _Hash_node<_Value, false> std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >::__node_type
protected

Definition at line 1278 of file hashtable_policy.h.

◆ hasher

template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 >
typedef _H1 std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >::hasher

Definition at line 1270 of file hashtable_policy.h.

Constructor & Destructor Documentation

◆ _Hash_code_base()

template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 >
std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >::_Hash_code_base ( const _ExtractKey &  __ex,
const _H1 __h1,
const _H2 __h2,
const _Default_ranged_hash  
)
inlineprotected

Definition at line 1284 of file hashtable_policy.h.

Member Function Documentation

◆ _M_bucket_index() [1/2]

template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 >
std::size_t std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >::_M_bucket_index ( const __node_type __p,
std::size_t  __bkt_count 
) const
inlineprotectednoexcept

Definition at line 1303 of file hashtable_policy.h.

◆ _M_bucket_index() [2/2]

template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 >
std::size_t std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >::_M_bucket_index ( const _Key ,
__hash_code  __c,
std::size_t  __bkt_count 
) const
inlineprotected

Definition at line 1298 of file hashtable_policy.h.

◆ _M_copy_code()

template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 >
void std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >::_M_copy_code ( __node_type ,
const __node_type  
) const
inlineprotected

Definition at line 1314 of file hashtable_policy.h.

◆ _M_extract()

template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 >
const _ExtractKey & std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >::_M_extract ( ) const
inlineprotected

Definition at line 1327 of file hashtable_policy.h.

◆ _M_h1()

template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 >
const _H1 & std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >::_M_h1 ( ) const
inlineprotected

Definition at line 1330 of file hashtable_policy.h.

◆ _M_h2()

template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 >
const _H2 & std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >::_M_h2 ( ) const
inlineprotected

Definition at line 1333 of file hashtable_policy.h.

◆ _M_hash_code()

template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 >
__hash_code std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >::_M_hash_code ( const _Key __k) const
inlineprotected

Definition at line 1290 of file hashtable_policy.h.

◆ _M_store_code()

template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 >
void std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >::_M_store_code ( __node_type ,
__hash_code   
) const
inlineprotected

Definition at line 1310 of file hashtable_policy.h.

◆ _M_swap()

template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 >
void std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >::_M_swap ( _Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false > &  __x)
inlineprotected

Definition at line 1318 of file hashtable_policy.h.

◆ hash_function()

template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 >
hasher std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >::hash_function ( ) const
inline

Definition at line 1273 of file hashtable_policy.h.

Friends And Related Symbol Documentation

◆ _Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >

template<typename _Key , typename _Value , typename _ExtractKey , typename _H1 , typename _H2 >
friend struct _Local_iterator_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false >
friend

Definition at line 1236 of file hashtable_policy.h.


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