All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
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等で使うためのみの不等号.
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であること以外に深い意味はない
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等で使うためのみの不等号.
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 115 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 123 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

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines