| 203 | |
| 204 | template <class T, class F> |
| 205 | CUTE_HOST_DEVICE constexpr |
| 206 | auto |
| 207 | transform(T const& t, F&& f) |
| 208 | { |
| 209 | if constexpr (is_tuple<T>::value) { |
| 210 | return detail::tapply(t, f, [](auto const&... a){ return cute::make_tuple(a...); }, tuple_seq<T>{}); |
| 211 | } else { |
| 212 | return f(t); |
| 213 | } |
| 214 | |
| 215 | CUTE_GCC_UNREACHABLE; |
| 216 | } |
| 217 | |
| 218 | template <class T0, class T1, class F> |
| 219 | CUTE_HOST_DEVICE constexpr |