C ++:手动创建可变参数模板参数包

时间:2015-01-07 14:50:43

标签: c++ variadic-templates

我希望能够做到这样的事情:
给定一个函数:

void some_func(int a, int b, int c) {
   cout << a << b << c;
}

void generic_call(vector<int>& v) {
    Args... args(<make_parameter_pack_from>(v));
    some_func(args...);
}

make_parameter_pack_from()接受一个参数向量,并以某种方式从中创建一个“参数包”,然后在调用some_func()时可以将其扩展为其参数。

我需要这样做的原因是我在向量中给出了参数,不知何故我需要调用一个带有这些参数的普通C ++函数。
我可以使用类似libffi的东西来构造函数调用,但我真的希望有一些C ++可变参数模板魔法可以实现这一点。

0 个答案:

没有答案