組込のfolding-exprを再帰深度O(1)とみなすと全体でも再帰深度O(1) melpon.org #include <type_traits> #include <utility> template<typename... Types> struct make_indices_from_types { private: template <std::size_t N, std::size_t...> struct make_indices { template <std::size_t M, std::size_t... Indices> make_indices<N + M, M, Indices...> operator +(const make_indices<M, Indices...>&); }; template <typename> static constexpr