Kirit Sælensminde wrote:
John Maddock wrote:
Kirit Sælensminde wrote:
I think I have a misunderstanding of what the boost::function_traits is doing. From your explanation it seems that boost::function_traits is there to examine only function signatures where a function type is of the form R( A1, A2, etc. ), Correct.
What is the reason for the restriction?
Well theoretically we could have a 'remove_member_pointer' as well. Unfortunately it's not easily implementable without running into a lot of compiler-specific trouble. The Boost CVS/SVN contains a library that is dedicated to deal with this trouble. See $(BOOST_ROOT)/libs/function_types/docs/html/index.html it should contain easily readable traits for all the use cases you mentioned in this thread. Regards, Tobias