tuple
copy constructorSection: 22.4.4.2 [tuple.cnstr] Status: Resolved Submitter: Alisdair Meredith Opened: 2009-05-23 Last modified: 2016-01-28
Priority: Not Prioritized
View other active issues in [tuple.cnstr].
View all other issues in [tuple.cnstr].
View all issues with Resolved status.
Discussion:
The copy constructor for the tuple
template is constrained. This seems an
unusual strategy, as the copy constructor will be implicitly deleted if the
constraints are not met. This is exactly the same effect as requesting an
=default;
constructor. The advantage of the latter is that it retains
triviality, and provides support for tuple
s as literal types if issue
1116 is also accepted.
Actually, it might be worth checking with core if a constrained copy constructor is treated as a constructor template, and as such does not suppress the implicit generation of the copy constructor which would hide the template in this case.
[ 2009-05-27 Daniel adds: ]
This would solve one half of the suggested changes in 801.
[ 2009-10 Santa Cruz: ]
NAD EditorialResolved. Solved by N2994.
Proposed resolution:
Change 22.4.4 [tuple.tuple] and 22.4.4.2 [tuple.cnstr] p4:
requires CopyConstructible<Types>...tuple(const tuple&) = default;