From a453da290673bfec3c3919926e27f3ee700c06ce Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 3 May 2025 11:34:54 +0200 Subject: [PATCH] AK: Allow specifying HashSetExistingEntryBehavior in HashMap::set() --- AK/HashMap.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/AK/HashMap.h b/AK/HashMap.h index c60a9cd143c..d4dc439ff13 100644 --- a/AK/HashMap.h +++ b/AK/HashMap.h @@ -57,12 +57,12 @@ public: void clear() { m_table.clear(); } void clear_with_capacity() { m_table.clear_with_capacity(); } - HashSetResult set(K const& key, V const& value) { return m_table.set({ key, value }); } - HashSetResult set(K const& key, V&& value) { return m_table.set({ key, move(value) }); } - HashSetResult set(K&& key, V&& value) { return m_table.set({ move(key), move(value) }); } - ErrorOr try_set(K const& key, V const& value) { return m_table.try_set({ key, value }); } - ErrorOr try_set(K const& key, V&& value) { return m_table.try_set({ key, move(value) }); } - ErrorOr try_set(K&& key, V&& value) { return m_table.try_set({ move(key), move(value) }); } + HashSetResult set(K const& key, V const& value, HashSetExistingEntryBehavior existing_entry_behavior = HashSetExistingEntryBehavior::Replace) { return m_table.set({ key, value }, existing_entry_behavior); } + HashSetResult set(K const& key, V&& value, HashSetExistingEntryBehavior existing_entry_behavior = HashSetExistingEntryBehavior::Replace) { return m_table.set({ key, move(value) }, existing_entry_behavior); } + HashSetResult set(K&& key, V&& value, HashSetExistingEntryBehavior existing_entry_behavior = HashSetExistingEntryBehavior::Replace) { return m_table.set({ move(key), move(value) }, existing_entry_behavior); } + ErrorOr try_set(K const& key, V const& value, HashSetExistingEntryBehavior existing_entry_behavior = HashSetExistingEntryBehavior::Replace) { return m_table.try_set({ key, value }, existing_entry_behavior); } + ErrorOr try_set(K const& key, V&& value, HashSetExistingEntryBehavior existing_entry_behavior = HashSetExistingEntryBehavior::Replace) { return m_table.try_set({ key, move(value) }, existing_entry_behavior); } + ErrorOr try_set(K&& key, V&& value, HashSetExistingEntryBehavior existing_entry_behavior = HashSetExistingEntryBehavior::Replace) { return m_table.try_set({ move(key), move(value) }, existing_entry_behavior); } bool remove(K const& key) {