]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/bind/detail/result_traits.hpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / boost / bind / detail / result_traits.hpp
index e6b8a44e637efcbdc0d2ee158977c4b35c17a91a..f8de9cd127be74d55c8c483047fae163a80574a4 100644 (file)
@@ -21,7 +21,9 @@
 //  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>
 #endif
 
@@ -48,7 +50,7 @@ template<class F> struct result_traits< unspecified, reference_wrapper<F> >
     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> >
 {
@@ -140,6 +142,12 @@ template<class T> struct result_traits< unspecified, std::bit_xor<T> >
     typedef T type;
 };
 
+#if defined(BOOST_LIBSTDCXX_VERSION) && BOOST_LIBSTDCXX_VERSION < 40900
+
+// libstdc++ 4.8 and below don't have std::bit_not
+
+#else
+
 template<class T> struct result_traits< unspecified, std::bit_not<T> >
 {
     typedef T type;
@@ -147,6 +155,8 @@ template<class T> struct result_traits< unspecified, std::bit_not<T> >
 
 #endif
 
+#endif
+
 } // namespace _bi
 
 } // namespace boost