Xiangiqgame
AI engine for Xiangqi
Loading...
Searching...
No Matches
board_state_coordinator.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <concepts>
7#include <memory>
9
10// template <typename T, typename KeyType>
11template <typename T>
13 T t,
14 const gameboard::BoardMap_t &board_map,
15 const gameboard::ExecutedMove &executed_move,
16 DepthType search_depth,
18 moveselection::EqualScoreMoves &similar_moves,
19 MoveCountType access_index
20) {
21 typename T::KeyType;
22
23 // {t.FullBoardStateCalc(board_map)} -> std::same_as<void>;
24 // {t.UpdateBoardState(executed_move)} -> std::same_as<void>;
25 {t.GetState()} -> std::same_as<typename T::KeyType>;
26 {t.RecordTrData(search_depth, result_type, similar_moves, access_index)} -> std::same_as<void>;
27 {t.GetTrData(search_depth, access_index)} -> std::same_as<moveselection::TranspositionTableSearchResult>;
28 {t.GetTrTableSize()} -> std::same_as<size_t>;
29 {t.UpdateMoveCounter()} -> std::same_as<void>;
30};
Constants, typedefs, and simple structs used by gameboard::GameBoard.
Holds a gameboard::MoveCollection in which all gameboard::Move have the same value (as perceived by a...
Data structs used by moveselection::MinimaxEvaluator.
uint16_t DepthType
uint16_t MoveCountType
Definitions and implementations of gameboard::Move and other move-related structs.
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...