flat_set/map: make erase() take const_iterator

This commit is contained in:
Justin Viiret 2017-01-23 15:00:22 +11:00 committed by Matthew Barr
parent 1db7f30296
commit 7c2627f2c2

View File

@ -281,11 +281,11 @@ public:
return insert(value_type(std::forward<Args>(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>(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) {