Fixes StringViewDictionary::Remove(u32)
continuous-integration/drone/push Build is failing Details

This commit is contained in:
Deukhoofd 2022-05-16 17:03:29 +02:00
parent 9dc7a0c6e3
commit dd2169bb02
Signed by: Deukhoofd
GPG Key ID: F63E044490819F6F
2 changed files with 8 additions and 1 deletions

View File

@ -108,7 +108,12 @@ namespace ArbUt {
inline void Remove(const StringView& key) { _map.erase(key); }
/// @brief Removes an item with a certain key hash from the dictionary
inline void Remove(u32 keyHash) { _map.erase(keyHash); }
inline void Remove(u32 keyHash) {
auto find = _map.find(keyHash);
if (find != _map.end()) {
_map.erase(find->first);
}
}
/// @brief Returns the number of items in the dictionary.
[[nodiscard]] inline size_t Count() const noexcept { return _map.size(); }

View File

@ -116,6 +116,8 @@ TEST_CASE("Create StringViewDictionary, insert values, get values by hash") {
dic.Insert("zet"_cnc, 2000);
CHECK(dic.GetFromHash("bar"_cnc) == 100);
dic.Remove("zet"_cnc.GetHash());
CHECK(dic.Count() == 2);
}
#endif