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.

4176. Refer back to container requirements when extending them

Section: 23 [containers] Status: New Submitter: Jonathan Wakely Opened: 2024-11-22 Last modified: 2024-11-25

Priority: Not Prioritized

View other active issues in [containers].

View all other issues in [containers].

View all issues with New status.

Discussion:

We sometimes give detailed specifications of container members which add additional specification to the common requirements in 23.2.2 [container.requirements.general], for example 23.3.11.5 [vector.modifiers] defines vector::erase without actually saying it erases any elements. The actual effects of erase are given in 23.2.4 [sequence.reqmts].

Authors of library wording often struggle with this non-local form of specification, where we sometimes do spell out container member functions in full, and sometimes rely on distant wording that applies to all containers. It would be easier if vector::erase referred back to 23.2.4 [sequence.reqmts].

Proposed resolution: