У меня есть следующая проблема:Создание последовательности типа T во время компиляции
template< typename callable, typename T , size_t... N_i>
void foo()
{
using callable_out_type = std::result_of_t< callable(/* T , ... , T <- sizeof...(N_i) many */) >;
// ...
}
Я хочу, чтобы получить тип результата callable
который принимает sizeof...(N_i)
много аргументов типа T
в качестве входных данных, например, callable(1,2,3)
в случае T==int
и sizeof...(N_i)==3
. Как это можно реализовать?
Большое спасибо заранее.
Может быть, глядя на [ 'станд :: integer_sequence'] (Http: //en.cppreference. com/w/cpp/utility/integer_sequence). – NathanOliver