| 43 | #endif |
| 44 | |
| 45 | template <int n> struct Unroll { |
| 46 | template <typename Func, typename... Args> ALWAYS_INLINE void operator()(const Func& f, Args... args) const { |
| 47 | Unroll<n - 1>{}(f, args...); |
| 48 | f(std::integral_constant<int, n - 1>{}, args...); |
| 49 | } |
| 50 | }; |
| 51 | |
| 52 | template <> struct Unroll<1> { |
| 53 | template <typename Func, typename... Args> ALWAYS_INLINE void operator()(const Func& f, Args... args) const { |
nothing calls this directly
no outgoing calls
no test coverage detected