クラス テンプレート PackedCache< kKeybits, T >

#include <packed-cache-inl.h>

PackedCache< kKeybits, T >のコラボレーション図

Collaboration graph
[凡例]

すべてのメンバ一覧

Public 型

typedef uintptr_t K
typedef size_t V

Public メソッド

 PackedCache (V initial_value)
void Put (K key, V value)
bool Has (K key) const
V GetOrDefault (K key, V default_value) const
void Clear (V value)

Static Public 変数

static const int kHashbits = 12
static const int kValuebits = 8

Private 型

typedef T UPPER

Static Private メソッド

static V EntryToValue (T t)
static UPPER EntryToUpper (T t)
static UPPER KeyToUpper (K k)
static K UpperToPartialKey (UPPER u)
static size_t Hash (K key)
static bool KeyMatch (T entry, K key)

Private 変数

array_ [1<< kHashbits]

Static Private 変数

static const int kTbits = 8 * sizeof(T)
static const int kUpperbits = kKeybits - kHashbits
static const K kKeyMask = N_ONES_(K, kKeybits)
static const T kUpperMask = N_ONES_(T, kUpperbits) << kValuebits
static const V kValueMask = N_ONES_(V, kValuebits)


説明

template<int kKeybits, typename T>
class PackedCache< kKeybits, T >

packed-cache-inl.h129 行で定義されています。


型定義

template<int kKeybits, typename T>
typedef uintptr_t PackedCache< kKeybits, T >::K

packed-cache-inl.h131 行で定義されています。

template<int kKeybits, typename T>
typedef size_t PackedCache< kKeybits, T >::V

packed-cache-inl.h132 行で定義されています。

template<int kKeybits, typename T>
typedef T PackedCache< kKeybits, T >::UPPER [private]

packed-cache-inl.h177 行で定義されています。


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

template<int kKeybits, typename T>
PackedCache< kKeybits, T >::PackedCache ( V  initial_value  )  [inline, explicit]


関数

template<int kKeybits, typename T>
void PackedCache< kKeybits, T >::Put ( K  key,
V  value 
) [inline]

template<int kKeybits, typename T>
bool PackedCache< kKeybits, T >::Has ( K  key  )  const [inline]

template<int kKeybits, typename T>
V PackedCache< kKeybits, T >::GetOrDefault ( K  key,
V  default_value 
) const [inline]

template<int kKeybits, typename T>
void PackedCache< kKeybits, T >::Clear ( V  value  )  [inline]

template<int kKeybits, typename T>
static V PackedCache< kKeybits, T >::EntryToValue ( t  )  [inline, static, private]

template<int kKeybits, typename T>
static UPPER PackedCache< kKeybits, T >::EntryToUpper ( t  )  [inline, static, private]

packed-cache-inl.h181 行で定義されています。

参照先 PackedCache< kKeybits, T >::kUpperMask.

template<int kKeybits, typename T>
static UPPER PackedCache< kKeybits, T >::KeyToUpper ( K  k  )  [inline, static, private]

template<int kKeybits, typename T>
static K PackedCache< kKeybits, T >::UpperToPartialKey ( UPPER  u  )  [inline, static, private]

template<int kKeybits, typename T>
static size_t PackedCache< kKeybits, T >::Hash ( K  key  )  [inline, static, private]

template<int kKeybits, typename T>
static bool PackedCache< kKeybits, T >::KeyMatch ( entry,
K  key 
) [inline, static, private]


変数

template<int kKeybits, typename T>
const int PackedCache< kKeybits, T >::kHashbits = 12 [static]

template<int kKeybits, typename T>
const int PackedCache< kKeybits, T >::kValuebits = 8 [static]

template<int kKeybits, typename T>
const int PackedCache< kKeybits, T >::kTbits = 8 * sizeof(T) [static, private]

packed-cache-inl.h211 行で定義されています。

参照元 PackedCache< kKeybits, T >::PackedCache().

template<int kKeybits, typename T>
const int PackedCache< kKeybits, T >::kUpperbits = kKeybits - kHashbits [static, private]

packed-cache-inl.h212 行で定義されています。

template<int kKeybits, typename T>
const K PackedCache< kKeybits, T >::kKeyMask = N_ONES_(K, kKeybits) [static, private]

template<int kKeybits, typename T>
const T PackedCache< kKeybits, T >::kUpperMask = N_ONES_(T, kUpperbits) << kValuebits [static, private]

template<int kKeybits, typename T>
const V PackedCache< kKeybits, T >::kValueMask = N_ONES_(V, kValuebits) [static, private]

template<int kKeybits, typename T>
T PackedCache< kKeybits, T >::array_[1<< kHashbits] [private]


このクラスの説明は次のファイルから生成されました:

Thu Oct 8 05:01:14 2009に生成されました。  doxygen 1.5.6