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