Removed TsigasCycleQueue (undecidable ABA problem)
[libcds.git] / test / stress / queue / intrusive_queue_type.h
index c213343150f10ef9ba01185706bd73f2d3852d23..c03056f973d40c9d0b2fe15c197c2554f8459908 100644 (file)
@@ -5,7 +5,7 @@
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
-    
+
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions are met:
 
@@ -25,7 +25,7 @@
     SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.     
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
 #ifndef CDSSTRESS_INTRUSIVE_QUEUE_TYPES_H
@@ -34,7 +34,6 @@
 #include <cds/intrusive/msqueue.h>
 #include <cds/intrusive/moir_queue.h>
 #include <cds/intrusive/optimistic_queue.h>
-#include <cds/intrusive/tsigas_cycle_queue.h>
 #include <cds/intrusive/vyukov_mpmc_cycle_queue.h>
 #include <cds/intrusive/basket_queue.h>
 #include <cds/intrusive/fcqueue.h>
@@ -82,7 +81,7 @@ namespace queue {
             value_type * pop()
             {
                 lock_guard l( m_Lock );
-                if ( m_List.empty() )
+                if ( m_List.empty())
                     return nullptr;
                 value_type& v = m_List.front();
                 m_List.pop_front();
@@ -113,7 +112,7 @@ namespace queue {
     } // namespace details
 
     template <typename T>
-    struct Types 
+    struct Types
     {
         // MSQueue, MoirQueue
         struct traits_MSQueue_HP : public cds::intrusive::msqueue::traits
@@ -244,62 +243,6 @@ namespace queue {
         {};
         typedef cds::intrusive::OptimisticQueue< cds::gc::DHP, T, traits_OptimisticQueue_DHP_stat > OptimisticQueue_DHP_stat;
 
-        // TsigasCycleQueue
-        class TsigasCycleQueue_dyn
-            : public cds::intrusive::TsigasCycleQueue< T,
-                typename cds::intrusive::tsigas_queue::make_traits<
-                    cds::opt::buffer< cds::opt::v::initialized_dynamic_buffer< int > >
-                >::type
-            >
-        {
-            typedef cds::intrusive::TsigasCycleQueue< T,
-                typename cds::intrusive::tsigas_queue::make_traits<
-                    cds::opt::buffer< cds::opt::v::initialized_dynamic_buffer< int > >
-                >::type
-            > base_class;
-        public:
-            TsigasCycleQueue_dyn()
-                : base_class( 1024 * 64 )
-            {}
-
-            TsigasCycleQueue_dyn( size_t nCapacity )
-                : base_class( nCapacity )
-            {}
-
-            cds::opt::none statistics() const
-            {
-                return cds::opt::none();
-            }
-        };
-
-        class TsigasCycleQueue_dyn_ic
-            : public cds::intrusive::TsigasCycleQueue< T,
-                typename cds::intrusive::tsigas_queue::make_traits<
-                    cds::opt::buffer< cds::opt::v::initialized_dynamic_buffer< int > >
-                    ,cds::opt::item_counter< cds::atomicity::item_counter >
-                >::type
-            >
-        {
-            typedef cds::intrusive::TsigasCycleQueue< T,
-                typename cds::intrusive::tsigas_queue::make_traits<
-                    cds::opt::buffer< cds::opt::v::initialized_dynamic_buffer< int > >
-                    ,cds::opt::item_counter< cds::atomicity::item_counter >
-                >::type
-            > base_class;
-        public:
-            TsigasCycleQueue_dyn_ic()
-                : base_class( 1024 * 64 )
-            {}
-            TsigasCycleQueue_dyn_ic( size_t nCapacity )
-                : base_class( nCapacity )
-            {}
-
-            cds::opt::none statistics() const
-            {
-                return cds::opt::none();
-            }
-        };
-
         // VyukovMPMCCycleQueue
         struct traits_VyukovMPMCCycleQueue_dyn : public cds::intrusive::vyukov_queue::traits
         {