Как вызвать функцию для всех переменных шаблонов?
Я хотел бы сделать
template void print(ArgTypes... Args)
{
print(Args)...;
}
И пусть это будет эквивалентно этой довольно громоздкой рекурсивной цепочке:
template void print(const T& t, ArgTypes... Args)
{
print(t);
print(Args...);
}
сопровождаемый явными однопараметрическими специализациями для каждого типа I 'Я хотел бы напечатать.
"проблема» с рекурсивной реализацией является то, что генерируется много избыточного кода, потому что каждый рекурсивный шаг приводит к новой функцииN-1
аргументы, тогда как код I 'Хотелось бы, чтобы генерировался код только для одногоN
-Argprint
функционировать и иметь максимумN
специализированныйprint
функции.