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

#include <hashtable_policy.h>

Inheritance diagram for std::__detail::_Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, true >:
[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, true > __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 __n) const noexcept(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 __n) const
 
void _M_copy_code (__node_type *__to, const __node_type *__from) const
 
_ExtractKey & _M_extract ()
 
const _ExtractKey & _M_extract () const
 
_H1 & _M_h1 ()
 
const _H1 & _M_h1 () const
 
_H2 & _M_h2 ()
 
const _H2 & _M_h2 () const
 
__hash_code _M_hash_code (const _Key &__k) const
 
void _M_store_code (__node_type *__n, __hash_code __c) const
 
void _M_swap (_Hash_code_base &__x)
 

Friends

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

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, true >

Specialization: hash function and range-hashing function, caching hash codes. H is provided but ignored. Provides typedef and accessor required by C++ 11.

Definition at line 1346 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, true >::__hash_code
protected

Definition at line 1369 of file hashtable_policy.h.

◆ __node_type

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

Definition at line 1370 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, true >::hasher

Definition at line 1362 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, true >::_Hash_code_base ( const _ExtractKey &  __ex,
const _H1 &  __h1,
const _H2 &  __h2,
const _Default_ranged_hash  
)
inlineprotected

Definition at line 1374 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, true >::_M_bucket_index ( const __node_type __p,
std::size_t  __n 
) const
inlineprotectednoexcept

Definition at line 1393 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, true >::_M_bucket_index ( const _Key &  ,
__hash_code  __c,
std::size_t  __n 
) const
inlineprotected

Definition at line 1388 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, true >::_M_copy_code ( __node_type __to,
const __node_type __from 
) const
inlineprotected

Definition at line 1403 of file hashtable_policy.h.

◆ _M_extract() [1/2]

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

Definition at line 1418 of file hashtable_policy.h.

◆ _M_extract() [2/2]

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, true >::_M_extract ( ) const
inlineprotected

Definition at line 1415 of file hashtable_policy.h.

◆ _M_h1() [1/2]

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

Definition at line 1424 of file hashtable_policy.h.

◆ _M_h1() [2/2]

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, true >::_M_h1 ( ) const
inlineprotected

Definition at line 1421 of file hashtable_policy.h.

◆ _M_h2() [1/2]

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

Definition at line 1430 of file hashtable_policy.h.

◆ _M_h2() [2/2]

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, true >::_M_h2 ( ) const
inlineprotected

Definition at line 1427 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, true >::_M_hash_code ( const _Key &  __k) const
inlineprotected

Definition at line 1380 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, true >::_M_store_code ( __node_type __n,
__hash_code  __c 
) const
inlineprotected

Definition at line 1399 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, true >::_M_swap ( _Hash_code_base< _Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, true > &  __x)
inlineprotected

Definition at line 1407 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, true >::hash_function ( ) const
inline

Definition at line 1365 of file hashtable_policy.h.

Friends And Related Function Documentation

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

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

Definition at line 1338 of file hashtable_policy.h.


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