#include <functional>
template < typename R, typename ... Args >
R wrapper (std::function < R (Args ...) > f, Args ... args)
{
auto ret = f (args ...);
return ret;
}
int
f1 (int a, int b)
{
return a + b;
}
int
main ()
{
// wrapper(f1, 5, 10);
wrapper (std::function < int (int, int) > (f1), 5, 10);
}