Title
tuple construction
Status
c++11
Section
[tuple.cnstr]
Submitter
Alisdair Meredith

Created on 2008-09-15.00:00:00 last changed 162 months ago

Messages

Date: 2010-10-21.18:28:33

Proposed resolution:

Change p2 in Construction [tuple.cnstr]:

requires DefaultConstructible<Types>... tuple();

-2- Effects: Default Value-initializes each element.

Date: 2010-10-21.18:28:33

[ 2009-07 Frankfurt ]

Move to Ready.

Date: 2009-05-04.00:00:00

[ 2009-05-04 Alisdair provided wording and adds: ]

Note: This IS a change of semantic from TR1, although one the room agreed with during the discussion. To preserve TR1 semantics, this would have been worded:

requires DefaultConstructible<Types>... tuple();

-2- Effects: Default-initializes each non-trivial element.

Date: 2010-10-21.18:28:33

[ San Francisco: ]

Text in draft doesn't mean anything, changing to "non-trivial" makes it meaningful.

We prefer "value initializes". Present implementations use value-initialization. Users who don't want value initialization have alternatives.

Request resolution text from Alisdair.

This issue relates to Issue 868 default construction and value-initialization.

Date: 2008-09-15.00:00:00

[tuple.cnstr]:

Effects: Default initializes each element.

Could be clarified to state each "non-trivial" element. Otherwise we have a conflict with Core deinfition of default initialization - trivial types do not get initialized (rather than initialization having no effect)

I'm going to punt on this one, because it's not an issue that's related to concepts. I suggest bringing it to Howard's attention on the reflector.

History
Date User Action Args
2011-08-23 20:07:26adminsetstatus: wp -> c++11
2010-10-21 18:28:33adminsetmessages: + msg4199
2010-10-21 18:28:33adminsetmessages: + msg4198
2010-10-21 18:28:33adminsetmessages: + msg4197
2010-10-21 18:28:33adminsetmessages: + msg4196
2008-09-15 00:00:00admincreate