My Project
Public Member Functions | Private Types | Private Attributes | List of all members
osl::checkmate::DfpnPathTable Class Reference

Public Member Functions

 DfpnPathTable ()
 
template<Player Attack>
DfpnPathRecordallocate (const HashKey &key, int depth, LoopToDominance &loop)
 
const DfpnPathRecordprobe (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.

Member Function Documentation

◆ allocate()

template<Player Attack>
DfpnPathRecord * osl::checkmate::DfpnPathTable::allocate ( const HashKey key,
int  depth,
LoopToDominance loop 
)
inline

◆ 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

◆ 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 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(), runGC(), and size().


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