A templated function that takes a function pointer can deduce the arguments of that function pointer like this:
template<class... Args>
void func(void (*ptr)(Args&& ...)) {
//Do something useful knowing the Args...
}
Can you do the same with a lambda as the argument;
without resorting to std::function or writing a metaprogramming traits class like a function_traits? i.e. deduce the arguments just using a function.