OpenTTD Source
20240919-master-gdf0233f4c2
|
class CHashTableT<Titem, Thash_bits> - simple hash table of pointers allocated elsewhere. More...
#include <hashtable.hpp>
Public Types | |
typedef Titem_ | Titem |
typedef Titem_::Key | Tkey |
Public Member Functions | |
int | Count () const |
item count | |
void | Clear () |
simple clear - forget all items - used by CSegmentCostCacheT.Flush() | |
const Titem_ * | Find (const Tkey &key) const |
const item search | |
Titem_ * | Find (const Tkey &key) |
non-const item search | |
Titem_ * | TryPop (const Tkey &key) |
non-const item search & optional removal (if found) | |
Titem_ & | Pop (const Tkey &key) |
non-const item search & removal | |
bool | TryPop (Titem_ &item) |
non-const item search & optional removal (if found) | |
void | Pop (Titem_ &item) |
non-const item search & removal | |
void | Push (Titem_ &new_item) |
add one item - copy it from the given item | |
Static Public Attributes | |
static const int | Thash_bits = Thash_bits_ |
static const int | Tcapacity = 1 << Thash_bits |
Protected Types | |
typedef CHashTableSlotT< Titem_ > | Slot |
each slot contains pointer to the first item in the list, Titem contains pointer to the next item - GetHashNext(), SetHashNext() | |
Static Protected Member Functions | |
static int | CalcHash (const Tkey &key) |
static helper - return hash for the given key modulo number of slots | |
static int | CalcHash (const Titem_ &item) |
static helper - return hash for the given item modulo number of slots | |
Protected Attributes | |
Slot | m_slots [Tcapacity] |
int | m_num_items |
class CHashTableT<Titem, Thash_bits> - simple hash table of pointers allocated elsewhere.
Supports: Add/Find/Remove of Titems.
Your Titem must meet some extra requirements to be CHashTableT compliant:
In addition, the Titem::Key class must support:
Definition at line 135 of file hashtable.hpp.