Replace boost.type_traits with std::type_traits
[libcds.git] / cds / compiler / cxx11_atomic.h
index 120e9430766d6c8008959e7915b060a1c082f26c..08cdd3a39a8cbb7b289e6c420de02dd2f44a99ff 100644 (file)
@@ -4,6 +4,7 @@
 #define __CDS_COMPILER_CXX11_ATOMIC_H
 //@cond
 
+#include <type_traits>  // make_unsigned
 #include <cds/details/defs.h>
 #include <cds/details/aligned_type.h>
 
@@ -48,9 +49,6 @@ namespace cds { namespace cxx11_atomic {
 #   error "Undefined compiler"
 #endif
 
-// In C++11, make_unsigned is declared in <type_traits>
-#include <boost/type_traits/make_unsigned.hpp>  // for make_unsigned
-
 namespace cds { namespace cxx11_atomic {
 
     // forward declarations
@@ -160,7 +158,7 @@ namespace cds { namespace cxx11_atomic {
         struct atomic_integral_bitwise_ops
         {
         public:
-            typedef typename boost::make_unsigned<T>::type unsigned_type;
+            typedef typename std::make_unsigned<T>::type unsigned_type;
             typedef atomic_generic_ops<unsigned_type, sizeof(unsigned_type)> atomic_ops;
 
             static T fetch_and(T volatile * pDest, T val, memory_order order) CDS_NOEXCEPT