Title
Redundant move-assignment operator of tuple should be removed
Status
nad
Section
[tuple.cnstr]
Submitter
Daniel Krügler

Created on 2008-10-04.00:00:00 last changed 172 months ago

Messages

Date: 2010-10-21.18:28:33

Proposed resolution:

  1. In [tuple.tuple], class tuple just before member swap please change as indicated:

    This fixes an editorial loss between N2798 to N2800
    template <class... UTypes>
    requires HasAssign<Types, const UTypes&>...
    tuple& operator=(const pair<UTypes...>&);
    
    template <class... UTypes>
    requires HasAssign<Types, RvalueOf<UTypes>::type>...
    tuple& operator=(pair<UTypes...>&&);
    
  2. In [tuple.cnstr], starting just before p. 11 please remove as indicated:

    requires MoveAssignable<Types>... tuple& operator=(tuple&& u);
    

    -11- Effects: Move-assigns each element of u to the corresponding element of *this.

    -12- Returns: *this.

Date: 2010-10-21.18:28:33

[ 2009-10 Santa Cruz: ]

Mark as NAD, see issue 801.

Date: 2010-10-21.18:28:33

[ 2009-07 Frankfurt: ]

Leave this open pending the removal of concepts from the WD.

Date: 2010-10-21.18:28:33

[ Batavia (2009-05): ]

We believe that the proposed resolution's part 1 is editorial.

Regarding part 2, we either remove the specification as proposed, or else add back the declaration to which the specification refers. Alisdair and Bill prefer the latter. It is not immediately obvious whether the function is intended to be present.

We recommend that the Project Editor restore the missing declaration and that we keep part 2 of the issue alive.

Move to Open.

Date: 2010-10-21.18:28:33

[ Post Summit Daniel provided wording. ]

Date: 2008-10-04.00:00:00

see also 916.

N2770 (and thus now the WP) removed the non-template move-assignment operator from tuple's class definition, but the latter individual member description does still provide this operator. Is this (a) an oversight and can it (b) be solved as part of an editorial process?

History
Date User Action Args
2010-10-21 18:28:33adminsetmessages: + msg4357
2010-10-21 18:28:33adminsetmessages: + msg4356
2010-10-21 18:28:33adminsetmessages: + msg4355
2010-10-21 18:28:33adminsetmessages: + msg4354
2010-10-21 18:28:33adminsetmessages: + msg4353
2008-10-04 00:00:00admincreate