osl::checkmate::DfpnPathTable Class Reference

## Public Member Functions

| DfpnPathTable ()
template<Player Attack>
DfpnPathRecord * | allocate (const HashKey &key, int depth, LoopToDominance &loop)
const DfpnPathRecord * | probe (const HashKey &key) const
void | clear ()
size_t | runGC ()
size_t | size () const
void | rehash (size_t bucket_size)

## Private Types

typedef std::unordered_map< BoardKey, DfpnPathList, std::hash< BoardKey > > | table_t

## Private Attributes

table_t | table
size_t | total_size
size_t | gc_threshold

## Detailed Description

Definition at line 269 of file dfpn.cc.

## Member Typedef Documentation

## table_t

typedef std::unordered_map<BoardKey, DfpnPathList, std::hash<BoardKey> > osl::checkmate::DfpnPathTable::table_t

private

Definition at line 271 of file dfpn.cc.

## Constructor & Destructor Documentation

## DfpnPathTable()

osl::checkmate::DfpnPathTable::DfpnPathTable | ( |  | ) |

inline

Definition at line 276 of file dfpn.cc.

References gc_threshold, and total_size.

## Member Function Documentation

## allocate()

template<Player Attack>

DfpnPathRecord * osl::checkmate::DfpnPathTable::allocate | ( | const HashKey & | key,
|  | int | depth,
|  | LoopToDominance & | loop )

inline

Definition at line 280 of file dfpn.cc.

References osl::checkmate::DfpnPathList::allocate(), osl::hash::HashKey128::blackStand(), osl::hash::HashKey128::boardKey(), table, and total_size.

## clear()

void osl::checkmate::DfpnPathTable::clear | ( |  | ) |

inline

Definition at line 293 of file dfpn.cc.

References table.

## probe()

const DfpnPathRecord * osl::checkmate::DfpnPathTable::probe | ( | const HashKey & | key | ) | const

inline

Definition at line 286 of file dfpn.cc.

References osl::hash::HashKey128::blackStand(), osl::hash::HashKey128::boardKey(), and table.

## rehash()

void osl::checkmate::DfpnPathTable::rehash | ( | size_t | bucket_size | ) |

inline

Definition at line 310 of file dfpn.cc.

References table.

## runGC()

size_t osl::checkmate::DfpnPathTable::runGC | ( |  | ) |

inline

Definition at line 294 of file dfpn.cc.

References gc_threshold, osl::OslConfig::memoryUseRatio(), table, and total_size.

## size()

size_t osl::checkmate::DfpnPathTable::size | ( |  | ) | const

inline

Definition at line 309 of file dfpn.cc.

References total_size.

## Member Data Documentation

## gc_threshold

size_t osl::checkmate::DfpnPathTable::gc_threshold

private

Definition at line 274 of file dfpn.cc.

Referenced by DfpnPathTable(), and runGC().

## table

table_t osl::checkmate::DfpnPathTable::table

private

Definition at line 272 of file dfpn.cc.

Referenced by allocate(), clear(), probe(), rehash(), and runGC().

## total_size

size_t osl::checkmate::DfpnPathTable::total_size

private

Definition at line 273 of file dfpn.cc.

Referenced by allocate(), DfpnPathTable(), runGC(), and size().

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

- dfpn.cc