Hello,
 
> Doesn't Boost.Function support 'result_of', or am I missing something obvious?
 
More the opposite, result_of doesn't support boost::function and is quite limited without "recent" compiler features.
 
>typedef boost::result_of<my_function_type>::type my_return_type;
 
You may want to use "#define BOOST_RESULT_OF_USE_DECLTYPE" if your compiler is recent enough.
Explanations in the docs of result_of.
Of course if your compiler is even more recent, it may support std::result_of.
 
Regards,
 
Julien
 
 
PS: niXman solution will work even better if you don't have too many functions...