mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-04 06:00:15 +00:00
(svn r22351) -Revert (r17101): and reinstall r16546. Hash tables are much smaller now, so it shouldn't cause crash anymore
This commit is contained in:
parent
57c2ca34d3
commit
b4967c5659
@ -145,20 +145,15 @@ protected:
|
|||||||
*/
|
*/
|
||||||
typedef CHashTableSlotT<Titem_> Slot;
|
typedef CHashTableSlotT<Titem_> Slot;
|
||||||
|
|
||||||
Slot *m_slots; // here we store our data (array of blobs)
|
Slot m_slots[Tcapacity]; // here we store our data (array of blobs)
|
||||||
int m_num_items; // item counter
|
int m_num_items; // item counter
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/* default constructor */
|
/* default constructor */
|
||||||
FORCEINLINE CHashTableT()
|
FORCEINLINE CHashTableT() : m_num_items(0)
|
||||||
{
|
{
|
||||||
/* construct all slots */
|
|
||||||
m_slots = new Slot[Tcapacity];
|
|
||||||
m_num_items = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
~CHashTableT() {delete [] m_slots; m_num_items = 0; m_slots = NULL;}
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/** static helper - return hash for the given key modulo number of slots */
|
/** static helper - return hash for the given key modulo number of slots */
|
||||||
FORCEINLINE static int CalcHash(const Tkey& key)
|
FORCEINLINE static int CalcHash(const Tkey& key)
|
||||||
@ -180,7 +175,7 @@ public:
|
|||||||
FORCEINLINE int Count() const {return m_num_items;}
|
FORCEINLINE int Count() const {return m_num_items;}
|
||||||
|
|
||||||
/** simple clear - forget all items - used by CSegmentCostCacheT.Flush() */
|
/** simple clear - forget all items - used by CSegmentCostCacheT.Flush() */
|
||||||
FORCEINLINE void Clear() const {for (int i = 0; i < Tcapacity; i++) m_slots[i].Clear();}
|
FORCEINLINE void Clear() {for (int i = 0; i < Tcapacity; i++) m_slots[i].Clear();}
|
||||||
|
|
||||||
/** const item search */
|
/** const item search */
|
||||||
const Titem_ *Find(const Tkey& key) const
|
const Titem_ *Find(const Tkey& key) const
|
||||||
|
Loading…
Reference in New Issue
Block a user