- ranges[meta header]
- function template[meta id-type]
- cpp23[meta cpp]
namespace std::ranges {
template<class F, class Tuple>
constexpr auto tuple-transform(F&& f, Tuple&& t) {
return apply([&]<class... Ts>(Ts&&... elements) {
return tuple<invoke_result_t<F&, Ts>...>(invoke(f, std::forward<Ts>(elements))...);
}, std::forward<Tuple>(t));
}
}
tuple-transform
は、tuple
の各要素に対して関数を適用し、それらの結果を要素とするtuple
を生成する説明専用の関数テンプレートである。
- C++23