What we usually do is like this:
template<class Callback>
void some_func(Callback const& callback){
....
}
What I want is like:
template<class void Callback(int)> //<---
void some_func(Callback const& callback){// not valid
....
}
We can specify the type if we pass by std::function
but it disable inlining.