#include <ntesukiTable.h>
Public 型 | |
typedef NtesukiRecord | record_t |
typedef hash_set< PathEncoding, HashPathEncoding > | PathSet |
Public メソッド | |
NtesukiTable (unsigned int capacity, unsigned int default_gc_size=0, bool verbose=false) | |
~NtesukiTable () | |
void | clear () |
Table::const_iterator | begin () const |
Table::const_iterator | end () const |
NtesukiRecord * | allocateRoot (const HashKey &key, const PieceStand &white_stand, signed short distance, const NumEffectState *root_state=NULL) |
ơ֥Ҥ. | |
NtesukiRecord * | allocateWithMove (NtesukiRecord *record, const NtesukiMove &move) |
NtesukiRecord * | find (const HashKey &key) |
ơ֥礭Ѳ find . | |
const NtesukiRecord * | find (const HashKey &key) const |
void | erase (const HashKey key) |
ɽϿ줿Ǥ. | |
void | collectGarbage (unsigned int gc_size) |
ɽ. | |
NtesukiRecord * | findWithMove (NtesukiRecord *record, const NtesukiMove &move) |
Ϳ줿 | |
NtesukiRecord * | findWithMoveConst (const NtesukiRecord *record, const NtesukiMove &move) |
template<class F> | |
void | forEachRecord (F &f) |
ơ֥Ͽ줿 record F ǽ. | |
template<class F> | |
void | forEachRecordFromRoot (F &f) |
ơ֥ root node ֤Ĵ٤. | |
unsigned int | size () const |
ơ֥Ͽ줿 record ο. | |
unsigned int | capacity () const |
void | lockGC () |
void | unlockGC () |
bool | isVerbose () const |
Public 変数 | |
std::vector< int > | depths |
Private 型 | |
typedef hash_map< SignatureKey, NtesukiRecord::RecordList > | ntesuki_hash_map |
Private 変数 | |
boost::scoped_ptr< Table > | table |
bool | verbose |
構成 | |
struct | HashPathEncoding |
class | Table |
ntesukiTable.h の 52 行で定義されています。
typedef hash_map<SignatureKey, NtesukiRecord::RecordList> osl::ntesuki::NtesukiTable::ntesuki_hash_map [private] |
ntesukiTable.h の 55 行で定義されています。
ntesukiTable.h の 120 行で定義されています。
typedef hash_set<PathEncoding, HashPathEncoding> osl::ntesuki::NtesukiTable::PathSet |
ntesukiTable.h の 129 行で定義されています。
osl::ntesuki::NtesukiTable::NtesukiTable | ( | unsigned int | capacity, | |
unsigned int | default_gc_size = 0 , |
|||
bool | verbose = false | |||
) |
osl::ntesuki::NtesukiTable::~NtesukiTable | ( | ) |
ntesukiTable.cc の 587 行で定義されています。
参照先 begin(), depth, depths, osl::ntesuki::NtesukiRecord::distance, end(), size(), table, と verbose.
void osl::ntesuki::NtesukiTable::clear | ( | ) | [inline] |
Table::const_iterator osl::ntesuki::NtesukiTable::begin | ( | ) | const [inline] |
Table::const_iterator osl::ntesuki::NtesukiTable::end | ( | ) | const [inline] |
NtesukiRecord* osl::ntesuki::NtesukiTable::allocateRoot | ( | const HashKey & | key, | |
const PieceStand & | white_stand, | |||
signed short | distance, | |||
const NumEffectState * | root_state = NULL | |||
) | [inline] |
NtesukiRecord* osl::ntesuki::NtesukiTable::allocateWithMove | ( | NtesukiRecord * | record, | |
const NtesukiMove & | move | |||
) | [inline] |
ntesukiTable.h の 173 行で定義されています。
参照先 osl::PieceStand::add(), osl::Move::capturePtype(), osl::ntesuki::NtesukiRecord::checkNewParent(), osl::ntesuki::NtesukiRecord::distance, osl::ntesuki::NtesukiMove::getMove(), osl::Move::isDrop(), osl::ntesuki::NtesukiMove::isPass(), osl::ntesuki::NtesukiRecord::key, osl::eval::min(), osl::Move::player(), osl::Move::ptype(), osl::PTYPE_EMPTY, osl::PieceStand::sub(), table, osl::unpromote(), と osl::ntesuki::NtesukiRecord::white_stand.
参照元 osl::ntesuki::NtesukiSimulationSearcher::attackForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::attackForProof(), osl::ntesuki::NtesukiSearcher::attackWithOrder(), osl::ntesuki::NtesukiSimulationSearcher::defenseForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::defenseForProof(), osl::ntesuki::NtesukiSearcher::defenseWithPlayer(), osl::ntesuki::NtesukiSearcher::handleInterpose(), osl::ntesuki::NtesukiSearcher::handleNonAttack(), osl::ntesuki::NtesukiSearcher::simulateSiblingsFail(), と osl::ntesuki::NtesukiSearcher::simulateSiblingsSuccess().
NtesukiRecord* osl::ntesuki::NtesukiTable::find | ( | const HashKey & | key | ) | [inline] |
const NtesukiRecord* osl::ntesuki::NtesukiTable::find | ( | const HashKey & | key | ) | const [inline] |
void osl::ntesuki::NtesukiTable::erase | ( | const HashKey | key | ) | [inline] |
void osl::ntesuki::NtesukiTable::collectGarbage | ( | unsigned int | gc_size | ) | [inline] |
NtesukiRecord* osl::ntesuki::NtesukiTable::findWithMove | ( | NtesukiRecord * | record, | |
const NtesukiMove & | move | |||
) | [inline] |
Ϳ줿
move | ˳ǼƤ֤Ȥ. ʤäơ֥뤫. |
ntesukiTable.h の 234 行で定義されています。
参照先 osl::ntesuki::NtesukiRecord::checkNewParent(), osl::ntesuki::NtesukiMove::getMove(), osl::ntesuki::NtesukiRecord::getPieceStandSlow(), osl::ntesuki::NtesukiMove::isDrop(), osl::ntesuki::NtesukiMove::isNormal(), osl::ntesuki::NtesukiRecord::key, osl::Move::player(), osl::Move::ptype(), table, と osl::unpromote().
参照元 osl::ntesuki::NtesukiRecord::calcProofPiecesAnd(), osl::ntesuki::NtesukiRecord::calcProofPiecesOr(), osl::ntesuki::NtesukiSearcher::defenseWithPlayer(), osl::ntesuki::NtesukiSearcher::handleInterpose(), osl::ntesuki::NtesukiSearcher::handleNonAttack(), osl::ntesuki::NtesukiSearcher::selectMoveAttack(), osl::ntesuki::NtesukiSearcher::selectMoveDefense(), osl::ntesuki::NtesukiRecord::setDisproofPieces(), と osl::ntesuki::NtesukiRecord::setProofPieces().
NtesukiRecord* osl::ntesuki::NtesukiTable::findWithMoveConst | ( | const NtesukiRecord * | record, | |
const NtesukiMove & | move | |||
) | [inline] |
ntesukiTable.h の 260 行で定義されています。
参照先 osl::ntesuki::NtesukiMove::getMove(), osl::ntesuki::NtesukiRecord::getPieceStandSlow(), osl::ntesuki::NtesukiMove::isDrop(), osl::ntesuki::NtesukiMove::isNormal(), osl::ntesuki::NtesukiRecord::key, osl::Move::player(), osl::Move::ptype(), table, と osl::unpromote().
参照元 osl::ntesuki::NtesukiSimulationSearcher::attackForDisproof(), osl::ntesuki::NtesukiSimulationSearcher::attackForProof(), osl::ntesuki::NtesukiSimulationSearcher::defenseForDisproof(), と osl::ntesuki::NtesukiSimulationSearcher::defenseForProof().
void osl::ntesuki::NtesukiTable::forEachRecord | ( | F & | f | ) | [inline] |
void osl::ntesuki::NtesukiTable::forEachRecordFromRoot | ( | F & | f | ) | [inline] |
unsigned int osl::ntesuki::NtesukiTable::size | ( | ) | const [inline] |
ơ֥Ͽ줿 record ο.
ntesukiTable.h の 300 行で定義されています。
参照先 table.
参照元 CountChildLock::CountChildLock(), CountChildLock::~CountChildLock(), osl::ntesuki::NtesukiSearcher::~NtesukiSearcher(), と ~NtesukiTable().
unsigned int osl::ntesuki::NtesukiTable::capacity | ( | ) | const [inline] |
void osl::ntesuki::NtesukiTable::lockGC | ( | ) | [inline] |
void osl::ntesuki::NtesukiTable::unlockGC | ( | ) | [inline] |
bool osl::ntesuki::NtesukiTable::isVerbose | ( | ) | const |
boost::scoped_ptr<Table> osl::ntesuki::NtesukiTable::table [private] |
ntesukiTable.h の 116 行で定義されています。
参照元 allocateRoot(), allocateWithMove(), begin(), capacity(), clear(), collectGarbage(), end(), erase(), find(), findWithMove(), findWithMoveConst(), forEachRecord(), forEachRecordFromRoot(), lockGC(), RecordPrinter2::operator()(), RecordPrinter::operator()(), size(), unlockGC(), と ~NtesukiTable().
bool osl::ntesuki::NtesukiTable::verbose [private] |
std::vector<int> osl::ntesuki::NtesukiTable::depths |