В выступлении Андрея на GoingNative 2012 он говорит о шаблонах с переменными параметрами и объясняет в одном месте с помощью примера ниже, как работают расширения пакетов параметров. Поскольку я новичок в этой теме, мне было довольно сложно проследить, как работает каждый случай, не мог бы кто-нибудь объяснить, как расширение работает при каждом вызове функции gun
?
template void fun(Ts... vs) {
gun(A::hun(vs)...);
gun(A::hun(vs...));
gun(A::hun(vs)...);
}