クラス osl::ntesuki::NtesukiTable::Table

#include <ntesukiTable.h>

osl::ntesuki::NtesukiTable::Tableに対する継承グラフ
Inheritance graph
[凡例]
osl::ntesuki::NtesukiTable::Tableのコラボレーション図
Collaboration graph
[凡例]

すべてのメンバ一覧

Public メソッド

 Table (unsigned int capacity, unsigned int default_gc_size, bool verbose)
 ~Table ()
NtesukiRecordallocate (const HashKey &key, const PieceStand &white_stand, signed short distance)
 key に対応する Record を Table から探す.
NtesukiRecordfind (const HashKey &key)
 表を探す.新たに登録する事はない
void erase (const HashKey key)
 表に登録された要素を削除する.
template<class F >
void forEachRecord (F &f)
 テーブルに登録された各 record を F で処理する.
template<class F >
void forEachRecordFrom (F &, NumEffectState &, NtesukiRecord *)
template<class F >
void forEachRecordFromRoot (F &f)
void collectGarbage (unsigned int gc_size)
 Collect garbage, until the size of the table reduces to gc_size.

Public 変数

unsigned int capacity
unsigned int default_gc_size
bool verbose
bool no_gc
bool gc_request
unsigned int numEntry
unsigned int numCacheHit
unsigned int gcCount
NtesukiRecordroot
boost::scoped_ptr< NumEffectState > rootState

Static Public 変数

static int largeGCCount = 0

説明

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


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

osl::ntesuki::NtesukiTable::Table::Table ( unsigned int  capacity,
unsigned int  default_gc_size,
bool  verbose 
)

ntesukiTable.cc22 行で定義されています。

osl::ntesuki::NtesukiTable::Table::~Table (  ) 

ntesukiTable.cc32 行で定義されています。


関数

osl::ntesuki::NtesukiRecord * osl::ntesuki::NtesukiTable::Table::allocate ( const HashKey &  key,
const PieceStand white_stand,
signed short  distance 
)

key に対応する Record を Table から探す.

もし登録されていなかったら新たに登録する.

引数:
key 局面の Hash値
戻り値:
対応する NtesukiRecord へのポインタ. (外部から delete 等してはならない)

ntesukiTable.cc38 行で定義されています。

参照先 capacity, collectGarbage(), default_gc_size, find(), gc_request, no_gc, numCacheHit, numEntry, と result.

void osl::ntesuki::NtesukiTable::Table::collectGarbage ( unsigned int  gc_size  ) 
void osl::ntesuki::NtesukiTable::Table::erase ( const HashKey  key  ) 

表に登録された要素を削除する.

ntesukiTable.cc557 行で定義されています。

参照先 find(), と numEntry.

参照元 collectGarbage(), と MarkAndSweep::~MarkAndSweep().

osl::ntesuki::NtesukiRecord * osl::ntesuki::NtesukiTable::Table::find ( const HashKey &  key  ) 

表を探す.新たに登録する事はない

戻り値:
存在しなければ0 そうでなければ内部で確保した場所へのポインタ (間違っても delete しないこと)

ntesukiTable.cc535 行で定義されています。

参照先 numCacheHit.

参照元 allocate(), erase(), と forEachRecordFrom().

template<class F >
void osl::ntesuki::NtesukiTable::Table::forEachRecord ( F &  f  )  [inline]

テーブルに登録された各 record を F で処理する.

ntesukiTable.tcc37 行で定義されています。

参照先 osl::ntesuki::NtesukiTable::begin(), と osl::ntesuki::NtesukiTable::end().

template<class F >
void osl::ntesuki::NtesukiTable::Table::forEachRecordFrom ( F &  func,
NumEffectState &  state,
NtesukiRecord record 
) [inline]
template<class F >
void osl::ntesuki::NtesukiTable::Table::forEachRecordFromRoot ( F &  f  )  [inline]

ntesukiTable.tcc92 行で定義されています。

参照先 root, と rootState.


変数

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

参照元 allocate().

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

参照元 allocate().

ntesukiTable.h62 行で定義されています。

参照元 allocate().

ntesukiTable.h63 行で定義されています。

参照元 collectGarbage().

ntesukiTable.h66 行で定義されています。

参照元 collectGarbage().

ntesukiTable.h62 行で定義されています。

参照元 allocate().

ntesukiTable.h63 行で定義されています。

参照元 allocate(), と find().

ntesukiTable.h63 行で定義されています。

参照元 allocate(), collectGarbage(), と erase().

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

参照元 collectGarbage(), と forEachRecordFromRoot().

boost::scoped_ptr<NumEffectState> osl::ntesuki::NtesukiTable::Table::rootState

ntesukiTable.h65 行で定義されています。

参照元 forEachRecordFromRoot().

ntesukiTable.h62 行で定義されています。

参照元 collectGarbage().


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義
Sun May 16 09:58:31 2010に生成されました。  doxygen 1.6.3