osl::checkmate::Dfpn::Node Struct Reference
Inheritance diagram for osl::checkmate::Dfpn::Node:

## Public Member Functions

const PieceStand | nextWhiteStand (Player P, Move move) const
void | clear ()
void | allocate (int n)
void | setLoopDetection ()
const PathEncoding | newPath (int c) const
bool | isLoop (int c) const
void | setCheckmateAttack (Player attack, int best_i)
void | setNoCheckmateDefense (Player attack, int best_i)
void | setCheckmateDefense (Player attack, const NumEffectState &state)
void | setNoCheckmateAttack (Player attack, const NumEffectState &state)
void | setCheckmateChildInDefense (size_t i)
void | setNoCheckmateChildInAttack (size_t i)

## Public Attributes

DfpnMoveVector | moves
FixedCapacityVector< DfpnRecord, DfpnMaxUniqMoves > | children
FixedCapacityVector< const DfpnPathRecord *, DfpnMaxUniqMoves > | children_path
CArray< HashKey, DfpnMaxUniqMoves > | hashes
FixedCapacityVector< int8_t, DfpnMaxUniqMoves > | proof_cost
size_t | visit_time
Public Attributes inherited from osl::checkmate::Dfpn::NodeBase
HashKey | hash_key
PathEncoding | path
ProofDisproof | threshold
Move | moved
PieceStand | white_stand
DfpnRecord | record
DfpnPathRecord * | path_record

## Detailed Description

Definition at line 349 of file dfpn.cc.

## Member Function Documentation

## allocate()

void osl::checkmate::Dfpn::Node::allocate | ( | int | n | ) |

inline

Definition at line 370 of file dfpn.cc.

References children, children_path, and proof_cost.

Referenced by osl::checkmate::Dfpn::attack(), osl::checkmate::Dfpn::defense(), osl::checkmate::Dfpn::proofOracleAttack(), and osl::checkmate::Dfpn::proofOracleDefense().

## clear()

void osl::checkmate::Dfpn::Node::clear | ( |  | ) |

inline

Definition at line 363 of file dfpn.cc.

References children, children_path, moves, and proof_cost.

Referenced by osl::checkmate::Dfpn::hasCheckmateMove(), osl::checkmate::Dfpn::hasEscapeMove(), osl::checkmate::Dfpn::Tree::newVisit(), and osl::checkmate::Dfpn::tryProofMain().

## isLoop()

bool osl::checkmate::Dfpn::Node::isLoop | ( | int | c | ) | const

inline

Definition at line 391 of file dfpn.cc.

References children, children_path, and newPath().

Referenced by osl::checkmate::Dfpn::attack(), osl::checkmate::Dfpn::blockingSimulation(), osl::checkmate::Dfpn::defense(), osl::checkmate::Dfpn::proofOracleAttack(), and osl::checkmate::Dfpn::proofOracleDefense().

## newPath()

const PathEncoding osl::checkmate::Dfpn::Node::newPath | ( | int | c | ) | const

inline

Definition at line 385 of file dfpn.cc.

References moves, osl::checkmate::Dfpn::NodeBase::path, and osl::PathEncoding::pushMove().

Referenced by isLoop().

## nextWhiteStand()

const PieceStand osl::checkmate::Dfpn::Node::nextWhiteStand | ( | Player | P,
|  | Move | move ) const

inline

Definition at line 358 of file dfpn.cc.

References osl::Move::player(), osl::WHITE, and osl::checkmate::Dfpn::NodeBase::white_stand.

Referenced by osl::checkmate::Dfpn::attack(), osl::checkmate::Dfpn::defense(), osl::checkmate::Dfpn::grandParentSimulation(), osl::checkmate::Dfpn::proofOracleAttack(), and osl::checkmate::Dfpn::proofOracleDefense().

## setCheckmateAttack()

void osl::checkmate::Dfpn::Node::setCheckmateAttack | ( | Player | attack,
|  | int | best_i )

inline

Definition at line 401 of file dfpn.cc.

References osl::checkmate::Dfpn::attack(), osl::checkmate::ProofPieces::attack(), children, osl::checkmate::ProofDisproof::isCheckmateSuccess(), moves, osl::checkmate::DfpnRecordBase::proof_disproof, osl::checkmate::DfpnRecord::proofPieces(), and osl::checkmate::Dfpn::NodeBase::record.

Referenced by osl::checkmate::Dfpn::attack(), and osl::checkmate::Dfpn::proofOracleAttack().

## setCheckmateChildInDefense()

void osl::checkmate::Dfpn::Node::setCheckmateChildInDefense | ( | size_t | i | ) |

inline

Definition at line 446 of file dfpn.cc.

References children, and osl::checkmate::Dfpn::NodeBase::record.

Referenced by osl::checkmate::Dfpn::blockingSimulation(), osl::checkmate::Dfpn::defense(), and osl::checkmate::Dfpn::proofOracleDefense().

## setCheckmateDefense()

void osl::checkmate::Dfpn::Node::setCheckmateDefense | ( | Player | attack,
|  | const NumEffectState & | state )

inline

Definition at line 424 of file dfpn.cc.

References osl::checkmate::ProofPiecesUtil::addMonopolizedPieces(), osl::alt(), osl::checkmate::Dfpn::attack(), osl::checkmate::ProofDisproof::Checkmate(), osl::NumEffectState::inUnblockableCheck(), moves, and osl::checkmate::Dfpn::NodeBase::record.

Referenced by osl::checkmate::Dfpn::defense(), and osl::checkmate::Dfpn::proofOracleDefense().

## setLoopDetection()

void osl::checkmate::Dfpn::Node::setLoopDetection | ( |  | ) |

inline

Definition at line 378 of file dfpn.cc.

References osl::checkmate::Dfpn::NodeBase::path, osl::checkmate::Dfpn::NodeBase::path_record, and osl::checkmate::Dfpn::NodeBase::record.

Referenced by osl::checkmate::Dfpn::attack(), osl::checkmate::Dfpn::defense(), osl::checkmate::Dfpn::proofOracleAttack(), and osl::checkmate::Dfpn::proofOracleDefense().

## setNoCheckmateAttack()

void osl::checkmate::Dfpn::Node::setNoCheckmateAttack | ( | Player | attack,
|  | const NumEffectState & | state )

inline

Definition at line 436 of file dfpn.cc.

References osl::checkmate::ProofPiecesUtil::addMonopolizedPieces(), osl::alt(), osl::checkmate::Dfpn::attack(), moves, and osl::checkmate::Dfpn::NodeBase::record.

Referenced by osl::checkmate::Dfpn::attack().

## setNoCheckmateChildInAttack()

void osl::checkmate::Dfpn::Node::setNoCheckmateChildInAttack | ( | size_t | i | ) |

inline

Definition at line 456 of file dfpn.cc.

References children, and osl::checkmate::Dfpn::NodeBase::record.

## setNoCheckmateDefense()

void osl::checkmate::Dfpn::Node::setNoCheckmateDefense | ( | Player | attack,
|  | int | best_i )

inline

Definition at line 412 of file dfpn.cc.

References osl::alt(), osl::checkmate::Dfpn::attack(), children, osl::checkmate::DisproofPieces::defense(), osl::checkmate::DfpnRecord::disproofPieces(), osl::checkmate::ProofDisproof::isCheckmateFail(), osl::checkmate::ProofDisproof::isLoopDetection(), moves, osl::checkmate::DfpnRecordBase::proof_disproof, and osl::checkmate::Dfpn::NodeBase::record.

## Member Data Documentation

## children

FixedCapacityVector<DfpnRecord,DfpnMaxUniqMoves> osl::checkmate::Dfpn::Node::children

Definition at line 352 of file dfpn.cc.

Referenced by allocate(), osl::checkmate::Dfpn::attack(), osl::checkmate::Dfpn::blockingSimulation(), clear(), osl::checkmate::Dfpn::defense(), osl::checkmate::Dfpn::grandParentSimulation(), isLoop(), osl::checkmate::Dfpn::proofOracleAttack(), osl::checkmate::Dfpn::proofOracleDefense(), setCheckmateAttack(), setCheckmateChildInDefense(), setNoCheckmateChildInAttack(), and setNoCheckmateDefense().

## children_path

FixedCapacityVector<const DfpnPathRecord*,DfpnMaxUniqMoves> osl::checkmate::Dfpn::Node::children_path

Definition at line 353 of file dfpn.cc.

Referenced by allocate(), osl::checkmate::Dfpn::attack(), osl::checkmate::Dfpn::blockingSimulation(), clear(), osl::checkmate::Dfpn::defense(), osl::checkmate::Dfpn::grandParentSimulation(), isLoop(), osl::checkmate::Dfpn::proofOracleAttack(), and osl::checkmate::Dfpn::proofOracleDefense().

## hashes

CArray<HashKey,DfpnMaxUniqMoves> osl::checkmate::Dfpn::Node::hashes

Definition at line 354 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::attack(), osl::checkmate::Dfpn::blockingSimulation(), osl::checkmate::Dfpn::defense(), osl::checkmate::Dfpn::grandParentSimulation(), and osl::checkmate::Dfpn::proofOracleDefense().

## moves

DfpnMoveVector osl::checkmate::Dfpn::Node::moves

Definition at line 351 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::attack(), osl::checkmate::Dfpn::blockingSimulation(), clear(), osl::checkmate::Dfpn::defense(), osl::checkmate::Dfpn::grandParentSimulation(), newPath(), osl::checkmate::Dfpn::proofOracleAttack(), osl::checkmate::Dfpn::proofOracleDefense(), setCheckmateAttack(), setCheckmateDefense(), setNoCheckmateAttack(), and setNoCheckmateDefense().

## proof_cost

FixedCapacityVector<int8_t,DfpnMaxUniqMoves> osl::checkmate::Dfpn::Node::proof_cost

Definition at line 355 of file dfpn.cc.

Referenced by allocate(), osl::checkmate::Dfpn::attack(), and clear().

## visit_time

size_t osl::checkmate::Dfpn::Node::visit_time

Definition at line 356 of file dfpn.cc.

Referenced by osl::checkmate::Dfpn::attack(), and osl::checkmate::Dfpn::defense().

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

- dfpn.cc