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

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

#include <hashKeyMix.h>

List of all members.

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
HashKeyMixoperator+= (const HashKeyMix &r)
HashKeyMixoperator-= (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)

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]
template<typename hash1_t , typename hash2_t >
void osl::hash::HashKeyMix< hash1_t, hash2_t >::changeTurn ( ) [inline]
template<typename hash1_t , typename hash2_t >
hash1_t const& osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash1 ( ) const [inline, private]
template<typename hash1_t , typename hash2_t >
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.

template<typename hash1_t , typename hash2_t >
hash2_t const& osl::hash::HashKeyMix< hash1_t, hash2_t >::getHash2 ( ) const [inline, private]
template<typename hash1_t , typename hash2_t >
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.

template<typename hash1_t , typename hash2_t >
bool osl::hash::HashKeyMix< hash1_t, hash2_t >::isPlayerOfTurn ( Player  p) const [inline]
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]
template<typename hash1_t , typename hash2_t >
HashKeyMix& osl::hash::HashKeyMix< hash1_t, hash2_t >::operator+= ( const HashKeyMix< hash1_t, hash2_t > &  r) [inline]
template<typename hash1_t , typename hash2_t >
HashKeyMix& osl::hash::HashKeyMix< hash1_t, hash2_t >::operator-= ( const HashKeyMix< hash1_t, hash2_t > &  r) [inline]
template<typename hash1_t , typename hash2_t >
void osl::hash::HashKeyMix< hash1_t, hash2_t >::setPlayer ( Player  p) [inline]
template<typename hash1_t , typename hash2_t >
void osl::hash::HashKeyMix< hash1_t, hash2_t >::setRandom ( ) [inline]
template<typename hash1_t , typename hash2_t >
size_t osl::hash::HashKeyMix< hash1_t, hash2_t >::size ( ) const [inline]
template<typename hash1_t , typename hash2_t >
size_t osl::hash::HashKeyMix< hash1_t, hash2_t >::value ( unsigned int  i) const [inline]

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]
template<typename hash1_t , typename hash2_t >
hash2_t osl::hash::HashKeyMix< hash1_t, hash2_t >::hash2 [private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines