Ограничить аргументы шаблона переменной
Можем ли мы ограничить аргументы шаблона переменной определенным типом? Т.е., добиться чего-то подобного (конечно, не реального C ++):
struct X {};
auto foo(X... args)
Здесь мое намерение состоит в том, чтобы иметь функцию, которая принимает переменное числоX
параметры.
Самое близкое у нас это:
template <class... Args>
auto foo(Args... args)
но это принимает любой тип параметра.