From: khizmax Date: Sat, 29 Nov 2014 12:18:14 +0000 (+0300) Subject: Removing cds/refcounter.h X-Git-Tag: v2.0.0~34 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4f4a8afbff0732978d71cf9e79545e09920069de;p=libcds.git Removing cds/refcounter.h --- diff --git a/.gitignore b/.gitignore index 0fb31687..e67a1644 100644 --- a/.gitignore +++ b/.gitignore @@ -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/*.opensdf diff --git a/cds/refcounter.h b/cds/refcounter.h deleted file mode 100644 index 69ca30a0..00000000 --- a/cds/refcounter.h +++ /dev/null @@ -1,84 +0,0 @@ -//$$CDS-header$$ - -#ifndef __CDS_REFCOUNTER_H -#define __CDS_REFCOUNTER_H - -/* - Refernce counting primitives - - Editions: -*/ - -#include - -namespace cds { - - /// Simple reference counter - /** - Thread-safe reference counter build on atomic primitives. - \p T is one of integer types - */ - template - class ref_counter - { - atomics::atomic 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 signed_ref_counter; - - /// Unsigned 32bit reference counter - typedef ref_counter unsigned_ref_counter; - -} // namespace cds - -#endif // #ifndef __CDS_REFCOUNTER_H diff --git a/projects/Win/vc12/cds.vcxproj b/projects/Win/vc12/cds.vcxproj index 36061e79..3dd82f60 100644 --- a/projects/Win/vc12/cds.vcxproj +++ b/projects/Win/vc12/cds.vcxproj @@ -815,7 +815,6 @@ - diff --git a/projects/Win/vc12/cds.vcxproj.filters b/projects/Win/vc12/cds.vcxproj.filters index e2373d1a..6b52bf20 100644 --- a/projects/Win/vc12/cds.vcxproj.filters +++ b/projects/Win/vc12/cds.vcxproj.filters @@ -188,9 +188,6 @@ Header Files\cds - - Header Files\cds - Header Files\cds diff --git a/projects/Win/vc14/cds.vcxproj b/projects/Win/vc14/cds.vcxproj index 4cfec11a..73226d92 100644 --- a/projects/Win/vc14/cds.vcxproj +++ b/projects/Win/vc14/cds.vcxproj @@ -814,7 +814,6 @@ - diff --git a/projects/Win/vc14/cds.vcxproj.filters b/projects/Win/vc14/cds.vcxproj.filters index e2373d1a..6b52bf20 100644 --- a/projects/Win/vc14/cds.vcxproj.filters +++ b/projects/Win/vc14/cds.vcxproj.filters @@ -188,9 +188,6 @@ Header Files\cds - - Header Files\cds - Header Files\cds