A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cplusplus.github.io/LWG/issue916 below:

Redundant move-assignment operator of pair should be removed

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

916. Redundant move-assignment operator of pair should be removed

Section: 22.3 [pairs] Status: NAD Submitter: Daniel Krügler Opened: 2008-10-04 Last modified: 2016-01-28

Priority: Not Prioritized

View all other issues in [pairs].

View all issues with NAD status.

Discussion:

see also 917(i).

The current WP provides the following assignment operators for pair in 22.3 [pairs]/1:

  1. template<class U , class V>
    requires HasAssign<T1, const U&> && HasAssign<T2, const V&>
    pair& operator=(const pair<U , V>& p);
    
  2. requires MoveAssignable<T1> && MoveAssignable<T2> pair& operator=(pair&& p );
    
  3. template<class U , class V>
    requires HasAssign<T1, RvalueOf<U>::type> && HasAssign<T2, RvalueOf<V>::type>
    pair& operator=(pair<U , V>&& p);
    

It seems that the functionality of (2) is completely covered by (3), therefore (2) should be removed.

[ Batavia (2009-05): ]

Bill believes the extra assignment operators are necessary for resolving ambiguities, but that does not mean it needs to be part of the specification.

Move to Open. We recommend this be looked at in the context of the ongoing work related to the pair templates.

[ 2009-07 Frankfurt: ]

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

[ 2009-10 Santa Cruz: ]

Mark as NAD, see issue 801(i).

Proposed resolution:

  1. In 22.3 [pairs] p. 1, class pair and just before p. 13 remove the declaration:

    requires MoveAssignable<T1> && MoveAssignable<T2> pair& operator=(pair&& p );
    
  2. Remove p.13+p.14

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4