手番を含んだ盤面の状態のハッシュ値を保持するためのクラス. More...
#include <boardKey.h>
Public Types | |
typedef Integer | int_t |
Public Member Functions | |
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であることを確認 More... | |
GeneralBoardKey & | operator-= (const GeneralBoardKey &r) |
メモリ破壊を検出するためにrのplayer bitが0であることを確認 More... | |
void | changeTurn () |
void | setPlayer (Player p) |
元々 whiteの時もblackにsetできるようにする More... | |
bool | playerBit () const |
bool | isPlayerOfTurn (Player p) const |
Player | turn () const |
void | setRandom () |
elements[0]の最下位ビットは0にする More... | |
Private Attributes | |
CArray< Integer, SIZE > | elements |
手番を含んだ盤面の状態のハッシュ値を保持するためのクラス.
elements[0] の最下位bit をplayer bit とする.
Definition at line 23 of file boardKey.h.
typedef Integer osl::hash::GeneralBoardKey< Integer, SIZE >::int_t |
Definition at line 33 of file boardKey.h.
osl::hash::GeneralBoardKey< T, SIZE >::GeneralBoardKey | ( | ) |
Definition at line 10 of file boardKey.tcc.
|
inline |
Definition at line 28 of file boardKey.h.
References osl::hash::GeneralBoardKey< Integer, SIZE >::elements.
|
inline |
Definition at line 62 of file boardKey.h.
References osl::hash::GeneralBoardKey< Integer, SIZE >::elements.
|
inline |
Definition at line 77 of file boardKey.h.
References osl::hash::GeneralBoardKey< Integer, SIZE >::playerBit(), and osl::playerToIndex().
Referenced by osl::hash::GeneralBoardKey< Integer, SIZE >::turn().
|
inline |
メモリ破壊を検出するためにrのplayer bitが0であることを確認
Definition at line 45 of file boardKey.h.
References osl::hash::GeneralBoardKey< Integer, SIZE >::elements, and osl::hash::GeneralBoardKey< Integer, SIZE >::playerBit().
|
inline |
メモリ破壊を検出するためにrのplayer bitが0であることを確認
Definition at line 55 of file boardKey.h.
References osl::hash::GeneralBoardKey< Integer, SIZE >::elements, and osl::hash::GeneralBoardKey< Integer, SIZE >::playerBit().
|
inline |
Definition at line 35 of file boardKey.h.
References osl::hash::GeneralBoardKey< Integer, SIZE >::elements.
|
inline |
Definition at line 38 of file boardKey.h.
References osl::hash::GeneralBoardKey< Integer, SIZE >::elements.
|
inline |
Definition at line 73 of file boardKey.h.
References osl::hash::GeneralBoardKey< Integer, SIZE >::elements.
Referenced by osl::hash::GeneralBoardKey< Integer, SIZE >::isPlayerOfTurn(), osl::hash::GeneralBoardKey< Integer, SIZE >::operator+=(), and osl::hash::GeneralBoardKey< Integer, SIZE >::operator-=().
|
inline |
元々 whiteの時もblackにsetできるようにする
Definition at line 69 of file boardKey.h.
References osl::hash::GeneralBoardKey< Integer, SIZE >::elements, and osl::playerToIndex().
void osl::hash::GeneralBoardKey< T, SIZE >::setRandom | ( | ) |
elements[0]の最下位ビットは0にする
Definition at line 16 of file boardKey.tcc.
|
inline |
Definition at line 41 of file boardKey.h.
References osl::hash::GeneralBoardKey< Integer, SIZE >::elements.
|
inline |
Definition at line 34 of file boardKey.h.
|
inline |
Definition at line 81 of file boardKey.h.
References osl::BLACK, osl::hash::GeneralBoardKey< Integer, SIZE >::isPlayerOfTurn(), and osl::WHITE.
|
private |
Definition at line 25 of file boardKey.h.
Referenced by 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(), and osl::hash::GeneralBoardKey< Integer, SIZE >::signature().