クラス osl::ntesuki::NtesukiTable

A table to hold ntesukiRecord. [詳細]

#include <ntesukiTable.h>

すべてのメンバ一覧

構成

struct  HashPathEncoding
class  Table

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
NtesukiRecordallocateRoot (const HashKey &key, const PieceStand &white_stand, signed short distance, const NumEffectState *root_state=NULL)
 テーブルをひく.
NtesukiRecordallocateWithMove (NtesukiRecord *record, const NtesukiMove &move)
NtesukiRecordfind (const HashKey &key)
 テーブルの大きさを変化させずに find する.
const NtesukiRecordfind (const HashKey &key) const
void erase (const HashKey key)
 表に登録された要素を削除する.
void collectGarbage (unsigned int gc_size)
 表を整理する.
NtesukiRecordfindWithMove (NtesukiRecord *record, const NtesukiMove &move)
 与えられた
NtesukiRecordfindWithMoveConst (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< Tabletable
bool verbose

説明

A table to hold ntesukiRecord.

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


型定義

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

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

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


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

osl::ntesuki::NtesukiTable::NtesukiTable ( unsigned int  capacity,
unsigned int  default_gc_size = 0,
bool  verbose = false 
)
引数:
capacity 表に保持する最大局面

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

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

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

参照先 begin(), depth, depths, osl::ntesuki::NtesukiRecord::distance, end(), size(), table, と verbose.


関数

NtesukiRecord* osl::ntesuki::NtesukiTable::allocateRoot ( const HashKey &  key,
const PieceStand white_stand,
signed short  distance,
const NumEffectState *  root_state = NULL 
) [inline]

テーブルをひく.

もし要素が見つからなかった場合, テーブルの大きさを増やして良いのなら, 新しい要素を allocate する.

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

参照先 table.

参照元 osl::ntesuki::NtesukiSearcher::search().

NtesukiRecord* osl::ntesuki::NtesukiTable::allocateWithMove ( NtesukiRecord record,
const NtesukiMove move 
) [inline]
Table::const_iterator osl::ntesuki::NtesukiTable::begin (  )  const [inline]
unsigned int osl::ntesuki::NtesukiTable::capacity (  )  const [inline]

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

参照先 table.

void osl::ntesuki::NtesukiTable::clear (  )  [inline]

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

参照先 table.

void osl::ntesuki::NtesukiTable::collectGarbage ( unsigned int  gc_size  )  [inline]

表を整理する.

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

参照先 table.

Table::const_iterator osl::ntesuki::NtesukiTable::end (  )  const [inline]
void osl::ntesuki::NtesukiTable::erase ( const HashKey  key  )  [inline]

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

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

参照先 table.

const NtesukiRecord* osl::ntesuki::NtesukiTable::find ( const HashKey &  key  )  const [inline]

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

参照先 table.

NtesukiRecord* osl::ntesuki::NtesukiTable::find ( const HashKey &  key  )  [inline]

テーブルの大きさを変化させずに find する.

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

参照先 table.

NtesukiRecord* osl::ntesuki::NtesukiTable::findWithMove ( NtesukiRecord record,
const NtesukiMove move 
) [inline]
NtesukiRecord* osl::ntesuki::NtesukiTable::findWithMoveConst ( const NtesukiRecord record,
const NtesukiMove move 
) [inline]
template<class F >
void osl::ntesuki::NtesukiTable::forEachRecord ( F &  f  )  [inline]

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

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

参照先 table.

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

テーブルを root node から順番に調べる.

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

参照先 table.

bool osl::ntesuki::NtesukiTable::isVerbose (  )  const

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

参照先 verbose.

void osl::ntesuki::NtesukiTable::lockGC (  )  [inline]

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

参照先 table.

参照元 LockGC::LockGC().

unsigned int osl::ntesuki::NtesukiTable::size (  )  const [inline]

テーブルに登録された record の数.

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

参照先 table.

参照元 CountChildLock::CountChildLock(), CountChildLock::~CountChildLock(), osl::ntesuki::NtesukiSearcher::~NtesukiSearcher(), と ~NtesukiTable().

void osl::ntesuki::NtesukiTable::unlockGC (  )  [inline]

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

参照先 table.

参照元 LockGC::~LockGC().


変数

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

参照元 ~NtesukiTable().

boost::scoped_ptr<Table> osl::ntesuki::NtesukiTable::table [private]

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

参照元 isVerbose(), と ~NtesukiTable().


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