From e5a2d17b5dffc69c9994d48c2c12288865b80156 Mon Sep 17 00:00:00 2001 From: Alberto Gonzalez Date: Wed, 17 Jun 2020 22:32:34 +0000 Subject: hashlib, rtlil: Add `operator+=()` to `dict<>::iterator` and `dict<>::const_iterator` and add `operator+()` and `operator+=()` to `ObjIterator`. --- kernel/hashlib.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'kernel/hashlib.h') diff --git a/kernel/hashlib.h b/kernel/hashlib.h index 5c87b55f5..52dfd1280 100644 --- a/kernel/hashlib.h +++ b/kernel/hashlib.h @@ -363,6 +363,7 @@ public: public: const_iterator() { } const_iterator operator++() { index--; return *this; } + const_iterator operator+=(int amt) { index -= amt; if(index < 0) index = -1; return *this; } bool operator<(const const_iterator &other) const { return index > other.index; } bool operator==(const const_iterator &other) const { return index == other.index; } bool operator!=(const const_iterator &other) const { return index != other.index; } @@ -380,6 +381,7 @@ public: public: iterator() { } iterator operator++() { index--; return *this; } + iterator operator+=(int amt) { index -= amt; if(index < 0) index = -1; return *this; } bool operator<(const iterator &other) const { return index > other.index; } bool operator==(const iterator &other) const { return index == other.index; } bool operator!=(const iterator &other) const { return index != other.index; } -- cgit v1.2.3 From d71a9badda20d48bcd4031f030d2d0901f837261 Mon Sep 17 00:00:00 2001 From: Alberto Gonzalez Date: Fri, 19 Jun 2020 20:57:27 +0000 Subject: dict: Remove guard for past-the-end iterators that might mask problems in static analysis. Co-Authored-By: whitequark --- kernel/hashlib.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'kernel/hashlib.h') diff --git a/kernel/hashlib.h b/kernel/hashlib.h index 52dfd1280..a523afadd 100644 --- a/kernel/hashlib.h +++ b/kernel/hashlib.h @@ -363,7 +363,7 @@ public: public: const_iterator() { } const_iterator operator++() { index--; return *this; } - const_iterator operator+=(int amt) { index -= amt; if(index < 0) index = -1; return *this; } + const_iterator operator+=(int amt) { index -= amt; return *this; } bool operator<(const const_iterator &other) const { return index > other.index; } bool operator==(const const_iterator &other) const { return index == other.index; } bool operator!=(const const_iterator &other) const { return index != other.index; } @@ -381,7 +381,7 @@ public: public: iterator() { } iterator operator++() { index--; return *this; } - iterator operator+=(int amt) { index -= amt; if(index < 0) index = -1; return *this; } + iterator operator+=(int amt) { index -= amt; return *this; } bool operator<(const iterator &other) const { return index > other.index; } bool operator==(const iterator &other) const { return index == other.index; } bool operator!=(const iterator &other) const { return index != other.index; } -- cgit v1.2.3