Templa 0.0.1-alpha
C++ Metaprogramming Utilities
Loading...
Searching...
No Matches
static_for.hpp
1#pragma once
2
3namespace templa
4{
22 template <std::size_t N, typename F, typename... Args>
23 [[nodiscard]] constexpr auto static_for(F &&f, Args &&...args)
24 {
25 return []<std::size_t... I>(std::index_sequence<I...>, F &&f, Args &&...args) constexpr
26 {
27 std::forward<F>(f).template operator()<I...>(std::forward<Args>(args)...);
28 }(std::make_index_sequence<N>{}, std::forward<F>(f), std::forward<Args>(args)...);
29 };
30};