| 94 | |
| 95 | template <class T, class F, class G, int... I> |
| 96 | CUTE_HOST_DEVICE constexpr |
| 97 | auto |
| 98 | tapply(T&& t, F&& f, G&& g, seq<I...>) |
| 99 | { |
| 100 | return g(f(get<I>(static_cast<T&&>(t)))...); |
| 101 | } |
| 102 | |
| 103 | template <class T0, class T1, class F, class G, int... I> |
| 104 | CUTE_HOST_DEVICE constexpr |