intrusive::MichaelSet refactoring
[libcds.git] / tests / test-hdr / set / hdr_intrusive_michael_set_rcu_gpi_lazy.cpp
index cae46da2ba5268866722dcda12fd33229e3651a1..e0fc913ab22e4fdba0400833bd81d597431586fd 100644 (file)
@@ -13,21 +13,22 @@ namespace set {
     void IntrusiveHashSetHdrTest::RCU_GPI_base_cmp_lazy()
     {
         typedef base_int_item< ci::lazy_list::node<RCU> > item;
-        typedef ci::LazyList< RCU
-            ,item
-            ,ci::lazy_list::make_traits<
+        struct list_traits :
+            public ci::lazy_list::make_traits<
                 ci::opt::hook< ci::lazy_list::base_hook< co::gc<RCU> > >
                 ,co::compare< cmp<item> >
                 ,ci::opt::disposer< faked_disposer >
                 ,ci::opt::back_off< cds::backoff::pause >
             >::type
-        >    bucket_type;
+        {};
 
-        typedef ci::MichaelHashSet< RCU, bucket_type,
-            ci::michael_set::make_traits<
-                co::hash< hash_int >
-            >::type
-        > set;
+        typedef ci::LazyList< RCU, item, list_traits >    bucket_type;
+
+        struct set_traits : public ci::michael_set::traits
+        {
+            typedef hash_int hash;
+        };
+        typedef ci::MichaelHashSet< RCU, bucket_type, set_traits > set;
 
         test_rcu_int<set>();
     }