C++0x Variadic Templates で Variadic ではない関数を実行

試しにやってみた

#include <iostream>
#include <string>

using namespace std;

void foo(int n, const string& s, double f)
{
    cout << n << "," << s << "," << f << endl;
}

template <class... T>
void va_foo(T... values)
{
    foo(values...);
}

int main()
{
    va_foo(3, "a", 3.14); // OK
    return 0;
}

これなら function もわりと簡単に作れるかな