Remove cds/details/noncopyable.h, use C++11 '=delete ctor' instead
[libcds.git] / cds / gc / hzp / hzp.h
index 92eb84d3d471ff0cf515dbb9e29c9fccc331954d..26cf409a4454bcc5a68619a28b2771cf9ec74303 100644 (file)
@@ -3,17 +3,14 @@
 #ifndef __CDS_GC_HZP_HZP_H
 #define __CDS_GC_HZP_HZP_H
 
+#include <vector>
 #include <cds/cxx11_atomic.h>
 #include <cds/os/thread.h>
 #include <cds/gc/exception.h>
-
 #include <cds/gc/hzp/details/hp_fwd.h>
 #include <cds/gc/hzp/details/hp_alloc.h>
 #include <cds/gc/hzp/details/hp_retired.h>
 
-#include <vector>
-#include <cds/details/noncopyable.h>
-
 #if CDS_COMPILER == CDS_COMPILER_MSVC
 #   pragma warning(push)
     // warning C4251: 'cds::gc::hzp::GarbageCollector::m_pListHead' : class 'cds::cxx11_atomic::atomic<T>'
@@ -459,7 +456,7 @@ namespace cds {
             on the start of each thread that uses HP GC. Before terminating the thread linked to HP GC it is necessary to call
             \ref cds_threading "cds::threading::Manager::detachThread()".
         */
-        class ThreadGC: cds::details::noncopyable
+        class ThreadGC
         {
             GarbageCollector&   m_HzpManager    ; ///< Hazard Pointer GC singleton
             details::HPRec *    m_pHzpRec       ; ///< Pointer to thread's HZP record
@@ -469,6 +466,9 @@ namespace cds {
                 : m_HzpManager( GarbageCollector::instance() ),
                 m_pHzpRec( nullptr )
             {}
+
+            ThreadGC( ThreadGC const& ) = delete;
+
             ~ThreadGC()
             {
                 fini();