Xiangiqgame
AI engine for Xiangqi
|
Container for one or more boardstate::ZobristCalculatorForConcepts objects. More...
#include <zobrist_for_concepts.hpp>
Public Types | |
using | KeyType = typename C::KeyType |
Public Member Functions | |
C::KeyType | primary_board_state () |
std::array< typename C::KeyType, N > | confirmation_board_states () |
C::KeyType | primary_calculator_seed () |
std::array< uint32_t, N > | confirmation_calculator_seeds () const |
std::string | primary_board_state_hex_str () const |
uint32_t | prng_seed () |
Static Public Member Functions | |
static std::shared_ptr< ZobristComponentForConcepts< C, N > > | Create (uint32_t prng_seed=std::random_device{}()) |
static std::shared_ptr< ZobristComponentForConcepts< C, N > > | Create (std::shared_ptr< C > primary_calculator, std::array< std::shared_ptr< C >, N > confirmation_calculators, std::uint32_t prng_seed=0) |
Static Public Attributes | |
static size_t constexpr | NumConfKeys = N |
Private Member Functions | |
ZobristComponentForConcepts (std::shared_ptr< C > primary_calculator, std::array< std::shared_ptr< C >, N > confirmation_calculators, uint32_t prng_seed=0) | |
Constructs ZobristComponentForConcepts from existing ZobristCalculatorForConcepts objects. | |
std::array< typename C::KeyType, N > | confirmation_board_states_internal () |
std::array< uint32_t, N > | confirmation_calculator_seeds_internal () const |
Private Attributes | |
std::shared_ptr< C > | primary_calculator_ |
std::array< std::shared_ptr< C >, N > | confirmation_calculators_ |
uint32_t | prng_seed_ |
Container for one or more boardstate::ZobristCalculatorForConcepts objects.
Using more than one boardstate::ZobristCalculatorForConcepts (i.e. N > 0) allows hash collisions to be detected.
Definition at line 27 of file zobrist_for_concepts.hpp.
using boardstate::ZobristComponentForConcepts< C, N >::KeyType = typename C::KeyType |
Definition at line 34 of file zobrist_for_concepts.hpp.
|
inlineexplicitprivate |
Constructs ZobristComponentForConcepts from existing ZobristCalculatorForConcepts objects.
Definition at line 90 of file zobrist_for_concepts.hpp.
|
inline |
Definition at line 75 of file zobrist_for_concepts.hpp.
|
inlineprivate |
Definition at line 100 of file zobrist_for_concepts.hpp.
|
inline |
Definition at line 79 of file zobrist_for_concepts.hpp.
|
inlineprivate |
Definition at line 108 of file zobrist_for_concepts.hpp.
|
inlinestatic |
Definition at line 59 of file zobrist_for_concepts.hpp.
|
inlinestatic |
Definition at line 38 of file zobrist_for_concepts.hpp.
|
inline |
Definition at line 74 of file zobrist_for_concepts.hpp.
|
inline |
Definition at line 82 of file zobrist_for_concepts.hpp.
|
inline |
Definition at line 78 of file zobrist_for_concepts.hpp.
|
inline |
Definition at line 85 of file zobrist_for_concepts.hpp.
|
private |
Definition at line 30 of file zobrist_for_concepts.hpp.
|
staticconstexpr |
Definition at line 35 of file zobrist_for_concepts.hpp.
|
private |
Definition at line 29 of file zobrist_for_concepts.hpp.
|
private |
Definition at line 31 of file zobrist_for_concepts.hpp.