From 33a5b28e2512a17667bb1a1cab9065f723a86041 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Wed, 2 Dec 2015 20:41:57 +0100 Subject: Added default values for hashlib at() methods --- kernel/hashlib.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'kernel/hashlib.h') diff --git a/kernel/hashlib.h b/kernel/hashlib.h index 413e77d31..f015bf4dd 100644 --- a/kernel/hashlib.h +++ b/kernel/hashlib.h @@ -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); -- cgit v1.2.3