osl::checkmate::DfpnTable::List Struct Reference
Inheritance diagram for osl::checkmate::DfpnTable::List:

## Public Types

typedef std::forward_list< DfpnRecord > | list_t

## Public Member Functions

| List ()
| List (const List &src)
template<Player Attack>
const DfpnRecord | probe (const HashKey &key, PieceStand white_stand) const
template<Player Attack>
const DfpnRecord | findProofOracle (const HashKey &key, PieceStand white_stand, Move last_move) const
template<Player Attack>
void | showProofOracles (const HashKey &key, PieceStand white_stand, Move last_move) const
bool | store (DfpnRecord &value, int leaving_thread_id)
void | addDag (DfpnRecord &value)
bool | setWorking (const DfpnRecord &value, int thread_id)
void | leaveWorking (PieceStand black, int thread_id)
void | testTable (const BoardKey &) const
size_t | smallTreeGC (size_t threshold)
size_t | estimateNodeCount (const HashKey &key, bool dominance_max) const
template<osl::Player A>
const osl::checkmate::DfpnRecord | probe (const HashKey &key, PieceStand white_stand) const
template<osl::Player A>
const osl::checkmate::DfpnRecord | findProofOracle (const HashKey &key, PieceStand white_stand, Move last_move) const

## Detailed Description

Definition at line 618 of file dfpn.cc.

## Member Typedef Documentation

## list_t

typedef std::forward_list<DfpnRecord> osl::checkmate::DfpnTable::List::list_t

Definition at line 620 of file dfpn.cc.

## Constructor & Destructor Documentation

## List() [1/2]

osl::checkmate::DfpnTable::List::List | ( |  | ) |

inline

Definition at line 624 of file dfpn.cc.

Referenced by List().

## List() [2/2]

osl::checkmate::DfpnTable::List::List | ( | const List & | src | ) |

inline

Definition at line 625 of file dfpn.cc.

References List().

## Member Function Documentation

## addDag()

void osl::checkmate::DfpnTable::List::addDag | ( | DfpnRecord & | value | ) |

inline

Definition at line 668 of file dfpn.cc.

References osl::BLACK, osl::checkmate::DfpnRecordBase::dag_moves, osl::checkmate::DfpnRecordBase::false_branch, osl::PieceStand::max(), osl::checkmate::DfpnRecordBase::min_pdp, osl::checkmate::DfpnRecordBase::proof_pieces_candidate, SCOPED_LOCK, osl::checkmate::DfpnRecordBase::solved, osl::checkmate::DfpnRecord::stands, and osl::checkmate::DfpnRecordBase::working_threads.

Referenced by osl::checkmate::DfpnTable::addDag().

## estimateNodeCount()

size_t osl::checkmate::DfpnTable::List::estimateNodeCount | ( | const HashKey & | key,
|  | bool | dominance_max ) const

Definition at line 827 of file dfpn.cc.

References osl::BLACK, osl::hash::HashKey128::blackStand(), and SCOPED_LOCK.

Referenced by osl::checkmate::DfpnTable::estimateNodeCount().

## findProofOracle() [1/2]

template<osl::Player A>

const osl::checkmate::DfpnRecord osl::checkmate::DfpnTable::List::findProofOracle | ( | const HashKey & | key,
|  | PieceStand | white_stand,
|  | Move | last_move ) const

Definition at line 844 of file dfpn.cc.

References osl::BLACK, osl::hash::HashKey128::blackStand(), osl::PieceStand::isSuperiorOrEqualTo(), SCOPED_LOCK, and osl::checkmate::DfpnRecord::setFrom().

## findProofOracle() [2/2]

template<Player Attack>

const DfpnRecord osl::checkmate::DfpnTable::List::findProofOracle | ( | const HashKey & | key,
|  | PieceStand | white_stand,
|  | Move | last_move ) const

Referenced by osl::checkmate::DfpnTable::findProofOracle().

## leaveWorking()

void osl::checkmate::DfpnTable::List::leaveWorking | ( | PieceStand | black,
|  | int | thread_id )

inline

Definition at line 705 of file dfpn.cc.

References osl::BLACK, and SCOPED_LOCK.

Referenced by osl::checkmate::DfpnTable::leaveWorking().

## probe() [1/2]

template<osl::Player A>

const osl::checkmate::DfpnRecord osl::checkmate::DfpnTable::List::probe | ( | const HashKey & | key,
|  | PieceStand | white_stand ) const

Definition at line 775 of file dfpn.cc.

References osl::BLACK, osl::hash::HashKey128::blackStand(), InitialDominanceDisproofMax, InitialDominanceProofMax, osl::checkmate::ProofDisproof::isFinal(), osl::PieceStand::isSuperiorOrEqualTo(), osl::checkmate::DfpnRecordBase::node_count, osl::checkmate::DfpnRecordBase::proof_disproof, SCOPED_LOCK, and osl::checkmate::DfpnRecord::setFrom().

## probe() [2/2]

template<Player Attack>

const DfpnRecord osl::checkmate::DfpnTable::List::probe | ( | const HashKey & | key,
|  | PieceStand | white_stand ) const

Referenced by osl::checkmate::DfpnTable::probe().

## setWorking()

bool osl::checkmate::DfpnTable::List::setWorking | ( | const DfpnRecord & | value,
|  | int | thread_id )

inline

Definition at line 689 of file dfpn.cc.

References osl::BLACK, SCOPED_LOCK, osl::checkmate::DfpnRecord::stands, and osl::checkmate::DfpnRecordBase::working_threads.

Referenced by osl::checkmate::DfpnTable::setWorking().

## showProofOracles()

template<Player Attack>

void osl::checkmate::DfpnTable::List::showProofOracles | ( | const HashKey & | key,
|  | PieceStand | white_stand,
|  | Move | last_move ) const

Definition at line 867 of file dfpn.cc.

References osl::BLACK, osl::hash::HashKey128::blackStand(), osl::PieceStand::isSuperiorOrEqualTo(), SCOPED_LOCK, and osl::WHITE.

Referenced by osl::checkmate::DfpnTable::showProofOracles().

## smallTreeGC()

size_t osl::checkmate::DfpnTable::List::smallTreeGC | ( | size_t | threshold | ) |

inline

Definition at line 739 of file dfpn.cc.

References SCOPED_LOCK, and threshold.

## store()

bool osl::checkmate::DfpnTable::List::store | ( | DfpnRecord & | value,
|  | int | leaving_thread_id )

inline

Definition at line 633 of file dfpn.cc.

References osl::BLACK, osl::checkmate::DfpnRecordBase::dag_moves, osl::checkmate::DfpnRecordBase::false_branch, osl::checkmate::ProofDisproof::isFinal(), osl::PieceStand::max(), osl::checkmate::DfpnRecordBase::min_pdp, osl::checkmate::DfpnRecordBase::proof_disproof, osl::checkmate::DfpnRecordBase::proof_pieces_candidate, SCOPED_LOCK, osl::checkmate::DfpnRecordBase::solved, osl::checkmate::DfpnRecord::stands, and osl::checkmate::DfpnRecordBase::working_threads.

Referenced by osl::checkmate::DfpnTable::store().

## testTable()

void osl::checkmate::DfpnTable::List::testTable | ( | const BoardKey & |  | ) | const

inline

Definition at line 719 of file dfpn.cc.

References osl::misc::BitOp::countBit(), and SCOPED_LOCK.

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

- dfpn.cc