クラス テンプレート shttl::std_hasher< T >

#include <std_hasher.h>

shttl::std_hasher< T >に対する継承グラフ

Inheritance graph
[凡例]
shttl::std_hasher< T >のコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public 型

typedef shttl::hasher< T > base_type
typedef base_type::size_type size_type
typedef std_hasher< T > this_type
typedef T value_type

Public メソッド

size_type idx_bit () const
value_type idx_mask () const
size_type index (const value_type &t) const
bool match (const value_type &lhs, const value_type &rhs) const
size_type off_bit () const
value_type off_mask () const
value_type rebuild (const value_type &tag, size_type index) const
size_type size () const
 std_hasher (const size_type idx_bit_arg, const size_type off_bit_arg)
value_type tag (const value_type &t) const
 ~std_hasher ()

Static Public 変数

static const std::numeric_limits<
value_type
value_info

Protected 変数

size_type m_idx_bit
value_type m_idx_mask
size_type m_off_bit
value_type m_off_mask

説明

template<class T = size_t>
class shttl::std_hasher< T >

std_hasher.h43 行で定義されています。


型定義

template<class T = size_t>
typedef shttl::hasher<T> shttl::std_hasher< T >::base_type

std_hasher.h47 行で定義されています。

template<class T = size_t>
typedef base_type::size_type shttl::std_hasher< T >::size_type

shttl::hasher< T >を再定義しています。

std_hasher.h50 行で定義されています。

template<class T = size_t>
typedef std_hasher<T> shttl::std_hasher< T >::this_type

std_hasher.h48 行で定義されています。

template<class T = size_t>
typedef T shttl::std_hasher< T >::value_type

std_hasher.h51 行で定義されています。


コンストラクタとデストラクタ

template<class T = size_t>
shttl::std_hasher< T >::std_hasher ( const size_type  idx_bit_arg,
const size_type  off_bit_arg 
) [inline, explicit]

std_hasher.h68 行で定義されています。

参照先 shttl::std_hasher< T >::idx_bit()shttl::std_hasher< T >::off_bit()shttl::std_hasher< T >::value_info.

00068                                                                                       :
00069             m_idx_bit ( idx_bit_arg ), 
00070             m_idx_mask( (value_type)mask(0, idx_bit_arg) ),
00071             m_off_bit ( off_bit_arg), 
00072             m_off_mask( (value_type)mask(0, off_bit_arg ) 
00073         ){
00074             if(( (size_type)value_info.digits < idx_bit() ) ||
00075                ( (size_type)value_info.digits < off_bit() ) ||
00076                ( (size_type)value_info.digits < idx_bit() + off_bit() )
00077             ){
00078                 throw std::invalid_argument("std_hasher::std_hasher");
00079             }
00080         }

関数の呼び出しグラフ:

template<class T = size_t>
shttl::std_hasher< T >::~std_hasher (  )  [inline]

std_hasher.h82 行で定義されています。

00083         {
00084         }


関数

template<class T = size_t>
size_type shttl::std_hasher< T >::idx_bit (  )  const [inline]

std_hasher.h58 行で定義されています。

参照先 shttl::std_hasher< T >::m_idx_bit.

参照元 shttl::std_hasher< T >::rebuild()shttl::std_hasher< T >::std_hasher()shttl::std_hasher< T >::tag().

00058 { return m_idx_bit;          }

Here is the caller graph for this function:

template<class T = size_t>
value_type shttl::std_hasher< T >::idx_mask (  )  const [inline]

std_hasher.h59 行で定義されています。

参照先 shttl::std_hasher< T >::m_idx_mask.

参照元 shttl::std_hasher< T >::index()shttl::std_hasher< T >::size().

00059 { return m_idx_mask;         }

Here is the caller graph for this function:

template<class T = size_t>
size_type shttl::std_hasher< T >::index ( const value_type t  )  const [inline, virtual]

shttl::hasher< T >を実装しています。

std_hasher.h87 行で定義されています。

参照先 shttl::std_hasher< T >::idx_mask()shttl::std_hasher< T >::off_bit().

00088         {
00089             return (size_type)((t >> off_bit()) & idx_mask());
00090         }

関数の呼び出しグラフ:

template<class T = size_t>
bool shttl::std_hasher< T >::match ( const value_type lhs,
const value_type rhs 
) const [inline, virtual]

shttl::hasher< T >を実装しています。

std_hasher.h102 行で定義されています。

参照先 shttl::std_hasher< T >::off_mask().

00103         {
00104             return (lhs & ~off_mask()) == (rhs & ~off_mask());
00105         }

関数の呼び出しグラフ:

template<class T = size_t>
size_type shttl::std_hasher< T >::off_bit (  )  const [inline]

std_hasher.h60 行で定義されています。

参照先 shttl::std_hasher< T >::m_off_bit.

参照元 shttl::std_hasher< T >::index()shttl::std_hasher< T >::rebuild()shttl::std_hasher< T >::std_hasher()shttl::std_hasher< T >::tag().

00060 { return m_off_bit;          }

Here is the caller graph for this function:

template<class T = size_t>
value_type shttl::std_hasher< T >::off_mask (  )  const [inline]

std_hasher.h61 行で定義されています。

参照先 shttl::std_hasher< T >::m_off_mask.

参照元 shttl::std_hasher< T >::match().

00061 { return m_off_mask;         }

Here is the caller graph for this function:

template<class T = size_t>
value_type shttl::std_hasher< T >::rebuild ( const value_type tag,
size_type  index 
) const [inline]

std_hasher.h97 行で定義されています。

参照先 shttl::std_hasher< T >::idx_bit()shttl::std_hasher< T >::off_bit().

00098         {
00099             return static_cast<value_type>( ((tag << idx_bit()) | index) << off_bit() );
00100         }

関数の呼び出しグラフ:

template<class T = size_t>
size_type shttl::std_hasher< T >::size (  )  const [inline, virtual]

shttl::hasher< T >を実装しています。

std_hasher.h64 行で定義されています。

参照先 shttl::std_hasher< T >::idx_mask().

00064 { return (size_type)(idx_mask() + 1); }

関数の呼び出しグラフ:

template<class T = size_t>
value_type shttl::std_hasher< T >::tag ( const value_type t  )  const [inline, virtual]

shttl::hasher< T >を実装しています。

std_hasher.h92 行で定義されています。

参照先 shttl::std_hasher< T >::idx_bit()shttl::std_hasher< T >::off_bit().

00093         {
00094             return t >> (off_bit()+idx_bit());
00095         }

関数の呼び出しグラフ:


変数

template<class T = size_t>
size_type shttl::std_hasher< T >::m_idx_bit [protected]

std_hasher.h108 行で定義されています。

参照元 shttl::std_hasher< T >::idx_bit().

template<class T = size_t>
value_type shttl::std_hasher< T >::m_idx_mask [protected]

std_hasher.h109 行で定義されています。

参照元 shttl::std_hasher< T >::idx_mask().

template<class T = size_t>
size_type shttl::std_hasher< T >::m_off_bit [protected]

std_hasher.h110 行で定義されています。

参照元 shttl::std_hasher< T >::off_bit().

template<class T = size_t>
value_type shttl::std_hasher< T >::m_off_mask [protected]

std_hasher.h111 行で定義されています。

参照元 shttl::std_hasher< T >::off_mask().

template<class T = size_t>
const std::numeric_limits<value_type> shttl::std_hasher< T >::value_info [static]

std_hasher.h53 行で定義されています。

参照元 shttl::std_hasher< T >::std_hasher().


このクラスの説明は次のファイルから生成されました:
Onikiri2に対してTue Jun 18 15:36:36 2013に生成されました。  doxygen 1.4.7