#include <double_hasher.h>
shttl::double_hasher< T, OFFSET, U >に対する継承グラフ
Public 型 | |
typedef static_off_hasher< T, OFFSET > | base_type |
typedef base_type::size_type | size_type |
typedef double_hasher< T, OFFSET, U > | this_type |
typedef std::pair< T, U > | value_type |
Public メソッド | |
double_hasher (const size_t i) | |
size_type | index (const value_type &p) const |
bool | match (const value_type &lhs, const value_type &rhs) const |
value_type | rebuild (const value_type &tag, size_type index) const |
size_type | size () const |
value_type | tag (const value_type &t) const |
Protected 変数 | |
base_type | m_bash_hasher |
double_hasher.h の 44 行で定義されています。
typedef static_off_hasher<T, OFFSET> shttl::double_hasher< T, OFFSET, U >::base_type |
double_hasher.h の 48 行で定義されています。
typedef base_type::size_type shttl::double_hasher< T, OFFSET, U >::size_type |
typedef double_hasher<T, OFFSET, U> shttl::double_hasher< T, OFFSET, U >::this_type |
double_hasher.h の 57 行で定義されています。
typedef std::pair<T, U> shttl::double_hasher< T, OFFSET, U >::value_type |
double_hasher.h の 58 行で定義されています。
shttl::double_hasher< T, OFFSET, U >::double_hasher | ( | const size_t | i | ) | [inline, explicit] |
size_type shttl::double_hasher< T, OFFSET, U >::index | ( | const value_type & | p | ) | const [inline, virtual] |
shttl::hasher< std::pair< T, U > >を実装しています。
double_hasher.h の 72 行で定義されています。
参照先 shttl::static_off_hasher< T, OFFSET >::idx_mask()・shttl::double_hasher< T, OFFSET, U >::m_bash_hasher.
00073 { 00074 return ((p.first >> m_bash_hasher. off_bit()) ^ p.second) & m_bash_hasher.idx_mask(); 00075 }
関数の呼び出しグラフ:
bool shttl::double_hasher< T, OFFSET, U >::match | ( | const value_type & | lhs, | |
const value_type & | rhs | |||
) | const [inline, virtual] |
shttl::hasher< std::pair< T, U > >を実装しています。
double_hasher.h の 77 行で定義されています。
参照先 shttl::static_off_hasher< T, OFFSET >::idx_mask()・shttl::double_hasher< T, OFFSET, U >::m_bash_hasher・shttl::static_off_hasher< T, OFFSET >::match().
00078 { 00079 return ((m_bash_hasher.match(lhs.first, rhs.first)) && 00080 ((lhs.second & m_bash_hasher.idx_mask()) == (rhs.second & m_bash_hasher.idx_mask()))); 00081 }
関数の呼び出しグラフ:
value_type shttl::double_hasher< T, OFFSET, U >::rebuild | ( | const value_type & | tag, | |
size_type | index | |||
) | const [inline] |
double_hasher.h の 92 行で定義されています。
参照先 shttl::double_hasher< T, OFFSET, U >::m_bash_hasher・shttl::static_off_hasher< T, OFFSET >::rebuild().
00093 { 00094 return 00095 std::make_pair( 00096 m_bash_hasher.rebuild(tag.first, index), 00097 tag.second 00098 ); 00099 }
関数の呼び出しグラフ:
size_type shttl::double_hasher< T, OFFSET, U >::size | ( | ) | const [inline, virtual] |
shttl::hasher< std::pair< T, U > >を実装しています。
double_hasher.h の 61 行で定義されています。
参照先 shttl::double_hasher< T, OFFSET, U >::m_bash_hasher・shttl::static_off_hasher< T, OFFSET >::size().
00061 { return m_bash_hasher.size(); }
関数の呼び出しグラフ:
value_type shttl::double_hasher< T, OFFSET, U >::tag | ( | const value_type & | t | ) | const [inline, virtual] |
shttl::hasher< std::pair< T, U > >を実装しています。
double_hasher.h の 83 行で定義されています。
参照先 shttl::double_hasher< T, OFFSET, U >::m_bash_hasher・shttl::static_off_hasher< T, OFFSET >::tag().
00084 { 00085 return 00086 std::make_pair( 00087 m_bash_hasher.tag(t.first), 00088 t.second 00089 ); 00090 }
関数の呼び出しグラフ:
base_type shttl::double_hasher< T, OFFSET, U >::m_bash_hasher [protected] |