Xiangiqgame
AI engine for Xiangqi
Loading...
Searching...
No Matches
BoardStateCoordinator< ConcreteBoardStateCoordinator, KeyType > Class Template Reference

CRTP Interface with methods to calculate / read / update hash values representing a board state; and storing and retreiving data from completed calculations of scores associated with specific board states (concrete example = boardstate::SingleZobristCoordinator). More...

#include <board_state_summarizer_interface.hpp>

Inheritance diagram for BoardStateCoordinator< ConcreteBoardStateCoordinator, KeyType >:
Inheritance graph
Collaboration diagram for BoardStateCoordinator< ConcreteBoardStateCoordinator, KeyType >:
Collaboration graph

Public Types

typedef KeyType ZobristKey_t
 

Public Member Functions

void FullBoardStateCalc (const BoardMap_t &board_map)
 
void UpdateBoardState (const ExecutedMove &move)
 
ZobristKey_t GetState ()
 
void RecordTrData (DepthType search_depth, moveselection::MinimaxResultType result_type, moveselection::EqualScoreMoves &similar_moves, MoveCountType access_index)
 
moveselection::TranspositionTableSearchResult GetTrData (DepthType search_depth, MoveCountType access_index)
 
size_t GetTrTableSize ()
 
void UpdateMoveCounter ()
 

Detailed Description

template<typename ConcreteBoardStateCoordinator, typename KeyType>
class BoardStateCoordinator< ConcreteBoardStateCoordinator, KeyType >

CRTP Interface with methods to calculate / read / update hash values representing a board state; and storing and retreiving data from completed calculations of scores associated with specific board states (concrete example = boardstate::SingleZobristCoordinator).

Definition at line 16 of file board_state_summarizer_interface.hpp.

Member Typedef Documentation

◆ ZobristKey_t

template<typename ConcreteBoardStateCoordinator , typename KeyType >
typedef KeyType BoardStateCoordinator< ConcreteBoardStateCoordinator, KeyType >::ZobristKey_t

Definition at line 18 of file board_state_summarizer_interface.hpp.

Member Function Documentation

◆ FullBoardStateCalc()

template<typename ConcreteBoardStateCoordinator , typename KeyType >
void BoardStateCoordinator< ConcreteBoardStateCoordinator, KeyType >::FullBoardStateCalc ( const BoardMap_t board_map)
inline

Definition at line 19 of file board_state_summarizer_interface.hpp.

◆ GetState()

template<typename ConcreteBoardStateCoordinator , typename KeyType >
ZobristKey_t BoardStateCoordinator< ConcreteBoardStateCoordinator, KeyType >::GetState ( )
inline

Definition at line 31 of file board_state_summarizer_interface.hpp.

◆ GetTrData()

template<typename ConcreteBoardStateCoordinator , typename KeyType >
moveselection::TranspositionTableSearchResult BoardStateCoordinator< ConcreteBoardStateCoordinator, KeyType >::GetTrData ( DepthType  search_depth,
MoveCountType  access_index 
)
inline

Definition at line 45 of file board_state_summarizer_interface.hpp.

◆ GetTrTableSize()

template<typename ConcreteBoardStateCoordinator , typename KeyType >
size_t BoardStateCoordinator< ConcreteBoardStateCoordinator, KeyType >::GetTrTableSize ( )
inline

Definition at line 55 of file board_state_summarizer_interface.hpp.

◆ RecordTrData()

template<typename ConcreteBoardStateCoordinator , typename KeyType >
void BoardStateCoordinator< ConcreteBoardStateCoordinator, KeyType >::RecordTrData ( DepthType  search_depth,
moveselection::MinimaxResultType  result_type,
moveselection::EqualScoreMoves similar_moves,
MoveCountType  access_index 
)
inline

Definition at line 35 of file board_state_summarizer_interface.hpp.

◆ UpdateBoardState()

template<typename ConcreteBoardStateCoordinator , typename KeyType >
void BoardStateCoordinator< ConcreteBoardStateCoordinator, KeyType >::UpdateBoardState ( const ExecutedMove move)
inline

Definition at line 25 of file board_state_summarizer_interface.hpp.

◆ UpdateMoveCounter()

template<typename ConcreteBoardStateCoordinator , typename KeyType >
void BoardStateCoordinator< ConcreteBoardStateCoordinator, KeyType >::UpdateMoveCounter ( )
inline

Definition at line 59 of file board_state_summarizer_interface.hpp.


The documentation for this class was generated from the following file: