手番を含んだ盤面の状態のハッシュ値を保持するためのクラス. [詳細]
#include <boardKey.h>
Public 型 | |
typedef Integer | int_t |
Public メソッド | |
GeneralBoardKey () | |
GeneralBoardKey (const GeneralBoardKey &src) | |
size_t | size () const |
int_t | operator[] (size_t i) const |
int_t & | operator[] (size_t i) |
unsigned int | signature () const |
GeneralBoardKey & | operator+= (const GeneralBoardKey &r) |
メモリ破壊を検出するためにrのplayer bitが0であることを確認 | |
GeneralBoardKey & | operator-= (const GeneralBoardKey &r) |
メモリ破壊を検出するためにrのplayer bitが0であることを確認 | |
void | changeTurn () |
void | setPlayer (Player p) |
元々 whiteの時もblackにsetできるようにする | |
bool | playerBit () const |
bool | isPlayerOfTurn (Player p) const |
Player | turn () const |
void | setRandom () |
elements[0]の最下位ビットは0にする | |
Private 変数 | |
CArray< Integer, SIZE > | elements |
手番を含んだ盤面の状態のハッシュ値を保持するためのクラス.
elements[0] の最下位bit をplayer bit とする.
boardKey.h の 23 行で定義されています。
typedef Integer osl::hash::GeneralBoardKey< Integer, SIZE >::int_t |
boardKey.h の 33 行で定義されています。
osl::hash::GeneralBoardKey< T, SIZE >::GeneralBoardKey | ( | ) | [inline] |
boardKey.tcc の 10 行で定義されています。
osl::hash::GeneralBoardKey< Integer, SIZE >::GeneralBoardKey | ( | const GeneralBoardKey< Integer, SIZE > & | src | ) | [inline] |
boardKey.h の 28 行で定義されています。
void osl::hash::GeneralBoardKey< Integer, SIZE >::changeTurn | ( | ) | [inline] |
boardKey.h の 62 行で定義されています。
bool osl::hash::GeneralBoardKey< Integer, SIZE >::isPlayerOfTurn | ( | Player | p | ) | const [inline] |
GeneralBoardKey& osl::hash::GeneralBoardKey< Integer, SIZE >::operator+= | ( | const GeneralBoardKey< Integer, SIZE > & | r | ) | [inline] |
メモリ破壊を検出するためにrのplayer bitが0であることを確認
boardKey.h の 45 行で定義されています。
参照先 osl::hash::GeneralBoardKey< Integer, SIZE >::elements, と osl::hash::GeneralBoardKey< Integer, SIZE >::playerBit().
GeneralBoardKey& osl::hash::GeneralBoardKey< Integer, SIZE >::operator-= | ( | const GeneralBoardKey< Integer, SIZE > & | r | ) | [inline] |
メモリ破壊を検出するためにrのplayer bitが0であることを確認
boardKey.h の 55 行で定義されています。
参照先 osl::hash::GeneralBoardKey< Integer, SIZE >::elements, と osl::hash::GeneralBoardKey< Integer, SIZE >::playerBit().
int_t& osl::hash::GeneralBoardKey< Integer, SIZE >::operator[] | ( | size_t | i | ) | [inline] |
boardKey.h の 38 行で定義されています。
int_t osl::hash::GeneralBoardKey< Integer, SIZE >::operator[] | ( | size_t | i | ) | const [inline] |
boardKey.h の 35 行で定義されています。
bool osl::hash::GeneralBoardKey< Integer, SIZE >::playerBit | ( | ) | const [inline] |
void osl::hash::GeneralBoardKey< Integer, SIZE >::setPlayer | ( | Player | p | ) | [inline] |
元々 whiteの時もblackにsetできるようにする
boardKey.h の 69 行で定義されています。
参照先 osl::hash::GeneralBoardKey< Integer, SIZE >::elements, と osl::playerToIndex().
void osl::hash::GeneralBoardKey< T, SIZE >::setRandom | ( | ) | [inline] |
elements[0]の最下位ビットは0にする
boardKey.tcc の 16 行で定義されています。
unsigned int osl::hash::GeneralBoardKey< Integer, SIZE >::signature | ( | ) | const [inline] |
boardKey.h の 41 行で定義されています。
size_t osl::hash::GeneralBoardKey< Integer, SIZE >::size | ( | ) | const [inline] |
boardKey.h の 34 行で定義されています。
Player osl::hash::GeneralBoardKey< Integer, SIZE >::turn | ( | ) | const [inline] |
boardKey.h の 81 行で定義されています。
参照先 osl::BLACK, osl::hash::GeneralBoardKey< Integer, SIZE >::isPlayerOfTurn(), と osl::WHITE.
CArray<Integer,SIZE> osl::hash::GeneralBoardKey< Integer, SIZE >::elements [private] |
boardKey.h の 25 行で定義されています。
参照元 osl::hash::GeneralBoardKey< Integer, SIZE >::changeTurn(), osl::hash::GeneralBoardKey< Integer, SIZE >::GeneralBoardKey(), osl::hash::GeneralBoardKey< Integer, SIZE >::operator+=(), osl::hash::GeneralBoardKey< Integer, SIZE >::operator-=(), osl::hash::GeneralBoardKey< Integer, SIZE >::operator[](), osl::hash::GeneralBoardKey< Integer, SIZE >::playerBit(), osl::hash::GeneralBoardKey< Integer, SIZE >::setPlayer(), osl::hash::GeneralBoardKey< Integer, SIZE >::setRandom(), と osl::hash::GeneralBoardKey< Integer, SIZE >::signature().