All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Typedefs | Functions | Variables
osl::hash Namespace Reference

ハッシュ More...

Classes

class  GeneralBoardKey
 手番を含んだ盤面の状態のハッシュ値を保持するためのクラス. More...
 
struct  GeneralHashKey
 BoardKey + 駒台(piece stand) More...
 
struct  BoardKey96
 
struct  HashKey128Layout
 
class  HashKey128
 手番を含んだ盤面の状態のハッシュ値を保持するためのクラス. More...
 
struct  HashCollision
 ハッシュの衝突を検出した時に throw するために使う. More...
 
class  HashKey
 
class  HashGenTable
 
class  HashKeyMix
 2つのhashKey(たとえばHashKey32とHashKey64)を保持して, 常に同じ結果(片方で一致して片方で一致しないことがない)であることを assertで確認しながら動くHashKey More...
 
class  HashKeyStack
 
class  HashRandom
 
class  HashRandomPair
 

Typedefs

typedef GeneralBoardKey
< unsigned int, 4 > 
BoardKey32
 
typedef GeneralBoardKey
< unsigned long long, 2 > 
BoardKey64
 
typedef GeneralHashKey
< BoardKey32
HashKey32
 
typedef GeneralHashKey
< BoardKey64
HashKey64
 
typedef HashKey128 HashKeyBase
 
typedef BoardKey96 BoardKey
 

Functions

template<typename Integer , size_t SIZE>
bool operator== (const GeneralBoardKey< Integer, SIZE > &l, const GeneralBoardKey< Integer, SIZE > &r)
 
template<typename Integer , size_t SIZE>
bool operator!= (const GeneralBoardKey< Integer, SIZE > &l, const GeneralBoardKey< Integer, SIZE > &r)
 
template<typename Integer , size_t SIZE>
bool operator< (const GeneralBoardKey< Integer, SIZE > &l, const GeneralBoardKey< Integer, SIZE > &r)
 set等で使うためのみの不等号. More...
 
template<typename T >
bool operator== (const GeneralHashKey< T > &l, const GeneralHashKey< T > &r)
 
template<typename T >
bool operator!= (const GeneralHashKey< T > &l, const GeneralHashKey< T > &r)
 
template<typename T >
bool operator< (const GeneralHashKey< T > &l, const GeneralHashKey< T > &r)
 set等で使うためのみの不等号 full orderであること以外に深い意味はない More...
 
bool operator== (const HashKey128 &l, const HashKey128 &r)
 
bool operator!= (const HashKey128 &l, const HashKey128 &r)
 
bool operator< (const HashKey128 &l, const HashKey128 &r)
 set等で使うためのみの不等号. More...
 
std::ostream & operator<< (std::ostream &os, const HashKey &h)
 

Variables

const HashGenTable Hash_Gen_Table
 

Detailed Description

ハッシュ

Typedef Documentation

Definition at line 32 of file hashKey.h.

typedef GeneralBoardKey<unsigned int,4> osl::hash::BoardKey32

Definition at line 224 of file boardKey.h.

typedef GeneralBoardKey<unsigned long long,2> osl::hash::BoardKey64

Definition at line 225 of file boardKey.h.

Definition at line 226 of file boardKey.h.

Definition at line 227 of file boardKey.h.

Definition at line 31 of file hashKey.h.

Function Documentation

template<typename Integer , size_t SIZE>
bool osl::hash::operator!= ( const GeneralBoardKey< Integer, SIZE > &  l,
const GeneralBoardKey< Integer, SIZE > &  r 
)
inline

Definition at line 97 of file boardKey.h.

bool osl::hash::operator!= ( const HashKey128 &  l,
const HashKey128 &  r 
)
inline

Definition at line 133 of file boardKey128.h.

template<typename T >
bool osl::hash::operator!= ( const GeneralHashKey< T > &  l,
const GeneralHashKey< T > &  r 
)
inline

Definition at line 206 of file boardKey.h.

template<typename Integer , size_t SIZE>
bool osl::hash::operator< ( const GeneralBoardKey< Integer, SIZE > &  l,
const GeneralBoardKey< Integer, SIZE > &  r 
)
inline

set等で使うためのみの不等号.

full orderであること以外に深い意味はない

Definition at line 107 of file boardKey.h.

bool osl::hash::operator< ( const HashKey128 &  l,
const HashKey128 &  r 
)
inline

set等で使うためのみの不等号.

full orderであること以外に深い意味はない

Definition at line 141 of file boardKey128.h.

References osl::hash::HashKey128::boardKey(), and osl::hash::HashKey128::pieceStand().

template<typename T >
bool osl::hash::operator< ( const GeneralHashKey< T > &  l,
const GeneralHashKey< T > &  r 
)
inline

set等で使うためのみの不等号 full orderであること以外に深い意味はない

Definition at line 216 of file boardKey.h.

References osl::hash::GeneralHashKey< BoardKeyBase >::board_key.

std::ostream & osl::hash::operator<< ( std::ostream &  os,
const HashKey &  h 
)
template<typename Integer , size_t SIZE>
bool osl::hash::operator== ( const GeneralBoardKey< Integer, SIZE > &  l,
const GeneralBoardKey< Integer, SIZE > &  r 
)
inline

Definition at line 89 of file boardKey.h.

bool osl::hash::operator== ( const HashKey128 &  l,
const HashKey128 &  r 
)
inline
template<typename T >
bool osl::hash::operator== ( const GeneralHashKey< T > &  l,
const GeneralHashKey< T > &  r 
)
inline

board_keyが違う場合の方が多いだろう

Definition at line 196 of file boardKey.h.

References osl::hash::GeneralHashKey< BoardKeyBase >::board_key, and osl::hash::GeneralHashKey< BoardKeyBase >::piece_stand.

Variable Documentation

const hash::HashGenTable osl::hash::Hash_Gen_Table