2つのhashKey(たとえばHashKey32とHashKey64)を保持して, 常に同じ結果(片方で一致して片方で一致しないことがない)であることを assertで確認しながら動くHashKey More...
#include <hashKeyMix.h>
Public Member Functions | |
HashKeyMix () | |
HashKeyMix (unsigned int v0, unsigned int v1, unsigned int v2, unsigned int v3, unsigned int v4, unsigned int v5) | |
bool | isSameBoard (const HashKeyMix &key) const |
HashKeyMix & | operator+= (const HashKeyMix &r) |
HashKeyMix & | operator-= (const HashKeyMix &r) |
PieceStand | blackStand () const |
void | changeTurn () |
void | setPlayer (Player p) |
bool | isPlayerOfTurn (Player p) const |
size_t | size () const |
size_t | value (unsigned int i) const |
void | setRandom () |
Private Member Functions | |
hash1_t const & | getHash1 () const |
hash1_t & | getHash1 () |
hash2_t const & | getHash2 () const |
hash2_t & | getHash2 () |
Private Attributes | |
hash1_t | hash1 |
hash2_t | hash2 |
Friends | |
bool | operator== (HashKeyMix const &l, HashKeyMix const &r) |
bool | operator< (HashKeyMix const &l, HashKeyMix const &r) |
ここの順序はset等に入れるためだけに使うので,完全に一致する必要はない | |
bool | operator!= (const HashKeyMix &h1, const HashKeyMix &h2) |
2つのhashKey(たとえばHashKey32とHashKey64)を保持して, 常に同じ結果(片方で一致して片方で一致しないことがない)であることを assertで確認しながら動くHashKey
Definition at line 17 of file hashKeyMix.h.
osl::hash::HashKeyMix< hash1_t, hash2_t >::HashKeyMix | ( | ) | [inline] |
Definition at line 26 of file hashKeyMix.h.
osl::hash::HashKeyMix< hash1_t, hash2_t >::HashKeyMix | ( | unsigned int | v0, |
unsigned int | v1, | ||
unsigned int | v2, | ||
unsigned int | v3, | ||
unsigned int | v4, | ||
unsigned int | v5 | ||
) | [inline] |
Definition at line 28 of file hashKeyMix.h.
PieceStand osl::hash::HashKeyMix< hash1_t, hash2_t >::blackStand | ( | ) | const [inline] |
Definition at line 51 of file hashKeyMix.h.
References osl::hash::HashKeyMix< hash1_t, hash2_t >::hash1, and osl::hash::HashKeyMix< hash1_t, hash2_t >::hash2.
void osl::hash::HashKeyMix< hash1_t, hash2_t >::changeTurn | ( | ) | [inline] |
Definition at line 56 of file hashKeyMix.h.
References osl::hash::HashKeyMix< hash1_t, hash2_t >::hash1, and osl::hash::HashKeyMix< hash1_t, hash2_t >::hash2.
hash1_t const& osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash1 | ( | ) | const [inline, private] |
Definition at line 21 of file hashKeyMix.h.
References osl::hash::HashKeyMix< hash1_t, hash2_t >::hash1.
Referenced by osl::hash::HashKeyMix< hash1_t, hash2_t >::isSameBoard(), osl::hash::HashKeyMix< hash1_t, hash2_t >::operator+=(), and osl::hash::HashKeyMix< hash1_t, hash2_t >::operator-=().
hash1_t& osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash1 | ( | ) | [inline, private] |
Definition at line 22 of file hashKeyMix.h.
References osl::hash::HashKeyMix< hash1_t, hash2_t >::hash1.
hash2_t const& osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash2 | ( | ) | const [inline, private] |
Definition at line 23 of file hashKeyMix.h.
References osl::hash::HashKeyMix< hash1_t, hash2_t >::hash2.
Referenced by osl::hash::HashKeyMix< hash1_t, hash2_t >::isSameBoard(), osl::hash::HashKeyMix< hash1_t, hash2_t >::operator+=(), and osl::hash::HashKeyMix< hash1_t, hash2_t >::operator-=().
hash2_t& osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash2 | ( | ) | [inline, private] |
Definition at line 24 of file hashKeyMix.h.
References osl::hash::HashKeyMix< hash1_t, hash2_t >::hash2.
bool osl::hash::HashKeyMix< hash1_t, hash2_t >::isPlayerOfTurn | ( | Player | p | ) | const [inline] |
Definition at line 64 of file hashKeyMix.h.
References osl::hash::HashKeyMix< hash1_t, hash2_t >::hash1, and osl::hash::HashKeyMix< hash1_t, hash2_t >::hash2.
bool osl::hash::HashKeyMix< hash1_t, hash2_t >::isSameBoard | ( | const HashKeyMix< hash1_t, hash2_t > & | key | ) | const [inline] |
HashKeyMix& osl::hash::HashKeyMix< hash1_t, hash2_t >::operator+= | ( | const HashKeyMix< hash1_t, hash2_t > & | r | ) | [inline] |
HashKeyMix& osl::hash::HashKeyMix< hash1_t, hash2_t >::operator-= | ( | const HashKeyMix< hash1_t, hash2_t > & | r | ) | [inline] |
void osl::hash::HashKeyMix< hash1_t, hash2_t >::setPlayer | ( | Player | p | ) | [inline] |
Definition at line 60 of file hashKeyMix.h.
References osl::hash::HashKeyMix< hash1_t, hash2_t >::hash1, and osl::hash::HashKeyMix< hash1_t, hash2_t >::hash2.
void osl::hash::HashKeyMix< hash1_t, hash2_t >::setRandom | ( | ) | [inline] |
Definition at line 78 of file hashKeyMix.h.
References osl::hash::HashKeyMix< hash1_t, hash2_t >::hash1, and osl::hash::HashKeyMix< hash1_t, hash2_t >::hash2.
size_t osl::hash::HashKeyMix< hash1_t, hash2_t >::size | ( | ) | const [inline] |
Definition at line 69 of file hashKeyMix.h.
References osl::hash::HashKeyMix< hash1_t, hash2_t >::hash1, osl::hash::HashKeyMix< hash1_t, hash2_t >::hash2, and osl::eval::max().
Referenced by osl::hash::HashKeyMix< hash1_t, hash2_t >::value().
size_t osl::hash::HashKeyMix< hash1_t, hash2_t >::value | ( | unsigned int | i | ) | const [inline] |
Definition at line 73 of file hashKeyMix.h.
References osl::hash::HashKeyMix< hash1_t, hash2_t >::hash1, osl::hash::HashKeyMix< hash1_t, hash2_t >::hash2, and osl::hash::HashKeyMix< hash1_t, hash2_t >::size().
bool operator!= | ( | const HashKeyMix< hash1_t, hash2_t > & | h1, |
const HashKeyMix< hash1_t, hash2_t > & | h2 | ||
) | [friend] |
Definition at line 98 of file hashKeyMix.h.
bool operator< | ( | HashKeyMix< hash1_t, hash2_t > const & | l, |
HashKeyMix< hash1_t, hash2_t > const & | r | ||
) | [friend] |
ここの順序はset等に入れるためだけに使うので,完全に一致する必要はない
Definition at line 90 of file hashKeyMix.h.
bool operator== | ( | HashKeyMix< hash1_t, hash2_t > const & | l, |
HashKeyMix< hash1_t, hash2_t > const & | r | ||
) | [friend] |
Definition at line 82 of file hashKeyMix.h.
hash1_t osl::hash::HashKeyMix< hash1_t, hash2_t >::hash1 [private] |
Definition at line 19 of file hashKeyMix.h.
Referenced by osl::hash::HashKeyMix< hash1_t, hash2_t >::blackStand(), osl::hash::HashKeyMix< hash1_t, hash2_t >::changeTurn(), osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash1(), osl::hash::HashKeyMix< hash1_t, hash2_t >::isPlayerOfTurn(), osl::hash::HashKeyMix< hash1_t, hash2_t >::isSameBoard(), osl::hash::HashKeyMix< hash1_t, hash2_t >::operator+=(), osl::hash::HashKeyMix< hash1_t, hash2_t >::operator-=(), osl::hash::HashKeyMix< hash1_t, hash2_t >::setPlayer(), osl::hash::HashKeyMix< hash1_t, hash2_t >::setRandom(), osl::hash::HashKeyMix< hash1_t, hash2_t >::size(), and osl::hash::HashKeyMix< hash1_t, hash2_t >::value().
hash2_t osl::hash::HashKeyMix< hash1_t, hash2_t >::hash2 [private] |
Definition at line 20 of file hashKeyMix.h.
Referenced by osl::hash::HashKeyMix< hash1_t, hash2_t >::blackStand(), osl::hash::HashKeyMix< hash1_t, hash2_t >::changeTurn(), osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash2(), osl::hash::HashKeyMix< hash1_t, hash2_t >::isPlayerOfTurn(), osl::hash::HashKeyMix< hash1_t, hash2_t >::isSameBoard(), osl::hash::HashKeyMix< hash1_t, hash2_t >::operator+=(), osl::hash::HashKeyMix< hash1_t, hash2_t >::operator-=(), osl::hash::HashKeyMix< hash1_t, hash2_t >::setPlayer(), osl::hash::HashKeyMix< hash1_t, hash2_t >::setRandom(), osl::hash::HashKeyMix< hash1_t, hash2_t >::size(), and osl::hash::HashKeyMix< hash1_t, hash2_t >::value().