This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++14 status.
Section: 22.4.5 [tuple.creation] Status: C++14 Submitter: Marshall Clow Opened: 2013-07-30 Last modified: 2017-09-07
Priority: Not Prioritized
View all other issues in [tuple.creation].
View all issues with C++14 status.
Discussion:
Addresses ES 11
In n3471, a bunch of routines from header <tuple> were made constexpr.
make_tuple/tuple_cat/get<>(tuple)/relational operators — all these were "constexpr-ified". But not forward_as_tuple. Why not? This was discussed in Portland, and STL opined that this was "an omission" (along with tuple_cat, which was added) In discussion on lib@lists.isocpp.org list, Pablo agreed that forward_as_tuple should be constexpr.[2013-09 Chicago]
Moved to Immediate, this directly addresses an NB comment and the wording is non-controversial.
Accept for Working Paper
Proposed resolution:
This wording is relative to N3691.
Change header <tuple> synopsis, 22.4.1 [tuple.general] as indicated:
template <class... Types> constexpr tuple<Types&&...> forward_as_tuple(Types&&...) noexcept;
Change 22.4.5 [tuple.creation] before p5 as indicated:
template <class... Types> constexpr tuple<Types&&...> forward_as_tuple(Types&&... t) noexcept;