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
 
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等に入れるためだけに使うので,完全に一致する必要はない 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
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
inlineprivate
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
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
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: