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 )

inline static

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 )

inline static

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:

- dualDfpn.cc