My Project
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
checkmate::DualDfpn::OraclePool Struct Reference

Public Types

typedef std::unordered_map< HashKey, List, std::hash< HashKey > > table_t
 

Public Member Functions

void setAttack (Player attack)
 
void addProof (const NumEffectState &state, const HashKey &key, PieceStand proof_pieces)
 
const List probe (const NumEffectState &state) const
 
const HashKey makeKey (const SimpleState &state) const
 
const std::pair< HashKey, HashKey > makeLargeKey (const SimpleState &state) const
 

Static Public Member Functions

template<Direction DIR>
static void addKey (HashKey &key, const SimpleState &state, Square target)
 
template<Direction DIR, Direction DIR2>
static void addKey (HashKey &key, const SimpleState &state, Square target)
 

Public Attributes

table_t table
 
Player defender
 

Detailed Description

Definition at line 31 of file dualDfpn.cc.

Member Typedef Documentation

◆ table_t

typedef std::unordered_map<HashKey, List, std::hash<HashKey> > checkmate::DualDfpn::OraclePool::table_t

Definition at line 59 of file dualDfpn.cc.

Member Function Documentation

◆ addKey() [1/2]

template<Direction DIR>
static void checkmate::DualDfpn::OraclePool::addKey ( HashKey &  key,
const SimpleState &  state,
Square  target 
)
inlinestatic

Definition at line 93 of file dualDfpn.cc.

◆ addKey() [2/2]

template<Direction DIR, Direction DIR2>
static void checkmate::DualDfpn::OraclePool::addKey ( HashKey &  key,
const SimpleState &  state,
Square  target 
)
inlinestatic

Definition at line 101 of file dualDfpn.cc.

◆ addProof()

void checkmate::DualDfpn::OraclePool::addProof ( const NumEffectState &  state,
const HashKey &  key,
PieceStand  proof_pieces 
)
inline

Definition at line 66 of file dualDfpn.cc.

References checkmate::DualDfpn::OraclePool::makeLargeKey().

◆ makeKey()

const HashKey checkmate::DualDfpn::OraclePool::makeKey ( const SimpleState &  state) const
inline

Definition at line 109 of file dualDfpn.cc.

Referenced by checkmate::DualDfpn::OraclePool::makeLargeKey().

◆ makeLargeKey()

const std::pair< HashKey, HashKey > checkmate::DualDfpn::OraclePool::makeLargeKey ( const SimpleState &  state) const
inline

◆ probe()

const List checkmate::DualDfpn::OraclePool::probe ( const NumEffectState &  state) const
inline

Definition at line 77 of file dualDfpn.cc.

References checkmate::DualDfpn::OraclePool::makeLargeKey().

◆ setAttack()

void checkmate::DualDfpn::OraclePool::setAttack ( Player  attack)
inline

Definition at line 62 of file dualDfpn.cc.

Member Data Documentation

◆ defender

Player checkmate::DualDfpn::OraclePool::defender

Definition at line 61 of file dualDfpn.cc.

◆ table

table_t checkmate::DualDfpn::OraclePool::table

Definition at line 60 of file dualDfpn.cc.


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