1
0
Files
wavefront-parser/src/helper.hpp

25 lines
603 B
C++

#ifndef APP_HELPER_H
#define APP_HELPER_H
#include <array>
#include <functional>
#include <variant>
template<std::size_t N, typename T>
constexpr std::array<T, N> array_fill(const T& value) {
std::array<T, N> array{};
array.fill(value);
return array;
}
template<typename F, std::size_t... I>
constexpr void _static_for_impl(F &&f, std::index_sequence<I...>) {
(f(std::integral_constant<std::size_t, I>{}), ...);
}
template<std::size_t N, typename F>
constexpr void static_for(F &&f) {
_static_for_impl(std::forward<F>(f), std::make_index_sequence<N>{});
}
#endif // APP_HELPER_H