重複の可能性:
タプルを「アンパック」して、一致する関数ポインターを呼び出す
関数とそのパラメーターをラップして、ゼロパラメーターのファンクターを作成するクロージャーオブジェクトを作成しています。
template<typename Function, typename... Args>
struct closure
{
closure(Function f, Args... args)
: f(f),args(args...)
{}
void operator()()
{
// call f using the tuple's elements as arguments
apply_from_tuple(f,args);
}
Function f;
std::tuple<Args...> args;
};
関数を構築する最も簡潔な方法は何apply_from_tuple
ですか?