about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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;