#include <arrayCheckHashTable.h>
Public メソッド | |
ArrayCheckHashTable (Player attacker) | |
~ArrayCheckHashTable () | |
CheckHashRecord * | find (const HashKey &key) |
CheckHashRecord * | allocate (const HashKey &key, const PieceStand &white_stand, const PathEncoding &path) |
CheckHashRecord * | root () |
void | clear () |
const CheckHashRecord * | find (const HashKey &key) const |
size_t | size () const |
Player | getAttacker () const |
void | confirmNoVisitedRecords () const |
Private 型 | |
typedef slist< BoardEntry > | list_t |
Static Private メソッド | |
static unsigned int | makeHash (const HashKey &key) |
Private 変数 | |
boost::scoped_array< ElementList > | buckets |
size_t | numElements |
const Player | attacker |
CheckHashRecord | rootNode |
Static Private 変数 | |
static const size_t | bucketSize = 786433ul |
構成 | |
struct | BoardEntry |
struct | ElementList |
arrayCheckHashTable.h の 27 行で定義されています。
typedef slist<BoardEntry> osl::checkmate::ArrayCheckHashTable::list_t [private] |
arrayCheckHashTable.h の 60 行で定義されています。
osl::checkmate::ArrayCheckHashTable::ArrayCheckHashTable | ( | Player | attacker | ) | [explicit] |
arrayCheckHashTable.cc の 4 行で定義されています。
osl::checkmate::ArrayCheckHashTable::~ArrayCheckHashTable | ( | ) |
static unsigned int osl::checkmate::ArrayCheckHashTable::makeHash | ( | const HashKey & | key | ) | [inline, static, private] |
CheckHashRecord * osl::checkmate::ArrayCheckHashTable::find | ( | const HashKey & | key | ) | [inline] |
arrayCheckHashTable.h の 143 行で定義されています。
参照先 buckets, osl::checkmate::ArrayCheckHashTable::ElementList::find(), と makeHash().
CheckHashRecord * osl::checkmate::ArrayCheckHashTable::allocate | ( | const HashKey & | key, | |
const PieceStand & | white_stand, | |||
const PathEncoding & | path | |||
) | [inline] |
arrayCheckHashTable.h の 150 行で定義されています。
参照先 osl::checkmate::ArrayCheckHashTable::ElementList::allocate(), attacker, osl::BLACK, buckets, makeHash(), numElements, と osl::WHITE.
CheckHashRecord* osl::checkmate::ArrayCheckHashTable::root | ( | ) | [inline] |
void osl::checkmate::ArrayCheckHashTable::clear | ( | ) |
osl::checkmate::TwinTableHolderを再定義しています。
arrayCheckHashTable.cc の 15 行で定義されています。
参照先 buckets, bucketSize, osl::checkmate::SameBoardList::clear(), osl::checkmate::TwinTableHolder::clear(), osl::checkmate::ArrayCheckHashTable::BoardEntry::colleagues, osl::checkmate::ArrayCheckHashTable::ElementList::elem, osl::checkmate::ArrayCheckHashTable::ElementList::list, と numElements.
const CheckHashRecord * osl::checkmate::ArrayCheckHashTable::find | ( | const HashKey & | key | ) | const [inline] |
arrayCheckHashTable.h の 137 行で定義されています。
参照先 buckets, osl::checkmate::ArrayCheckHashTable::ElementList::find(), と makeHash().
size_t osl::checkmate::ArrayCheckHashTable::size | ( | ) | const [inline] |
Player osl::checkmate::ArrayCheckHashTable::getAttacker | ( | ) | const [inline] |
void osl::checkmate::ArrayCheckHashTable::confirmNoVisitedRecords | ( | ) | const |
arrayCheckHashTable.cc の 27 行で定義されています。
参照先 osl::checkmate::ArrayCheckHashTable::BoardEntry::board_key, buckets, bucketSize, osl::checkmate::ArrayCheckHashTable::BoardEntry::colleagues, osl::checkmate::SameBoardList::confirmNoVisitedRecords(), osl::checkmate::ArrayCheckHashTable::ElementList::elem, と osl::checkmate::ArrayCheckHashTable::ElementList::list.
const size_t osl::checkmate::ArrayCheckHashTable::bucketSize = 786433ul [static, private] |
boost::scoped_array<ElementList> osl::checkmate::ArrayCheckHashTable::buckets [private] |
arrayCheckHashTable.h の 112 行で定義されています。
参照元 allocate(), clear(), confirmNoVisitedRecords(), と find().
size_t osl::checkmate::ArrayCheckHashTable::numElements [private] |
const Player osl::checkmate::ArrayCheckHashTable::attacker [private] |