SegmentedQueue refactoring
[libcds.git] / tests / test-hdr / queue / hdr_segmented_queue_hp.cpp
index 057df7a2eb13c13b4f61f9e6e6ba3b37736b91d5..7e2a72bc5fc891278b6b57944b55cd84ba7e009d 100644 (file)
@@ -9,7 +9,6 @@ namespace queue {
     void HdrSegmentedQueue::SegmQueue_HP()
     {
         typedef cds::container::SegmentedQueue< cds::gc::HP, item > queue_type;
-
         test<queue_type>();
     }
 
@@ -26,25 +25,26 @@ namespace queue {
 
     void HdrSegmentedQueue::SegmQueue_HP_shuffle()
     {
-        typedef cds::container::SegmentedQueue< cds::gc::HP, item,
-            cds::container::segmented_queue::make_traits<
-                cds::opt::item_counter< cds::atomicity::item_counter >
-                ,cds::opt::permutation_generator< cds::opt::v::random_shuffle_permutation<> >
-            >::type
-        > queue_type;
+        struct queue_traits : public cds::container::segmented_queue::traits
+        {
+            typedef cds::atomicity::item_counter item_counter;
+            typedef cds::opt::v::random_shuffle_permutation<> permutation_generator;
+        };
+        typedef cds::container::SegmentedQueue< cds::gc::HP, item, queue_traits > queue_type;
 
         test<queue_type>();
     }
 
     void HdrSegmentedQueue::SegmQueue_HP_stat()
     {
-        typedef cds::container::SegmentedQueue< cds::gc::HP, item,
-            cds::container::segmented_queue::make_traits<
+        struct queue_traits : public
+            cds::container::segmented_queue::make_traits <
                 cds::opt::item_counter< cds::atomicity::item_counter >
-                ,cds::opt::permutation_generator< cds::opt::v::random_permutation<> >
-                ,cds::opt::stat< cds::container::segmented_queue::stat<> >
-            >::type
-        > queue_type;
+                , cds::opt::permutation_generator< cds::opt::v::random_permutation<> >
+                , cds::opt::stat < cds::container::segmented_queue::stat<> >
+            > ::type
+        {};
+        typedef cds::container::SegmentedQueue< cds::gc::HP, item, queue_traits > queue_type;
 
         test<queue_type>();
     }