Classes | Typedefs | Functions | Variables
osl::hash Namespace Reference

ハッシュ More...

Classes

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

Typedefs

typedef GeneralBoardKey
< unsigned int, 4 > 
BoardKey32
typedef GeneralBoardKey
< unsigned long long, 2 > 
BoardKey64
typedef GeneralHashKey
< BoardKey32
HashKey32
typedef GeneralHashKey
< BoardKey64
HashKey64

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等で使うためのみの不等号.
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であること以外に深い意味はない
std::ostream & operator<< (std::ostream &os, const HashKey &h)

Variables

const HashGenTable Hash_Gen_Table

Detailed Description

ハッシュ


Typedef Documentation

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.


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.

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

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.

std::ostream & osl::hash::operator<< ( std::ostream &  os,
const HashKey &  h 
)

Definition at line 13 of file hashKey.cc.

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.

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

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines