3 #include "set/hdr_intrusive_set.h"
4 #include <cds/urcu/general_buffered.h>
5 #include <cds/intrusive/lazy_list_rcu.h>
6 #include <cds/intrusive/michael_set_rcu.h>
10 typedef cds::urcu::gc< cds::urcu::general_buffered<> > RCU;
13 void IntrusiveHashSetHdrTest::RCU_GPB_base_cmp_lazy()
15 typedef base_int_item< ci::lazy_list::node<RCU> > item;
16 typedef ci::LazyList< RCU
18 ,ci::lazy_list::make_traits<
19 ci::opt::hook< ci::lazy_list::base_hook< co::gc<RCU> > >
20 ,co::compare< cmp<item> >
21 ,ci::opt::disposer< faked_disposer >
22 ,ci::opt::back_off< cds::backoff::pause >
26 typedef ci::MichaelHashSet< RCU, bucket_type,
27 ci::michael_set::make_traits<
35 void IntrusiveHashSetHdrTest::RCU_GPB_base_less_lazy()
37 typedef base_int_item< ci::lazy_list::node<RCU> > item;
38 typedef ci::LazyList< RCU
40 ,ci::lazy_list::make_traits<
41 ci::opt::hook< ci::lazy_list::base_hook< co::gc<RCU> > >
42 ,co::less< less<item> >
43 ,ci::opt::disposer< faked_disposer >
47 typedef ci::MichaelHashSet< RCU, bucket_type,
48 ci::michael_set::make_traits<
56 void IntrusiveHashSetHdrTest::RCU_GPB_base_cmpmix_lazy()
58 typedef base_int_item< ci::lazy_list::node<RCU> > item;
59 typedef ci::LazyList< RCU
61 ,ci::lazy_list::make_traits<
62 ci::opt::hook< ci::lazy_list::base_hook< co::gc<RCU> > >
63 ,co::less< less<item> >
64 ,co::compare< cmp<item> >
65 ,ci::opt::disposer< faked_disposer >
69 typedef ci::MichaelHashSet< RCU, bucket_type,
70 ci::michael_set::make_traits<
72 ,co::item_counter< simple_item_counter >
79 void IntrusiveHashSetHdrTest::RCU_GPB_member_cmp_lazy()
81 typedef member_int_item< ci::lazy_list::node<RCU> > item;
82 typedef ci::LazyList< RCU
84 ,ci::lazy_list::make_traits<
85 ci::opt::hook< ci::lazy_list::member_hook<
86 offsetof( item, hMember ),
89 ,co::compare< cmp<item> >
90 ,ci::opt::disposer< faked_disposer >
94 typedef ci::MichaelHashSet< RCU, bucket_type,
95 ci::michael_set::make_traits<
103 void IntrusiveHashSetHdrTest::RCU_GPB_member_less_lazy()
105 typedef member_int_item< ci::lazy_list::node<RCU> > item;
106 typedef ci::LazyList< RCU
108 ,ci::lazy_list::make_traits<
109 ci::opt::hook< ci::lazy_list::member_hook<
110 offsetof( item, hMember ),
113 ,co::less< less<item> >
114 ,ci::opt::disposer< faked_disposer >
118 typedef ci::MichaelHashSet< RCU, bucket_type,
119 ci::michael_set::make_traits<
127 void IntrusiveHashSetHdrTest::RCU_GPB_member_cmpmix_lazy()
129 typedef member_int_item< ci::lazy_list::node<RCU> > item;
130 typedef ci::LazyList< RCU
132 ,ci::lazy_list::make_traits<
133 ci::opt::hook< ci::lazy_list::member_hook<
134 offsetof( item, hMember ),
137 ,co::compare< cmp<item> >
138 ,co::less< less<item> >
139 ,ci::opt::disposer< faked_disposer >
143 typedef ci::MichaelHashSet< RCU, bucket_type,
144 ci::michael_set::make_traits<
146 ,co::item_counter< simple_item_counter >