diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/hashtable.h | 14 |
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; |