reimplement guarded_ptr from scratch
[libcds.git] / cds / gc / impl / dhp_impl.h
index 834330b8e5920e93b600ceafb6863c50c6d0a167..5028d93caa922167c2d91476e53ea5b2240bfb14 100644 (file)
@@ -23,12 +23,21 @@ namespace cds { namespace gc {
             cds::threading::Manager::detachThread();
     }
 
-    inline DHP::Guard::Guard() CDS_NOEXCEPT
+    inline /*static*/ void DHP::thread_gc::alloc_guard( cds::gc::dhp::details::guard& g )
+    {
+        return cds::threading::getGC<DHP>().allocGuard(g);
+    }
+    inline /*static*/ void DHP::thread_gc::free_guard( cds::gc::dhp::details::guard& g )
+    {
+        cds::threading::getGC<DHP>().freeGuard(g);
+    }
+
+    inline DHP::Guard::Guard()
         : Guard::base_class( cds::threading::getGC<DHP>() )
     {}
 
-    template <size_t COUNT>
-    inline DHP::GuardArray<COUNT>::GuardArray() CDS_NOEXCEPT
+    template <size_t Count>
+    inline DHP::GuardArray<Count>::GuardArray()
         : GuardArray::base_class( cds::threading::getGC<DHP>() )
     {}