AS
template <int First, int Last, typename Functor>Когда-то здесь обсуждали, что это эффективнее реализуется на fold expression, но я не видел реализации, и сейчас тоже не могу её найти. Не подскажете?
constexpr void constexpr_for([[maybe_unused]] Functor&& f) noexcept
{
if constexpr (First < Last)
{
f(value_as_type<First>{});
constexpr_for<First + 1, Last, Functor>(std::forward<Functor>(f));
}
}