From 7c2627f2c2ea895c0ad1149181840b8a70cbe0e4 Mon Sep 17 00:00:00 2001 From: Justin Viiret Date: Mon, 23 Jan 2017 15:00:22 +1100 Subject: [PATCH] flat_set/map: make erase() take const_iterator --- src/util/ue2_containers.h | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/util/ue2_containers.h b/src/util/ue2_containers.h index 924cae95..ea8ff7bc 100644 --- a/src/util/ue2_containers.h +++ b/src/util/ue2_containers.h @@ -281,11 +281,11 @@ public: return insert(value_type(std::forward(args)...)); } - void erase(iterator pos) { + void erase(const_iterator pos) { data().erase(pos.get()); } - void erase(iterator first, iterator last) { + void erase(const_iterator first, const_iterator last) { data().erase(first.get(), last.get()); } @@ -525,17 +525,12 @@ public: return insert(value_type(std::forward(args)...)); } - void erase(iterator pos) { - // Convert to a non-const storage iterator via pointer arithmetic. - storage_iterator it = data().begin() + distance(begin(), pos); - data().erase(it); + void erase(const_iterator pos) { + data().erase(pos.get()); } - void erase(iterator first, iterator last) { - // Convert to a non-const storage iterator via pointer arithmetic. - storage_iterator data_first = data().begin() + distance(begin(), first); - storage_iterator data_last = data().begin() + distance(begin(), last); - data().erase(data_first, data_last); + void erase(const_iterator first, const_iterator last) { + data().erase(first.get(), last.get()); } void erase(const key_type &key) {