Removing cds/refcounter.h
authorkhizmax <libcds.dev@gmail.com>
Sat, 29 Nov 2014 12:18:14 +0000 (15:18 +0300)
committerkhizmax <libcds.dev@gmail.com>
Sat, 29 Nov 2014 12:18:14 +0000 (15:18 +0300)
.gitignore
cds/refcounter.h [deleted file]
projects/Win/vc12/cds.vcxproj
projects/Win/vc12/cds.vcxproj.filters
projects/Win/vc14/cds.vcxproj
projects/Win/vc14/cds.vcxproj.filters

index 0fb31687b3c5de244f1fa4f920de9d158e8af601..e67a1644abdf07ce25976d373ce1561fd2a66f04 100644 (file)
@@ -14,3 +14,4 @@ obj
 /projects/Win/vc14/cds.sdf
 /projects/Win/vc14/cds.v14.suo
 /projects/Win/vc14/cds.vcxproj.user
 /projects/Win/vc14/cds.sdf
 /projects/Win/vc14/cds.v14.suo
 /projects/Win/vc14/cds.vcxproj.user
+/projects/Win/vc14/*.opensdf
diff --git a/cds/refcounter.h b/cds/refcounter.h
deleted file mode 100644 (file)
index 69ca30a..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-//$$CDS-header$$
-
-#ifndef __CDS_REFCOUNTER_H
-#define __CDS_REFCOUNTER_H
-
-/*
-    Refernce counting primitives
-
-    Editions:
-*/
-
-#include <cds/algo/atomic.h>
-
-namespace cds {
-
-    /// Simple reference counter
-    /**
-        Thread-safe reference counter build on atomic primitives.
-        \p T is one of integer types
-    */
-    template <typename T>
-    class ref_counter
-    {
-        atomics::atomic<T>   m_nRefCount    ;        ///< The reference counter
-
-    public:
-        typedef T   ref_counter_type  ; ///< The reference counter type
-
-    public:
-        /// Construct reference counter with specified value \p initValue
-        ref_counter( T initValue = 0 ) CDS_NOEXCEPT
-            : m_nRefCount(initValue)
-        {}
-
-        /// Get current value of reference counter.
-        T   value() const CDS_NOEXCEPT
-        {
-            return m_nRefCount.load( atomics::memory_order_relaxed );
-        }
-
-        /// Current value of reference counter
-        operator T() const CDS_NOEXCEPT
-        {
-            return value();
-        }
-
-        /// Atomic increment
-        void    inc() CDS_NOEXCEPT
-        {
-            m_nRefCount.fetch_add( 1, atomics::memory_order_relaxed );
-        }
-
-        /// Atomic decrement. Return \p true if reference counter is 0, otherwise \p false
-        bool    dec() CDS_NOEXCEPT
-        {
-            if ( m_nRefCount.fetch_sub( 1, atomics::memory_order_relaxed ) == 1 ) {
-                atomics::atomic_thread_fence( atomics::memory_order_release );
-                return true;
-            }
-            return false;
-        }
-
-        /// Atomic increment
-        void operator ++() CDS_NOEXCEPT
-        {
-            inc();
-        }
-
-        /// Atomic decrement
-        bool operator--() CDS_NOEXCEPT
-        {
-            return dec();
-        }
-    };
-
-    /// Signed 32bit reference counter
-    typedef ref_counter<int32_t>       signed_ref_counter;
-
-    /// Unsigned 32bit reference counter
-    typedef ref_counter<uint32_t>      unsigned_ref_counter;
-
-} // namespace cds
-
-#endif    // #ifndef __CDS_REFCOUNTER_H
index 36061e799a5b6246a75bbd4a5ac5094ee79724c3..3dd82f60dd7ea95cb9ef4fef4105be250804475c 100644 (file)
     <ClInclude Include="..\..\..\cds\urcu\signal_buffered.h" />\r
     <ClInclude Include="..\..\..\cds\urcu\signal_threaded.h" />\r
     <ClInclude Include="..\..\..\cds\init.h" />\r
     <ClInclude Include="..\..\..\cds\urcu\signal_buffered.h" />\r
     <ClInclude Include="..\..\..\cds\urcu\signal_threaded.h" />\r
     <ClInclude Include="..\..\..\cds\init.h" />\r
-    <ClInclude Include="..\..\..\cds\refcounter.h" />\r
     <ClInclude Include="..\..\..\cds\version.h" />\r
     <ClInclude Include="..\..\..\cds\details\aligned_allocator.h" />\r
     <ClInclude Include="..\..\..\cds\details\aligned_type.h" />\r
     <ClInclude Include="..\..\..\cds\version.h" />\r
     <ClInclude Include="..\..\..\cds\details\aligned_allocator.h" />\r
     <ClInclude Include="..\..\..\cds\details\aligned_type.h" />\r
index e2373d1a6b567f7ce6c70c661830a6b676f50450..6b52bf201f1f9ecf7553fcdcfc45ac024f577bb2 100644 (file)
     <ClInclude Include="..\..\..\cds\init.h">\r
       <Filter>Header Files\cds</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\cds\init.h">\r
       <Filter>Header Files\cds</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\cds\refcounter.h">\r
-      <Filter>Header Files\cds</Filter>\r
-    </ClInclude>\r
     <ClInclude Include="..\..\..\cds\version.h">\r
       <Filter>Header Files\cds</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\cds\version.h">\r
       <Filter>Header Files\cds</Filter>\r
     </ClInclude>\r
index 4cfec11a8ac8693af295d66daef7b2c2cb0039f2..73226d9249493327e7a62fc45f7cf4687b15c026 100644 (file)
     <ClInclude Include="..\..\..\cds\urcu\signal_buffered.h" />\r
     <ClInclude Include="..\..\..\cds\urcu\signal_threaded.h" />\r
     <ClInclude Include="..\..\..\cds\init.h" />\r
     <ClInclude Include="..\..\..\cds\urcu\signal_buffered.h" />\r
     <ClInclude Include="..\..\..\cds\urcu\signal_threaded.h" />\r
     <ClInclude Include="..\..\..\cds\init.h" />\r
-    <ClInclude Include="..\..\..\cds\refcounter.h" />\r
     <ClInclude Include="..\..\..\cds\version.h" />\r
     <ClInclude Include="..\..\..\cds\details\aligned_allocator.h" />\r
     <ClInclude Include="..\..\..\cds\details\aligned_type.h" />\r
     <ClInclude Include="..\..\..\cds\version.h" />\r
     <ClInclude Include="..\..\..\cds\details\aligned_allocator.h" />\r
     <ClInclude Include="..\..\..\cds\details\aligned_type.h" />\r
index e2373d1a6b567f7ce6c70c661830a6b676f50450..6b52bf201f1f9ecf7553fcdcfc45ac024f577bb2 100644 (file)
     <ClInclude Include="..\..\..\cds\init.h">\r
       <Filter>Header Files\cds</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\cds\init.h">\r
       <Filter>Header Files\cds</Filter>\r
     </ClInclude>\r
-    <ClInclude Include="..\..\..\cds\refcounter.h">\r
-      <Filter>Header Files\cds</Filter>\r
-    </ClInclude>\r
     <ClInclude Include="..\..\..\cds\version.h">\r
       <Filter>Header Files\cds</Filter>\r
     </ClInclude>\r
     <ClInclude Include="..\..\..\cds\version.h">\r
       <Filter>Header Files\cds</Filter>\r
     </ClInclude>\r