#include <ntesukiTable.h>
Public メソッド | |
Table (unsigned int capacity, unsigned int default_gc_size, bool verbose) | |
~Table () | |
NtesukiRecord * | allocate (const HashKey &key, const PieceStand &white_stand, signed short distance) |
key に対応する Record を Table から探す. | |
NtesukiRecord * | find (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 |
NtesukiRecord * | root |
boost::scoped_ptr< NumEffectState > | rootState |
Static Public 変数 | |
static int | largeGCCount = 0 |
ntesukiTable.h の 58 行で定義されています。
osl::ntesuki::NtesukiTable::Table::Table | ( | unsigned int | capacity, | |
unsigned int | default_gc_size, | |||
bool | verbose | |||
) |
ntesukiTable.cc の 22 行で定義されています。
osl::ntesuki::NtesukiTable::Table::~Table | ( | ) |
ntesukiTable.cc の 32 行で定義されています。
osl::ntesuki::NtesukiRecord * osl::ntesuki::NtesukiTable::Table::allocate | ( | const HashKey & | key, | |
const PieceStand & | white_stand, | |||
signed short | distance | |||
) |
key
に対応する Record を Table から探す.
もし登録されていなかったら新たに登録する.
key | 局面の Hash値 |
ntesukiTable.cc の 38 行で定義されています。
参照先 capacity, collectGarbage(), default_gc_size, find(), gc_request, no_gc, numCacheHit, numEntry, と result.
void osl::ntesuki::NtesukiTable::Table::collectGarbage | ( | unsigned int | gc_size | ) |
Collect garbage, until the size of the table reduces to gc_size
.
ntesukiTable.cc の 366 行で定義されています。
参照先 osl::ntesuki::NtesukiRecord::addChildCount(), osl::ntesuki::NtesukiTable::begin(), osl::BLACK, osl::ntesuki::NtesukiTable::end(), erase(), gcCount, osl::ntesuki::NtesukiRecord::getChildCount(), osl::ntesuki::NtesukiRecord::getValue(), osl::ntesuki::NtesukiRecord::isVisited(), osl::ntesuki::NtesukiRecord::key, largeGCCount, numEntry, osl::ntesuki::NtesukiRecord::parents, osl::ntesuki::NtesukiRecord::rev_refcount, root, verbose, と osl::WHITE.
参照元 allocate().
void osl::ntesuki::NtesukiTable::Table::erase | ( | const HashKey | key | ) |
表に登録された要素を削除する.
ntesukiTable.cc の 557 行で定義されています。
osl::ntesuki::NtesukiRecord * osl::ntesuki::NtesukiTable::Table::find | ( | const HashKey & | key | ) |
表を探す.新たに登録する事はない
ntesukiTable.cc の 535 行で定義されています。
参照先 numCacheHit.
参照元 allocate(), erase(), と forEachRecordFrom().
void osl::ntesuki::NtesukiTable::Table::forEachRecord | ( | F & | f | ) | [inline] |
テーブルに登録された各 record を F で処理する.
ntesukiTable.tcc の 37 行で定義されています。
参照先 osl::ntesuki::NtesukiTable::begin(), と osl::ntesuki::NtesukiTable::end().
void osl::ntesuki::NtesukiTable::Table::forEachRecordFrom | ( | F & | func, | |
NumEffectState & | state, | |||
NtesukiRecord * | record | |||
) | [inline] |
void osl::ntesuki::NtesukiTable::Table::forEachRecordFromRoot | ( | F & | f | ) | [inline] |
ntesukiTable.tcc の 92 行で定義されています。
unsigned int osl::ntesuki::NtesukiTable::Table::capacity |
ntesukiTable.h の 61 行で定義されています。
参照元 allocate().
unsigned int osl::ntesuki::NtesukiTable::Table::default_gc_size |
ntesukiTable.h の 61 行で定義されています。
参照元 allocate().
ntesukiTable.h の 62 行で定義されています。
参照元 allocate().
unsigned int osl::ntesuki::NtesukiTable::Table::gcCount |
ntesukiTable.h の 63 行で定義されています。
参照元 collectGarbage().
int osl::ntesuki::NtesukiTable::Table::largeGCCount = 0 [static] |
ntesukiTable.h の 66 行で定義されています。
参照元 collectGarbage().
ntesukiTable.h の 62 行で定義されています。
参照元 allocate().
unsigned int osl::ntesuki::NtesukiTable::Table::numCacheHit |
ntesukiTable.h の 63 行で定義されています。
参照元 allocate(), と find().
unsigned int osl::ntesuki::NtesukiTable::Table::numEntry |
ntesukiTable.h の 63 行で定義されています。
参照元 allocate(), collectGarbage(), と erase().
ntesukiTable.h の 64 行で定義されています。
boost::scoped_ptr<NumEffectState> osl::ntesuki::NtesukiTable::Table::rootState |
ntesukiTable.h の 65 行で定義されています。
ntesukiTable.h の 62 行で定義されています。
参照元 collectGarbage().