AK: Add ensure_capacity() for HashMap and HashTable.

These functions make sure that the underlying table can accomodate at least
'capacity' entries before needing a rehash.
This commit is contained in:
Andreas Kling 2019-05-27 13:07:20 +02:00
parent 4fb2e5d8af
commit 12120167a9
2 changed files with 8 additions and 0 deletions

View file

@ -69,6 +69,8 @@ public:
ConstIteratorType end() const { return m_table.end(); }
ConstIteratorType find(const K&) const;
void ensure_capacity(int capacity) { m_table.ensure_capacity(capacity); }
void dump() const { m_table.dump(); }
V get(const K& key) const

View file

@ -49,6 +49,12 @@ public:
int size() const { return m_size; }
int capacity() const { return m_capacity; }
void ensure_capacity(int capacity)
{
ASSERT(capacity >= size());
rehash(capacity);
}
void set(const T&);
void set(T&&);
bool contains(const T&) const;