From 355733263fba0fe0e990c38904c07715fbdd074b Mon Sep 17 00:00:00 2001 From: fallenoak Date: Sun, 26 Mar 2023 21:10:53 -0500 Subject: [PATCH] feat(hash): support deleting objects from hash table --- storm/hash/TSExportTableSimple.hpp | 0 storm/hash/TSHashTable.hpp | 7 +++++++ 2 files changed, 7 insertions(+) create mode 100644 storm/hash/TSExportTableSimple.hpp diff --git a/storm/hash/TSExportTableSimple.hpp b/storm/hash/TSExportTableSimple.hpp new file mode 100644 index 0000000..e69de29 diff --git a/storm/hash/TSHashTable.hpp b/storm/hash/TSHashTable.hpp index 3282bde..a737ed5 100644 --- a/storm/hash/TSHashTable.hpp +++ b/storm/hash/TSHashTable.hpp @@ -14,6 +14,7 @@ class TSHashTable { // Member functions void Clear(); + void Delete(T* ptr); T* Head(); void Insert(T* ptr, uint32_t hashval, const TKey& key); T* New(const char* str, size_t extrabytes, uint32_t flags); @@ -61,6 +62,12 @@ void TSHashTable::Clear() { this->InternalClear(0); } +template +void TSHashTable::Delete(T* ptr) { + this->Unlink(ptr); + this->InternalDelete(ptr); +} + template void TSHashTable::Destroy() { this->InternalClear(1);