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