osl::hash::HashKeyMix< hash1_t, hash2_t > Class Template Reference

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
osl::hash::HashKeyMix< hash1_t, hash2_t > Class Template Reference

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等に入れるためだけに使うので，完全に一致する必要はない More...
bool | operator!= (const HashKeyMix &h1, const HashKeyMix &h2)

## Detailed Description

### template<typename hash1_t, typename hash2_t>
class osl::hash::HashKeyMix< hash1_t, hash2_t >

2つのhashKey(たとえばHashKey32とHashKey64)を保持して， 常に同じ結果(片方で一致して片方で一致しないことがない)であることを assertで確認しながら動くHashKey

Definition at line 17 of file hashKeyMix.h.

## Constructor & Destructor Documentation

template<typename hash1_t , typename hash2_t >

osl::hash::HashKeyMix< hash1_t, hash2_t >::HashKeyMix | ( | ) |  |
| inline

Definition at line 26 of file hashKeyMix.h.

template<typename hash1_t , typename hash2_t >

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.

## Member Function Documentation

template<typename hash1_t , typename hash2_t >

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.

template<typename hash1_t , typename hash2_t >

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.

template<typename hash1_t , typename hash2_t >

hash1_t const& osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash1 | ( | ) |  | const
| inlineprivate

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-=().

template<typename hash1_t , typename hash2_t >

hash1_t& osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash1 | ( | ) |  |
| inlineprivate

Definition at line 22 of file hashKeyMix.h.

References osl::hash::HashKeyMix< hash1_t, hash2_t >::hash1.

template<typename hash1_t , typename hash2_t >

hash2_t const& osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash2 | ( | ) |  | const
| inlineprivate

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-=().

template<typename hash1_t , typename hash2_t >

hash2_t& osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash2 | ( | ) |  |
| inlineprivate

Definition at line 24 of file hashKeyMix.h.

References osl::hash::HashKeyMix< hash1_t, hash2_t >::hash2.

template<typename hash1_t , typename hash2_t >

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.

template<typename hash1_t , typename hash2_t >

bool osl::hash::HashKeyMix< hash1_t, hash2_t >::isSameBoard | ( | const HashKeyMix< hash1_t, hash2_t > & | key) |  | const
| inline

Definition at line 33 of file hashKeyMix.h.

References osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash1(), osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash2(), osl::hash::HashKeyMix< hash1_t, hash2_t >::hash1, and osl::hash::HashKeyMix< hash1_t, hash2_t >::hash2.

template<typename hash1_t , typename hash2_t >

HashKeyMix& osl::hash::HashKeyMix< hash1_t, hash2_t >::operator+= | ( | const HashKeyMix< hash1_t, hash2_t > & | r) |  |
| inline

Definition at line 41 of file hashKeyMix.h.

References osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash1(), osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash2(), osl::hash::HashKeyMix< hash1_t, hash2_t >::hash1, and osl::hash::HashKeyMix< hash1_t, hash2_t >::hash2.

template<typename hash1_t , typename hash2_t >

HashKeyMix& osl::hash::HashKeyMix< hash1_t, hash2_t >::operator-= | ( | const HashKeyMix< hash1_t, hash2_t > & | r) |  |
| inline

Definition at line 46 of file hashKeyMix.h.

References osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash1(), osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash2(), osl::hash::HashKeyMix< hash1_t, hash2_t >::hash1, and osl::hash::HashKeyMix< hash1_t, hash2_t >::hash2.

template<typename hash1_t , typename hash2_t >

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.

template<typename hash1_t , typename hash2_t >

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.

template<typename hash1_t , typename hash2_t >

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().

template<typename hash1_t , typename hash2_t >

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().

## Friends And Related Function Documentation

template<typename hash1_t , typename hash2_t >

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.

template<typename hash1_t , typename hash2_t >

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.

template<typename hash1_t , typename hash2_t >

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.

## Member Data Documentation

template<typename hash1_t , typename hash2_t >

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().

template<typename hash1_t , typename hash2_t >

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().

The documentation for this class was generated from the following file:

- hashKeyMix.h