Рассмотрим случай шаблонной функции с аргументами вариационного шаблона:
template<typename Tret, typename... T> Tret func(const T&... t);
Теперь у меня есть кортеж t
значений. Как я могу вызвать func()
, используя значения кортежа в качестве аргументов?
Я прочитал о функциональном объекте bind()
, с функцией call()
, а также функции apply()
в разных некоторых устаревших документах. Реализация GNU GCC 4.4, по-видимому, имеет функцию call()
в классе bind()
, но документации по этому вопросу очень мало.
Некоторые люди предлагают ручные рекурсивные хаки, но истинное значение вариационных аргументов шаблона заключается в возможности использовать их в таких случаях, как указано выше.
Есть ли у кого-нибудь решение, или намек на то, где его читать?