intrusive::SkipListSet refactoring
[libcds.git] / tests / test-hdr / map / hdr_skiplist_map_ptb.cpp
1 //$$CDS-header$$
2
3 #include "map/hdr_skiplist_map.h"
4 #include <cds/container/skip_list_map_dhp.h>
5 #include "unit/michael_alloc.h"
6 #include "map/print_skiplist_stat.h"
7
8 namespace map {
9
10     void SkipListMapHdrTest::SkipList_PTB_less()
11     {
12         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
13             cc::skip_list::make_traits<
14                 co::less< less >
15                 ,co::item_counter< simple_item_counter >
16             >::type
17         > set;
18         test< set, misc::print_skiplist_stat<set::stat> >();
19     }
20
21     void SkipListMapHdrTest::SkipList_PTB_cmp()
22     {
23         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
24             cc::skip_list::make_traits<
25                 co::compare< cmp >
26                 ,co::item_counter< simple_item_counter >
27             >::type
28         > set;
29         test< set, misc::print_skiplist_stat<set::stat> >();
30     }
31
32     void SkipListMapHdrTest::SkipList_PTB_cmpless()
33     {
34         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
35             cc::skip_list::make_traits<
36                 co::less< less >
37                 ,co::compare< cmp >
38                 ,co::item_counter< simple_item_counter >
39             >::type
40         > set;
41         test< set, misc::print_skiplist_stat<set::stat> >();
42     }
43
44     void SkipListMapHdrTest::SkipList_PTB_less_stat()
45     {
46         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
47             cc::skip_list::make_traits<
48                 co::less< less >
49                 ,co::item_counter< simple_item_counter >
50                 ,co::stat< cc::skip_list::stat<> >
51             >::type
52         > set;
53         test< set, misc::print_skiplist_stat<set::stat> >();
54     }
55
56     void SkipListMapHdrTest::SkipList_PTB_cmp_stat()
57     {
58         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
59             cc::skip_list::make_traits<
60                 co::compare< cmp >
61                 ,co::item_counter< simple_item_counter >
62                 ,co::stat< cc::skip_list::stat<> >
63             >::type
64         > set;
65         test< set, misc::print_skiplist_stat<set::stat> >();
66     }
67
68     void SkipListMapHdrTest::SkipList_PTB_cmpless_stat()
69     {
70         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
71             cc::skip_list::make_traits<
72                 co::less< less >
73                 ,co::compare< cmp >
74                 ,co::item_counter< simple_item_counter >
75                 ,co::stat< cc::skip_list::stat<> >
76             >::type
77         > set;
78         test< set, misc::print_skiplist_stat<set::stat> >();
79     }
80
81     void SkipListMapHdrTest::SkipList_PTB_xorshift_less()
82     {
83         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
84             cc::skip_list::make_traits<
85                 co::less< less >
86                 ,co::item_counter< simple_item_counter >
87                 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
88             >::type
89         > set;
90         test< set, misc::print_skiplist_stat<set::stat> >();
91     }
92
93     void SkipListMapHdrTest::SkipList_PTB_xorshift_cmp()
94     {
95         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
96             cc::skip_list::make_traits<
97                 co::compare< cmp >
98                 ,co::item_counter< simple_item_counter >
99                 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
100             >::type
101         > set;
102         test< set, misc::print_skiplist_stat<set::stat> >();
103     }
104
105     void SkipListMapHdrTest::SkipList_PTB_xorshift_cmpless()
106     {
107         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
108             cc::skip_list::make_traits<
109                 co::less< less >
110                 ,co::compare< cmp >
111                 ,co::item_counter< simple_item_counter >
112                 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
113             >::type
114         > set;
115         test< set, misc::print_skiplist_stat<set::stat> >();
116     }
117
118     void SkipListMapHdrTest::SkipList_PTB_xorshift_less_stat()
119     {
120         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
121             cc::skip_list::make_traits<
122                 co::less< less >
123                 ,co::item_counter< simple_item_counter >
124                 ,co::stat< cc::skip_list::stat<> >
125                 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
126             >::type
127         > set;
128         test< set, misc::print_skiplist_stat<set::stat> >();
129     }
130
131     void SkipListMapHdrTest::SkipList_PTB_xorshift_cmp_stat()
132     {
133         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
134             cc::skip_list::make_traits<
135                 co::compare< cmp >
136                 ,co::item_counter< simple_item_counter >
137                 ,co::stat< cc::skip_list::stat<> >
138                 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
139             >::type
140         > set;
141         test< set, misc::print_skiplist_stat<set::stat> >();
142     }
143
144     void SkipListMapHdrTest::SkipList_PTB_xorshift_cmpless_stat()
145     {
146         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
147             cc::skip_list::make_traits<
148                 co::less< less >
149                 ,co::compare< cmp >
150                 ,co::item_counter< simple_item_counter >
151                 ,co::stat< cc::skip_list::stat<> >
152                 ,cc::skip_list::random_level_generator< cc::skip_list::xorshift >
153             >::type
154         > set;
155         test< set, misc::print_skiplist_stat<set::stat> >();
156     }
157
158     void SkipListMapHdrTest::SkipList_PTB_turbopas_less()
159     {
160         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
161             cc::skip_list::make_traits<
162                 co::less< less >
163                 ,co::item_counter< simple_item_counter >
164                 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
165             >::type
166         > set;
167         test< set, misc::print_skiplist_stat<set::stat> >();
168     }
169
170     void SkipListMapHdrTest::SkipList_PTB_turbopas_cmp()
171     {
172         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
173             cc::skip_list::make_traits<
174                 co::compare< cmp >
175                 ,co::item_counter< simple_item_counter >
176                 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
177             >::type
178         > set;
179         test< set, misc::print_skiplist_stat<set::stat> >();
180     }
181
182     void SkipListMapHdrTest::SkipList_PTB_turbopas_cmpless()
183     {
184         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
185             cc::skip_list::make_traits<
186                 co::less< less >
187                 ,co::compare< cmp >
188                 ,co::item_counter< simple_item_counter >
189                 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
190             >::type
191         > set;
192         test< set, misc::print_skiplist_stat<set::stat> >();
193     }
194
195     void SkipListMapHdrTest::SkipList_PTB_turbopas_less_stat()
196     {
197         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
198             cc::skip_list::make_traits<
199                 co::less< less >
200                 ,co::item_counter< simple_item_counter >
201                 ,co::stat< cc::skip_list::stat<> >
202                 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
203             >::type
204         > set;
205         test< set, misc::print_skiplist_stat<set::stat> >();
206     }
207
208     void SkipListMapHdrTest::SkipList_PTB_turbopas_cmp_stat()
209     {
210         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
211             cc::skip_list::make_traits<
212                 co::compare< cmp >
213                 ,co::item_counter< simple_item_counter >
214                 ,co::stat< cc::skip_list::stat<> >
215                 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
216             >::type
217         > set;
218         test< set, misc::print_skiplist_stat<set::stat> >();
219     }
220
221     void SkipListMapHdrTest::SkipList_PTB_turbopas_cmpless_stat()
222     {
223         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
224             cc::skip_list::make_traits<
225                 co::less< less >
226                 ,co::compare< cmp >
227                 ,co::item_counter< simple_item_counter >
228                 ,co::stat< cc::skip_list::stat<> >
229                 ,cc::skip_list::random_level_generator< cc::skip_list::turbo_pascal >
230             >::type
231         > set;
232         test< set, misc::print_skiplist_stat<set::stat> >();
233     }
234
235     void SkipListMapHdrTest::SkipList_PTB_michaelalloc_less()
236     {
237         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
238             cc::skip_list::make_traits<
239                 co::less< less >
240                 ,co::item_counter< simple_item_counter >
241                 ,co::allocator< memory::MichaelAllocator<int> >
242             >::type
243         > set;
244         test< set, misc::print_skiplist_stat<set::stat> >();
245     }
246
247     void SkipListMapHdrTest::SkipList_PTB_michaelalloc_cmp()
248     {
249             typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
250                 cc::skip_list::make_traits<
251                     co::compare< cmp >
252                     ,co::item_counter< simple_item_counter >
253                     ,co::allocator< memory::MichaelAllocator<int> >
254                 >::type
255             > set;
256             test< set, misc::print_skiplist_stat<set::stat> >();
257     }
258
259     void SkipListMapHdrTest::SkipList_PTB_michaelalloc_cmpless()
260     {
261         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
262             cc::skip_list::make_traits<
263                 co::less< less >
264                 ,co::compare< cmp >
265                 ,co::item_counter< simple_item_counter >
266                 ,co::allocator< memory::MichaelAllocator<int> >
267             >::type
268         > set;
269         test< set, misc::print_skiplist_stat<set::stat> >();
270     }
271
272     void SkipListMapHdrTest::SkipList_PTB_michaelalloc_less_stat()
273     {
274         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
275             cc::skip_list::make_traits<
276                 co::less< less >
277                 ,co::item_counter< simple_item_counter >
278                 ,co::stat< cc::skip_list::stat<> >
279                 ,co::allocator< memory::MichaelAllocator<int> >
280             >::type
281         > set;
282         test< set, misc::print_skiplist_stat<set::stat> >();
283     }
284
285     void SkipListMapHdrTest::SkipList_PTB_michaelalloc_cmp_stat()
286     {
287         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
288             cc::skip_list::make_traits<
289                 co::compare< cmp >
290                 ,co::item_counter< simple_item_counter >
291                 ,co::stat< cc::skip_list::stat<> >
292                 ,co::allocator< memory::MichaelAllocator<int> >
293             >::type
294         > set;
295         test< set, misc::print_skiplist_stat<set::stat> >();
296     }
297
298     void SkipListMapHdrTest::SkipList_PTB_michaelalloc_cmpless_stat()
299     {
300         typedef cc::SkipListMap< cds::gc::PTB, key_type, value_type,
301             cc::skip_list::make_traits<
302                 co::less< less >
303                 ,co::compare< cmp >
304                 ,co::item_counter< simple_item_counter >
305                 ,co::stat< cc::skip_list::stat<> >
306                 ,co::allocator< memory::MichaelAllocator<int> >
307             >::type
308         > set;
309         test< set, misc::print_skiplist_stat<set::stat> >();
310     }
311 } // namespace map