My Project
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, Direction DIR2>
void checkmate::DualDfpn::OraclePool::addKey ( HashKey & key,
const SimpleState & state,
Square target )
inlinestatic

Definition at line 101 of file dualDfpn.cc.

◆ addKey() [2/2]

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

Definition at line 93 of file dualDfpn.cc.

Referenced by makeKey(), and makeLargeKey().

◆ 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 makeLargeKey(), and table.

◆ makeKey()

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

Definition at line 109 of file dualDfpn.cc.

References addKey(), and defender.

Referenced by makeLargeKey().

◆ makeLargeKey()

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

Definition at line 123 of file dualDfpn.cc.

References addKey(), defender, and makeKey().

Referenced by addProof(), and probe().

◆ probe()

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

Definition at line 77 of file dualDfpn.cc.

References makeLargeKey(), and table.

◆ setAttack()

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

Definition at line 62 of file dualDfpn.cc.

References defender.

Member Data Documentation

◆ defender

Player checkmate::DualDfpn::OraclePool::defender

Definition at line 61 of file dualDfpn.cc.

Referenced by makeKey(), makeLargeKey(), and setAttack().

◆ table

table_t checkmate::DualDfpn::OraclePool::table

Definition at line 60 of file dualDfpn.cc.

Referenced by addProof(), and probe().


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