Added default values for hashlib at() methods
authorClifford Wolf <clifford@clifford.at>
Wed, 2 Dec 2015 19:41:57 +0000 (20:41 +0100)
committerClifford Wolf <clifford@clifford.at>
Wed, 2 Dec 2015 19:41:57 +0000 (20:41 +0100)
kernel/hashlib.h

index 413e77d319e5fb0384d556218428182112c0708d..f015bf4ddb194c6d03a6957a6294334e4a7e4cb5 100644 (file)
@@ -506,6 +506,15 @@ public:
                return entries[i].udata.second;
        }
 
+       T at(const K &key, const T &defval) const
+       {
+               int hash = do_hash(key);
+               int i = do_lookup(key, hash);
+               if (i < 0)
+                       return defval;
+               return entries[i].udata.second;
+       }
+
        T& operator[](const K &key)
        {
                int hash = do_hash(key);
@@ -896,6 +905,15 @@ public:
                return i + offset;
        }
 
+       int at(const K &key, int defval) const
+       {
+               int hash = database.do_hash(key);
+               int i = database.do_lookup(key, hash);
+               if (i < 0)
+                       return defval;
+               return i + offset;
+       }
+
        int count(const K &key) const
        {
                int hash = database.do_hash(key);