diff --git a/src/pointer-analysis/value_set.h b/src/pointer-analysis/value_set.h index f30386e8eb5..68c41f4ce16 100644 --- a/src/pointer-analysis/value_set.h +++ b/src/pointer-analysis/value_set.h @@ -70,6 +70,8 @@ class value_sett typedef data_typet::const_iterator const_iterator; // NOLINTNEXTLINE(readability/identifiers) typedef data_typet::value_type value_type; + // NOLINTNEXTLINE(readability/identifiers) + typedef data_typet::key_type key_type; iterator begin() { return data.begin(); } const_iterator begin() const { return data.begin(); } @@ -82,7 +84,12 @@ class value_sett size_t size() const { return data.size(); } bool empty() const { return data.empty(); } - objectt &operator[](unsigned i) { return data[i]; } + void erase(key_type i) { data.erase(i); } + void erase(const_iterator it) { data.erase(it); } + + objectt &operator[](key_type i) { return data[i]; } + objectt &at(key_type i) { return data.at(i); } + const objectt &at(key_type i) const { return data.at(i); } template void insert(It b, It e) { data.insert(b, e); } diff --git a/src/util/numbering.h b/src/util/numbering.h index 4e0113a117a..f7d94e06a2c 100644 --- a/src/util/numbering.h +++ b/src/util/numbering.h @@ -152,6 +152,9 @@ class hash_numbering final T &operator[](size_type t) { return data[t]; } const T &operator[](size_type t) const { return data[t]; } + T &at(size_type t) { return data.at(t); } + const T &at(size_type t) const { return data.at(t); } + size_type size() const { return data.size(); } iterator begin() { return data.begin(); }