From 9b81f084af2a19da3487fa747bc40f2c4b876845 Mon Sep 17 00:00:00 2001 From: KUDr Date: Sat, 18 Nov 2006 19:20:47 +0000 Subject: (svn r7210) -CodeChange: [YAPF] the global cache object is now not destroyed/recreated whenever the cache is invalidated. It now supports Flush() method that is used instead. It should also fix mem-leak warning produced by valgrind (Tron) --- yapf/hashtable.hpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'yapf/hashtable.hpp') diff --git a/yapf/hashtable.hpp b/yapf/hashtable.hpp index 71c4eac74..c6b52e50a 100644 --- a/yapf/hashtable.hpp +++ b/yapf/hashtable.hpp @@ -12,6 +12,9 @@ struct CHashTableSlotT CHashTableSlotT() : m_pFirst(NULL) {} + /** hash table slot helper - clears the slot by simple forgetting its items */ + FORCEINLINE void Clear() {m_pFirst = NULL;} + /** hash table slot helper - linear search for item with given key through the given blob - const version */ FORCEINLINE const Titem_* Find(const Key& key) const { @@ -162,6 +165,9 @@ public: /** item count */ FORCEINLINE int Count() const {return m_num_items;} + /** simple clear - forget all items - used by CSegmentCostCacheT.Flush() */ + FORCEINLINE void Clear() const {for (int i = 0; i < Tcapacity; i++) m_slots[i].Clear();} + /** const item search */ const Titem_* Find(const Tkey& key) const { -- cgit v1.2.3-70-g09d2