On Mon, Jun 17, 2013 at 9:07 PM, Daniel Walker
BOOST_RESULT_OF_USE_DECLTYPE is automatically defined when BOOST_NO_CXX11_DECLTYPE_N3276 is not defined; i.e. it's only enabled by default when the compiler has fairly complete decltype support including N3276. As of Boost 1.53.0, it appears this is not the case for any version of Visual Studio. (See boost/config/compiler/visualc.hpp starting at line 224 for unsupported features.) I don't know if there's been any progress on that front from Microsoft, but as soon as N3276 is enabled in Boost's compiler config file, result_of will use decltype by default for that compiler.
Would it be unrealistic to fallback on std::result_of for VS2012 versions only? It would fix most result_of bugs in Boost caused on this plateform. Joel Lamotte