Add hashlib "<container>::element(int n)" methods
authorClifford Wolf <clifford@clifford.at>
Wed, 13 Mar 2019 16:36:06 +0000 (17:36 +0100)
committerClifford Wolf <clifford@clifford.at>
Thu, 14 Mar 2019 21:04:42 +0000 (22:04 +0100)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
kernel/hashlib.h

index df534ec1bbde3229f33e3ee0c3fa47feec68817f..e7cb312ed87f63f4adf944c05bce7a4d4fd42d4e 100644 (file)
@@ -557,9 +557,11 @@ public:
        void clear() { hashtable.clear(); entries.clear(); }
 
        iterator begin() { return iterator(this, int(entries.size())-1); }
+       iterator element(int n) { return iterator(this, int(entries.size())-1-n); }
        iterator end() { return iterator(nullptr, -1); }
 
        const_iterator begin() const { return const_iterator(this, int(entries.size())-1); }
+       const_iterator element(int n) const { return const_iterator(this, int(entries.size())-1-n); }
        const_iterator end() const { return const_iterator(nullptr, -1); }
 };
 
@@ -881,9 +883,11 @@ public:
        void clear() { hashtable.clear(); entries.clear(); }
 
        iterator begin() { return iterator(this, int(entries.size())-1); }
+       iterator element(int n) { return iterator(this, int(entries.size())-1-n); }
        iterator end() { return iterator(nullptr, -1); }
 
        const_iterator begin() const { return const_iterator(this, int(entries.size())-1); }
+       const_iterator element(int n) const { return const_iterator(this, int(entries.size())-1-n); }
        const_iterator end() const { return const_iterator(nullptr, -1); }
 };
 
@@ -952,6 +956,7 @@ public:
        void clear() { database.clear(); }
 
        const_iterator begin() const { return database.begin(); }
+       const_iterator element(int n) const { return database.element(n); }
        const_iterator end() const { return database.end(); }
 };
 
@@ -1051,6 +1056,7 @@ public:
        void clear() { database.clear(); parents.clear(); }
 
        const_iterator begin() const { return database.begin(); }
+       const_iterator element(int n) const { return database.element(n); }
        const_iterator end() const { return database.end(); }
 };