How does boost::function take a function pointer and get parameters from it? I want wrap a function pointer so that it can be validated before being called. And it would be nice to be able to call it like boost::function is with the () operator and not having to access the function pointer member.
Wrapper func; func(5); //Yes :D func.Ptr(5) //Easy to do, but not as nice looking