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

4384. flat_set::erase(iterator) is underconstrained

Section: 23.6.11.2 [flat.set.defn], 23.6.12.2 [flat.multiset.defn] Status: New Submitter: Hewill Kang Opened: 2025-09-25 Last modified: 2025-09-27

Priority: Not Prioritized

View all issues with New status.

Discussion:

This is a follow-up of LWG 3704(i) since we now have flat_set and flat_multiset.

Proposed resolution:

This wording is relative to N5014.

  1. Modify 23.6.11.2 [flat.set.defn] as indicated:

    iterator erase(iterator position) requires (!same_as<iterator, const_iterator>);
    iterator erase(const_iterator position);
    
  2. Modify 23.6.12.2 [flat.multiset.defn] as indicated:

    iterator erase(iterator position) requires (!same_as<iterator, const_iterator>);
    iterator erase(const_iterator position);