Thorsten Ottosen wrote:
The change is comitted to trunk ... if it goes well, then it can go to release. Check it out if you have the time.
Great! I looked at the code and test it with GCC 4.6. * For indirect_fun, make_lazy is not necessary because the return type of its operator() is already a dependent type. * For indirect_fun, pointee in result_of should not be removed. This broke test/indirect_fun.cpp when compiling with BOOST_RESULT_OF_USE_DECLTYPE. * <boost/static_assert.hpp> and <boost/type_traits/is_void.hpp> should be included even if BOOST_NO_SFINAE is defined. I attached a patch for fixing these problems. After applying this patch, the OP's code, my code with my_less comparator and test/indirect_fun.cpp all run fine (w/wo BOOST_RESULT_OF_USE_DECLTYPE). Thanks, Michel