Xiangiqgame
AI engine for Xiangqi
Loading...
Searching...
No Matches
boardstate::ZobristComponentFactory< KeyType, NumConfKeys, G > Class Template Reference

#include <zobrist_factories.hpp>

Collaboration diagram for boardstate::ZobristComponentFactory< KeyType, NumConfKeys, G >:
Collaboration graph

Public Types

using ZobristCalculatorType = boardstate::ZobristCalculatorForConcepts< KeyType >
 
using ZobristComponentType = boardstate::ZobristComponentForConcepts< ZobristCalculatorType, NumConfKeys >
 
using ConfCalculatorsArrayType = std::array< std::shared_ptr< ZobristCalculatorType >, NumConfKeys >
 

Public Member Functions

std::shared_ptr< ZobristComponentTypeCreateRegisteredComponent (std::shared_ptr< G > game_board, uint32_t prng_seed=std::random_device{}())
 
std::shared_ptr< ZobristComponentTypeCreateUnregisteredComponent (std::shared_ptr< ZobristCalculatorType > primary_calculator, ConfCalculatorsArrayType confirmation_calculators, uint32_t prng_seed=0)
 
std::shared_ptr< ZobristComponentTypeCreateUnregisteredComponent (uint32_t prng_seed=std::random_device{}())
 

Private Attributes

ZobristCalculatorFactory< KeyType, G > zobrist_calculator_factory_
 

Detailed Description

template<typename KeyType, size_t NumConfKeys, BoardStateCalculatorRegistryConcept G>
class boardstate::ZobristComponentFactory< KeyType, NumConfKeys, G >

Definition at line 48 of file zobrist_factories.hpp.

Member Typedef Documentation

◆ ConfCalculatorsArrayType

template<typename KeyType , size_t NumConfKeys, BoardStateCalculatorRegistryConcept G>
using boardstate::ZobristComponentFactory< KeyType, NumConfKeys, G >::ConfCalculatorsArrayType = std::array<std::shared_ptr<ZobristCalculatorType>, NumConfKeys>

Definition at line 53 of file zobrist_factories.hpp.

◆ ZobristCalculatorType

template<typename KeyType , size_t NumConfKeys, BoardStateCalculatorRegistryConcept G>
using boardstate::ZobristComponentFactory< KeyType, NumConfKeys, G >::ZobristCalculatorType = boardstate::ZobristCalculatorForConcepts<KeyType>

Definition at line 50 of file zobrist_factories.hpp.

◆ ZobristComponentType

template<typename KeyType , size_t NumConfKeys, BoardStateCalculatorRegistryConcept G>
using boardstate::ZobristComponentFactory< KeyType, NumConfKeys, G >::ZobristComponentType = boardstate::ZobristComponentForConcepts<ZobristCalculatorType, NumConfKeys>

Definition at line 51 of file zobrist_factories.hpp.

Member Function Documentation

◆ CreateRegisteredComponent()

template<typename KeyType , size_t NumConfKeys, BoardStateCalculatorRegistryConcept G>
std::shared_ptr< ZobristComponentType > boardstate::ZobristComponentFactory< KeyType, NumConfKeys, G >::CreateRegisteredComponent ( std::shared_ptr< G >  game_board,
uint32_t  prng_seed = std::random_device{}() 
)
inline

Definition at line 56 of file zobrist_factories.hpp.

◆ CreateUnregisteredComponent() [1/2]

template<typename KeyType , size_t NumConfKeys, BoardStateCalculatorRegistryConcept G>
std::shared_ptr< ZobristComponentType > boardstate::ZobristComponentFactory< KeyType, NumConfKeys, G >::CreateUnregisteredComponent ( std::shared_ptr< ZobristCalculatorType primary_calculator,
ConfCalculatorsArrayType  confirmation_calculators,
uint32_t  prng_seed = 0 
)
inline

Definition at line 77 of file zobrist_factories.hpp.

◆ CreateUnregisteredComponent() [2/2]

template<typename KeyType , size_t NumConfKeys, BoardStateCalculatorRegistryConcept G>
std::shared_ptr< ZobristComponentType > boardstate::ZobristComponentFactory< KeyType, NumConfKeys, G >::CreateUnregisteredComponent ( uint32_t  prng_seed = std::random_device{}())
inline

Definition at line 89 of file zobrist_factories.hpp.

Member Data Documentation

◆ zobrist_calculator_factory_

template<typename KeyType , size_t NumConfKeys, BoardStateCalculatorRegistryConcept G>
ZobristCalculatorFactory<KeyType, G> boardstate::ZobristComponentFactory< KeyType, NumConfKeys, G >::zobrist_calculator_factory_
private

Definition at line 110 of file zobrist_factories.hpp.


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