Created on 2021-02-28.00:00:00 last changed 12 months ago
Proposed resolution:
This wording is relative to N4878.
Edit [tuple.apply] as indicated:
template<class T, class Tuple> constexpr T make_from_tuple(Tuple&& t);[…]
-2- Effects: Given the exposition-only function:template<class T, class Tuple, size_t... I> requires is_constructible_v<T, decltype(get<I>(declval<Tuple>()))...> constexpr T make-from-tuple-impl(Tuple&& t, index_sequence<I...>) { // exposition only return T(get<I>(std::forward<Tuple>(t))...); }Equivalent to:
return make-from-tuple-impl<T>( std::forward<Tuple>(t), make_index_sequence<tuple_size_v<remove_reference_t<Tuple>>>{});[Note 1: The type of T must be supplied as an explicit template parameter, as it cannot be deduced from the argument list. — end note]
[ 2021-06-07 Approved at June 2021 virtual plenary. Status changed: Voting → WP. ]
[ 2021-03-12; Reflector poll ]
Set priority to 3 following reflector poll. Set status to Tentatively Ready after five votes in favour during reflector poll.
make_from_tuple is specified to return T(get<I>(std::forward<Tuple>(t))...). When there is only a single tuple element, this is equivalent to a C-style cast that may be a reinterpret_cast, a const_cast, or an access-bypassing static_cast.
History | |||
---|---|---|---|
Date | User | Action | Args |
2023-11-22 15:47:43 | admin | set | status: wp -> c++23 |
2021-06-07 16:58:04 | admin | set | messages: + msg11898 |
2021-06-07 16:58:04 | admin | set | status: voting -> wp |
2021-05-26 21:11:22 | admin | set | status: ready -> voting |
2021-03-12 15:11:05 | admin | set | messages: + msg11737 |
2021-03-12 15:11:05 | admin | set | status: new -> ready |
2021-02-28 14:42:33 | admin | set | messages: + msg11719 |
2021-02-28 00:00:00 | admin | create |