Is it possible to use a general function pointer as a template parameter? The function pointer template can accept free functions, member functions, and lambda functions. For simplicity, assuming the functions has only one argument, like
template<class ArgumentT, class ReturnT, function* f>
struct A
{
// f is used somewhere.
};