This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of Dup status.

### 451. Associative erase should return an iterator

Section: 22.2.6 [associative.reqmts], 22.4 [associative] Status: Dup Submitter: Bill Plauger Opened: 2004-01-30 Last modified: 2016-01-28

Priority: Not Prioritized

View other active issues in [associative.reqmts].

View all other issues in [associative.reqmts].

View all issues with Dup status.

Duplicate of: 130

Discussion:

map/multimap/set/multiset have:

        void erase(iterator);
        void erase(iterator, iterator);

But there's no good reason why these can't return an iterator, as for vector/deque/list:

        iterator erase(iterator);
        iterator erase(iterator, iterator);

Proposed resolution:

Informally: The table of associative container requirements, and the relevant template classes, should return an iterator designating the first element beyond the erased subrange.

Rationale: