SegmentedQueue refactoring
[libcds.git] / tests / test-hdr / queue / hdr_intrusive_segmented_queue_hp.cpp
index f22d7d3ce651386d391333567a39868b630973b2..4eea7bd06ffdb098f2deefea7e59ee1bf547f0ae 100644 (file)
@@ -8,23 +8,24 @@ namespace queue {
 
     void HdrIntrusiveSegmentedQueue::SegmQueue_HP()
     {
-        typedef cds::intrusive::SegmentedQueue< cds::gc::HP, item,
-            cds::intrusive::segmented_queue::make_traits<
-                cds::intrusive::opt::disposer< Disposer >
-            >::type
-        > queue_type;
+        struct queue_traits : public cds::intrusive::segmented_queue::traits
+        {
+            typedef Disposer disposer;
+        };
+        typedef cds::intrusive::SegmentedQueue< cds::gc::HP, item, queue_traits > queue_type;
 
         test<queue_type>();
     }
 
     void HdrIntrusiveSegmentedQueue::SegmQueue_HP_mutex()
     {
-        typedef cds::intrusive::SegmentedQueue< cds::gc::HP, item,
-            cds::intrusive::segmented_queue::make_traits<
+        struct queue_traits : public
+            cds::intrusive::segmented_queue::make_traits <
                 cds::intrusive::opt::disposer< Disposer >
-                ,cds::opt::lock_type< std::mutex >
-            >::type
-        > queue_type;
+                ,cds::opt::lock_type < std::mutex >
+            > ::type
+        {};
+        typedef cds::intrusive::SegmentedQueue< cds::gc::HP, item, queue_traits > queue_type;
 
         test<queue_type>();
     }