about summary refs log tree commit diff stats
path: root/src/server/hashtable.h
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-03-20 10:36:43 +0100
committerChristian Krinitsin <mail@krinitsin.com>2025-03-20 10:36:43 +0100
commit5ffee8c7163e2324bd35b8d99fc69012c2f31578 (patch)
tree39081845933d1e9668ecefb28a2512cfb9d04bbd /src/server/hashtable.h
parent88cf221363433664d45d9431535934f28768166c (diff)
downloadBT-Programming-Assignment-5ffee8c7163e2324bd35b8d99fc69012c2f31578.tar.gz
BT-Programming-Assignment-5ffee8c7163e2324bd35b8d99fc69012c2f31578.zip
server: add hashtable removed
Diffstat (limited to 'src/server/hashtable.h')
-rw-r--r--src/server/hashtable.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/server/hashtable.h b/src/server/hashtable.h
index 735af26..ad4882b 100644
--- a/src/server/hashtable.h
+++ b/src/server/hashtable.h
@@ -2,6 +2,7 @@
 
 #include <algorithm>
 #include <list>
+#include <optional>
 #include <vector>
 
 template <typename K, typename V>
@@ -37,6 +38,19 @@ public:
         return std::optional<V>();
     }
 
+    bool remove(K key)
+    {
+        std::list<std::pair<K, V>> list = get_bucket(key);
+
+        auto iter = bucket_find_key(list, key);
+        if (iter != list.end()) {
+            list.erase(iter);
+            return true;
+        }
+
+        return false;
+    }
+
 private:
     size_t size;