15template <
typename ConcreteBoardStateCoordinator,
typename KeyType>
20 static_cast<ConcreteBoardStateCoordinator *
>(
this)->ImplementFullBoardStateCalc(
26 return static_cast<ConcreteBoardStateCoordinator *
>(
this)->ImplementUpdateBoardState(
32 return static_cast<ConcreteBoardStateCoordinator *
>(
this)->ImplementGetState();
41 return static_cast<ConcreteBoardStateCoordinator *
>(
this)
42 ->ImplementRecordTrData(search_depth, result_type, similar_moves, access_index);
49 return static_cast<ConcreteBoardStateCoordinator *
>(
this)->ImplementGetTrData(
56 return static_cast<ConcreteBoardStateCoordinator *
>(
this)->ImplementGetTrTableSize();
60 return static_cast<ConcreteBoardStateCoordinator *
>(
this)->ImplementUpdateMoveCounter(
CRTP Interface with methods to calculate / read / update hash values representing a board state; and ...
void FullBoardStateCalc(const BoardMap_t &board_map)
moveselection::TranspositionTableSearchResult GetTrData(DepthType search_depth, MoveCountType access_index)
void RecordTrData(DepthType search_depth, moveselection::MinimaxResultType result_type, moveselection::EqualScoreMoves &similar_moves, MoveCountType access_index)
void UpdateBoardState(const ExecutedMove &move)
Holds a gameboard::MoveCollection in which all gameboard::Move have the same value (as perceived by a...
Container for storing a moveselection::MinimaxCalcResult retrieved by a call to boardstate::SingleZob...
Data structs used by moveselection::MinimaxEvaluator.
Tracking piece positions and determining legal moves.
array< array< GamePiece, kNumFiles >, kNumRanks > BoardMap_t
2-D array of gameboard::GamePiece objects.
A change in the state of a gameboard::GameBoard represented by a gameboard::Move, and each of the gam...