diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/smallmap_type.hpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/core/smallmap_type.hpp b/src/core/smallmap_type.hpp index 060a36d27..dda0fc2a1 100644 --- a/src/core/smallmap_type.hpp +++ b/src/core/smallmap_type.hpp @@ -54,6 +54,19 @@ struct SmallMap : SmallVector<SmallPair<T, U>, S> { * @param key key to find * @return &Pair(key, data) if found, this->End() if not */ + inline const Pair *Find(const T &key) const + { + for (uint i = 0; i < this->items; i++) { + if (key == this->data[i].first) return &this->data[i]; + } + return this->End(); + } + + /** + * Finds given key in this map + * @param key key to find + * @return &Pair(key, data) if found, this->End() if not + */ inline Pair *Find(const T &key) { for (uint i = 0; i < this->items; i++) { @@ -67,7 +80,7 @@ struct SmallMap : SmallVector<SmallPair<T, U>, S> { * @param key key to test * @return true iff the item is present */ - inline bool Contains(const T &key) + inline bool Contains(const T &key) const { return this->Find(key) != this->End(); } |