Do not rely on result_type for standard function objects on C++17 or above

This commit is contained in:
Peter Dimov
2021-10-01 01:07:32 +03:00
parent 5b1fe62dbb
commit b719777942

View File

@@ -21,7 +21,9 @@
// See http://www.boost.org/libs/bind/bind.html for documentation. // See http://www.boost.org/libs/bind/bind.html for documentation.
// //
#if defined(_MSVC_LANG) && _MSVC_LANG >= 17 #include <boost/config.hpp>
#if BOOST_CXX_VERSION >= 201700L
#include <functional> #include <functional>
#endif #endif
@@ -48,7 +50,7 @@ template<class F> struct result_traits< unspecified, reference_wrapper<F> >
typedef typename F::result_type type; typedef typename F::result_type type;
}; };
#if defined(_MSVC_LANG) && _MSVC_LANG >= 17 #if BOOST_CXX_VERSION >= 201700L
template<class T> struct result_traits< unspecified, std::plus<T> > template<class T> struct result_traits< unspecified, std::plus<T> >
{ {