From dcfb2af871b76a7b65fb959b2f4ebc2da2f9e4d3 Mon Sep 17 00:00:00 2001 From: frosch Date: Wed, 14 Nov 2012 22:50:30 +0000 Subject: (svn r24741) -Add: Const-methods to SmallMap. --- src/core/smallmap_type.hpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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 @@ -49,6 +49,19 @@ struct SmallMap : SmallVector, S> { /** Data are freed in SmallVector destructor */ inline ~SmallMap() { } + /** + * Finds given key in this map + * @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 @@ -67,7 +80,7 @@ struct SmallMap : SmallVector, 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(); } -- cgit v1.2.3-70-g09d2