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. According to the message http://boost.2283326.n4.nabble.com/Config-N3276-decltype-support-on-VC-11-td...,
17.06.2013 23:07, Daniel Walker пишет: this bug has been fixed in VC12 (i.e, Visual Studio 2013, right?). -- Best regards, Sergey Cheban