Скажем, я хочу иметь функцию, как:Как получить набор параметров шаблона целых чисел int a function?
void reset()
{
(std::get</*pack of integers from 0 to 4*/>(someTuple).reset(), ...);
}
Я сделал это с вспомогательной функцией, как это:
template < size_t... Indexes >
void reset(std::integer_sequence<size_t, Indexes...>)
{
(std::get<Indexes>(someTuple).reset(), ...);
}
void reset()
{
reset(std::make_integer_sequence<size_t,5>{});
}
Но я могу добиться этого с помощью только одной функции? Попытка, как:
template < size_t... Indexes >
void reset(std::integer_sequence<size_t, Indexes...> = std::make_integer_sequence<size_t,5>{})
{
(std::get<Indexes>(someTuple).reset(), ...);
}
не удалось, как вызов reset()
разрешен к reset<>(std::integer_sequence<size_t>)
, а не reset<0,1,2,3,4>(std::integer_sequence<size_t,0,1,2,3,4>)
. Я использую последнюю версию снимка GCC-7.0.0
что у вас есть путь, имо –