ネームスペース osl::hash

ハッシュ [詳細]

構成

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

型定義

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

関数

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)

変数

const HashGenTable Hash_Gen_Table

説明

ハッシュ


型定義

hashKey.h23 行で定義されています。

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

boardKey.h224 行で定義されています。

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

boardKey.h225 行で定義されています。

boardKey.h226 行で定義されています。

boardKey.h227 行で定義されています。

hashKey.h22 行で定義されています。


関数

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

boardKey.h206 行で定義されています。

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

boardKey.h97 行で定義されています。

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

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

boardKey.h216 行で定義されています。

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

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

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

boardKey.h107 行で定義されています。

std::ostream & osl::hash::operator<< ( std::ostream &  os,
const HashKey &  h 
)
template<typename T >
bool osl::hash::operator== ( const GeneralHashKey< T > &  l,
const GeneralHashKey< T > &  r 
) [inline]

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

boardKey.h196 行で定義されています。

参照先 osl::hash::GeneralHashKey< BoardKeyBase >::board_key, と osl::hash::GeneralHashKey< BoardKeyBase >::piece_stand.

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

boardKey.h89 行で定義されています。


変数

 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義
Sun May 16 09:58:21 2010に生成されました。  doxygen 1.6.3