3 #include "set/hdr_skiplist_set_rcu.h"
5 #include <cds/urcu/general_instant.h>
6 #include <cds/container/skip_list_set_rcu.h>
8 #include "unit/michael_alloc.h"
9 #include "map/print_skiplist_stat.h"
13 typedef cds::urcu::gc< cds::urcu::general_instant<> > rcu_type;
16 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_less()
18 typedef cc::SkipListSet< rcu_type, item,
19 cc::skip_list::make_traits<
20 co::less< less<item > >
21 ,co::item_counter< simple_item_counter >
24 test< set, misc::print_skiplist_stat<set::stat> >();
27 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_cmp()
29 typedef cc::SkipListSet< rcu_type, item,
30 cc::skip_list::make_traits<
31 co::compare< cmp<item > >
32 ,co::item_counter< simple_item_counter >
35 test< set, misc::print_skiplist_stat<set::stat> >();
38 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_cmpless()
40 typedef cc::SkipListSet< rcu_type, item,
41 cc::skip_list::make_traits<
42 co::less< less<item > >
43 ,co::compare< cmp<item > >
44 ,co::item_counter< simple_item_counter >
47 test< set, misc::print_skiplist_stat<set::stat> >();
50 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_less_stat()
52 typedef cc::SkipListSet< rcu_type, item,
53 cc::skip_list::make_traits<
54 co::less< less<item > >
55 ,co::item_counter< simple_item_counter >
56 ,co::stat< cc::skip_list::stat<> >
59 test< set, misc::print_skiplist_stat<set::stat> >();
62 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_cmp_stat()
64 typedef cc::SkipListSet< rcu_type, item,
65 cc::skip_list::make_traits<
66 co::compare< cmp<item > >
67 ,co::item_counter< simple_item_counter >
68 ,co::stat< cc::skip_list::stat<> >
71 test< set, misc::print_skiplist_stat<set::stat> >();
74 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_cmpless_stat()
76 typedef cc::SkipListSet< rcu_type, item,
77 cc::skip_list::make_traits<
78 co::less< less<item > >
79 ,co::compare< cmp<item > >
80 ,co::item_counter< simple_item_counter >
81 ,co::stat< cc::skip_list::stat<> >
84 test< set, misc::print_skiplist_stat<set::stat> >();
87 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_xorshift_less()
89 typedef cc::SkipListSet< rcu_type, item,
90 cc::skip_list::make_traits<
91 co::less< less<item > >
92 ,co::item_counter< simple_item_counter >
93 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
96 test< set, misc::print_skiplist_stat<set::stat> >();
99 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_xorshift_cmp()
101 typedef cc::SkipListSet< rcu_type, item,
102 cc::skip_list::make_traits<
103 co::compare< cmp<item > >
104 ,co::item_counter< simple_item_counter >
105 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
108 test< set, misc::print_skiplist_stat<set::stat> >();
111 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_xorshift_cmpless()
113 typedef cc::SkipListSet< rcu_type, item,
114 cc::skip_list::make_traits<
115 co::less< less<item > >
116 ,co::compare< cmp<item > >
117 ,co::item_counter< simple_item_counter >
118 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
121 test< set, misc::print_skiplist_stat<set::stat> >();
124 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_xorshift_less_stat()
126 typedef cc::SkipListSet< rcu_type, item,
127 cc::skip_list::make_traits<
128 co::less< less<item > >
129 ,co::item_counter< simple_item_counter >
130 ,co::stat< cc::skip_list::stat<> >
131 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
134 test< set, misc::print_skiplist_stat<set::stat> >();
137 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_xorshift_cmp_stat()
139 typedef cc::SkipListSet< rcu_type, item,
140 cc::skip_list::make_traits<
141 co::compare< cmp<item > >
142 ,co::item_counter< simple_item_counter >
143 ,co::stat< cc::skip_list::stat<> >
144 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
147 test< set, misc::print_skiplist_stat<set::stat> >();
150 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_xorshift_cmpless_stat()
152 typedef cc::SkipListSet< rcu_type, item,
153 cc::skip_list::make_traits<
154 co::less< less<item > >
155 ,co::compare< cmp<item > >
156 ,co::item_counter< simple_item_counter >
157 ,co::stat< cc::skip_list::stat<> >
158 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
161 test< set, misc::print_skiplist_stat<set::stat> >();
164 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_turbopas_less()
166 typedef cc::SkipListSet< rcu_type, item,
167 cc::skip_list::make_traits<
168 co::less< less<item > >
169 ,co::item_counter< simple_item_counter >
170 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
173 test< set, misc::print_skiplist_stat<set::stat> >();
176 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_turbopas_cmp()
178 typedef cc::SkipListSet< rcu_type, item,
179 cc::skip_list::make_traits<
180 co::compare< cmp<item > >
181 ,co::item_counter< simple_item_counter >
182 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
185 test< set, misc::print_skiplist_stat<set::stat> >();
188 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_turbopas_cmpless()
190 typedef cc::SkipListSet< rcu_type, item,
191 cc::skip_list::make_traits<
192 co::less< less<item > >
193 ,co::compare< cmp<item > >
194 ,co::item_counter< simple_item_counter >
195 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
198 test< set, misc::print_skiplist_stat<set::stat> >();
201 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_turbopas_less_stat()
203 typedef cc::SkipListSet< rcu_type, item,
204 cc::skip_list::make_traits<
205 co::less< less<item > >
206 ,co::item_counter< simple_item_counter >
207 ,co::stat< cc::skip_list::stat<> >
208 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
211 test< set, misc::print_skiplist_stat<set::stat> >();
214 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_turbopas_cmp_stat()
216 typedef cc::SkipListSet< rcu_type, item,
217 cc::skip_list::make_traits<
218 co::compare< cmp<item > >
219 ,co::item_counter< simple_item_counter >
220 ,co::stat< cc::skip_list::stat<> >
221 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
224 test< set, misc::print_skiplist_stat<set::stat> >();
227 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_turbopas_cmpless_stat()
229 typedef cc::SkipListSet< rcu_type, item,
230 cc::skip_list::make_traits<
231 co::less< less<item > >
232 ,co::compare< cmp<item > >
233 ,co::item_counter< simple_item_counter >
234 ,co::stat< cc::skip_list::stat<> >
235 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
238 test< set, misc::print_skiplist_stat<set::stat> >();
241 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_michaelalloc_less()
243 typedef cc::SkipListSet< rcu_type, item,
244 cc::skip_list::make_traits<
245 co::less< less<item > >
246 ,co::item_counter< simple_item_counter >
247 ,co::allocator< memory::MichaelAllocator<int> >
250 test< set, misc::print_skiplist_stat<set::stat> >();
253 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_michaelalloc_cmp()
255 typedef cc::SkipListSet< rcu_type, item,
256 cc::skip_list::make_traits<
257 co::compare< cmp<item > >
258 ,co::item_counter< simple_item_counter >
259 ,co::allocator< memory::MichaelAllocator<int> >
262 test< set, misc::print_skiplist_stat<set::stat> >();
265 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_michaelalloc_cmpless()
267 typedef cc::SkipListSet< rcu_type, item,
268 cc::skip_list::make_traits<
269 co::less< less<item > >
270 ,co::compare< cmp<item > >
271 ,co::item_counter< simple_item_counter >
272 ,co::allocator< memory::MichaelAllocator<int> >
275 test< set, misc::print_skiplist_stat<set::stat> >();
278 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_michaelalloc_less_stat()
280 typedef cc::SkipListSet< rcu_type, item,
281 cc::skip_list::make_traits<
282 co::less< less<item > >
283 ,co::item_counter< simple_item_counter >
284 ,co::stat< cc::skip_list::stat<> >
285 ,co::allocator< memory::MichaelAllocator<int> >
288 test< set, misc::print_skiplist_stat<set::stat> >();
291 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_michaelalloc_cmp_stat()
293 typedef cc::SkipListSet< rcu_type, item,
294 cc::skip_list::make_traits<
295 co::compare< cmp<item > >
296 ,co::item_counter< simple_item_counter >
297 ,co::stat< cc::skip_list::stat<> >
298 ,co::allocator< memory::MichaelAllocator<int> >
301 test< set, misc::print_skiplist_stat<set::stat> >();
304 void SkipListSetRCUHdrTest::SkipList_RCU_GPI_michaelalloc_cmpless_stat()
306 typedef cc::SkipListSet< rcu_type, item,
307 cc::skip_list::make_traits<
308 co::less< less<item > >
309 ,co::compare< cmp<item > >
310 ,co::item_counter< simple_item_counter >
311 ,co::stat< cc::skip_list::stat<> >
312 ,co::allocator< memory::MichaelAllocator<int> >
315 test< set, misc::print_skiplist_stat<set::stat> >();
319 CPPUNIT_TEST_SUITE_REGISTRATION(set::SkipListSetRCUHdrTest);