Title
(forward_)list specialized remove algorithms are over constrained
Status
nad
Section
[forward.list.ops][list.ops]
Submitter
Daniel Krügler

Created on 2008-10-06.00:00:00 last changed 171 months ago

Messages

Date: 2010-10-21.18:28:33

Proposed resolution:

  1. Replace in [forwardlist.ops] before 11 and in [list.ops] before 15

    requires EqualityComparable<T> HasEqualTo<T, T> void remove(const T& value);
    
Date: 2010-10-21.18:28:33

[ 2009-10 Santa Cruz: ]

NAD, solved by the removal of concepts.

Date: 2009-10-10.00:00:00

[ 2009-10-10 Daniel adds: ]

Recommend NAD: The concept-free wording as of N2960 has no longer the over-specified requirement EqualityComparable for the remove function that uses ==. In fact, now the same test conditions exists as for the free algorithm remove ([alg.remove]). The error was introduced in the process of conceptifying.

Date: 2009-07-21.00:00:00

[ 2009-07-21 Alisdair adds: ]

Current rationale and wording for this issue is built around concepts. I suggest the issue reverts to Open status. I believe there is enough of an issue to review after concepts are removed from the WP to re-examine the issue in Santa Cruz, rather than resolve as NAD Concepts.

Date: 2010-10-21.18:28:33

[ Batavia (2009-05): ]

We agree with the proposed resolution, but would like additional input from concepts experts.

Move to Review.

Date: 2008-10-06.00:00:00

The signatures of forwardlist::remove and list::remove defined in [forwardlist.ops] before 11 + [list.ops] before 15:

requires EqualityComparable<T> void remove(const T& value);

are asymmetric to their predicate variants (which only require Predicate, not EquivalenceRelation) and with the free algorithm remove (which only require HasEqualTo). Also, nothing in the pre-concept WP N2723 implies that EqualityComparable should be the intended requirement.

History
Date User Action Args
2010-10-21 18:28:33adminsetmessages: + msg4368
2010-10-21 18:28:33adminsetmessages: + msg4367
2010-10-21 18:28:33adminsetmessages: + msg4366
2010-10-21 18:28:33adminsetmessages: + msg4365
2010-10-21 18:28:33adminsetmessages: + msg4364
2008-10-06 00:00:00admincreate