#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().
1.6.3