Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true > Struct Template Reference

List of all members.

Public Types

typedef H1 hasher

Public Member Functions

hasher hash_function () const

Protected Types

typedef std::size_t hash_code_t

Protected Member Functions

 hash_code_base (const ExtractKey &ex, const Equal &eq, const H1 &h1, const H2 &h2, const default_ranged_hash &)
hash_code_t m_hash_code (const Key &k) const
std::size_t bucket_index (const Key &, hash_code_t c, std::size_t N) const
std::size_t bucket_index (const hash_node< Value, true > *p, std::size_t N) const
bool compare (const Key &k, hash_code_t c, hash_node< Value, true > *n) const
void store_code (hash_node< Value, true > *n, hash_code_t c) const
void copy_code (hash_node< Value, true > *to, const hash_node< Value, true > *from) const
void m_swap (hash_code_base &x)

Protected Attributes

ExtractKey m_extract
Equal m_eq
H1 m_h1
H2 m_h2

Detailed Description

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
struct Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >

Definition at line 873 of file hashtable.


Member Typedef Documentation

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
typedef std::size_t Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::hash_code_t [protected]

Definition at line 887 of file hashtable.

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
typedef H1 Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::hasher

Definition at line 876 of file hashtable.


Constructor & Destructor Documentation

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::hash_code_base ( const ExtractKey &  ex,
const Equal &  eq,
const H1 &  h1,
const H2 &  h2,
const default_ranged_hash  
) [inline, protected]

Definition at line 883 of file hashtable.


Member Function Documentation

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
std::size_t Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::bucket_index ( const hash_node< Value, true > *  p,
std::size_t  N 
) const [inline, protected]

Definition at line 898 of file hashtable.

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
std::size_t Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::bucket_index ( const Key &  ,
hash_code_t  c,
std::size_t  N 
) const [inline, protected]

Definition at line 894 of file hashtable.

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
bool Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::compare ( const Key &  k,
hash_code_t  c,
hash_node< Value, true > *  n 
) const [inline, protected]

Definition at line 902 of file hashtable.

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
void Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::copy_code ( hash_node< Value, true > *  to,
const hash_node< Value, true > *  from 
) const [inline, protected]

Definition at line 910 of file hashtable.

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
hasher Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::hash_function (  )  const [inline]

Definition at line 879 of file hashtable.

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
hash_code_t Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::m_hash_code ( const Key &  k  )  const [inline, protected]

Definition at line 890 of file hashtable.

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
void Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::m_swap ( hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true > &  x  )  [inline, protected]

Definition at line 915 of file hashtable.

References std::swap().

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
void Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::store_code ( hash_node< Value, true > *  n,
hash_code_t  c 
) const [inline, protected]

Definition at line 906 of file hashtable.


Member Data Documentation

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
Equal Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::m_eq [protected]

Definition at line 925 of file hashtable.

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
ExtractKey Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::m_extract [protected]

Definition at line 924 of file hashtable.

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
H1 Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::m_h1 [protected]

Definition at line 926 of file hashtable.

template<typename Key, typename Value, typename ExtractKey, typename Equal, typename H1, typename H2>
H2 Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true >::m_h2 [protected]

Definition at line 927 of file hashtable.


The documentation for this struct was generated from the following file:
Generated on Tue Feb 2 16:58:31 2010 for GNU C++ STL by  doxygen 1.4.7