rename lazy_list_ptb.h to lazy_list_dhp.h
[libcds.git] / tests / unit / map2 / map_defs.h
1 //$$CDS-header$$
2
3 #ifndef _CDSUNIT_MAP2_MAP_DEFS_H
4 #define _CDSUNIT_MAP2_MAP_DEFS_H
5
6 #define CDSUNIT_DECLARE_StdMap \
7     TEST_MAP(StdMap_Spin) \
8     TEST_MAP(StdHashMap_Spin)
9 #define CDSUNIT_TEST_StdMap \
10     CPPUNIT_TEST(StdMap_Spin) \
11     CPPUNIT_TEST(StdHashMap_Spin) \
12
13 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
14 #   define CDSUNIT_DECLARE_MichaelMap_RCU_signal \
15     TEST_MAP_EXTRACT(MichaelMap_RCU_SHB_cmp_stdAlloc) \
16     TEST_MAP_EXTRACT(MichaelMap_RCU_SHB_less_michaelAlloc) \
17     TEST_MAP_EXTRACT(MichaelMap_RCU_SHT_cmp_stdAlloc) \
18     TEST_MAP_EXTRACT(MichaelMap_RCU_SHT_less_michaelAlloc) \
19     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_SHB_cmp_stdAlloc) \
20     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_SHB_less_michaelAlloc) \
21     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_SHT_cmp_stdAlloc) \
22     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_SHT_less_michaelAlloc)
23
24 #   define CDSUNIT_TEST_MichaelMap_RCU_signal \
25     CPPUNIT_TEST(MichaelMap_RCU_SHB_cmp_stdAlloc) \
26     CPPUNIT_TEST(MichaelMap_RCU_SHB_less_michaelAlloc) \
27     CPPUNIT_TEST(MichaelMap_RCU_SHT_cmp_stdAlloc) \
28     CPPUNIT_TEST(MichaelMap_RCU_SHT_less_michaelAlloc) \
29     CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHB_cmp_stdAlloc) \
30     CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHB_less_michaelAlloc) \
31     CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHT_cmp_stdAlloc) \
32     CPPUNIT_TEST(MichaelMap_Lazy_RCU_SHT_less_michaelAlloc)
33
34 #else
35 #   define CDSUNIT_DECLARE_MichaelMap_RCU_signal
36 #   define CDSUNIT_TEST_MichaelMap_RCU_signal
37 #endif
38
39
40 #define CDSUNIT_DECLARE_MichaelMap  \
41     TEST_MAP_EXTRACT(MichaelMap_HP_cmp_stdAlloc) \
42     TEST_MAP_EXTRACT(MichaelMap_HP_less_michaelAlloc) \
43     TEST_MAP_EXTRACT(MichaelMap_PTB_cmp_stdAlloc) \
44     TEST_MAP_EXTRACT(MichaelMap_PTB_less_michaelAlloc) \
45     TEST_MAP_EXTRACT(MichaelMap_RCU_GPI_cmp_stdAlloc) \
46     TEST_MAP_EXTRACT(MichaelMap_RCU_GPI_less_michaelAlloc) \
47     TEST_MAP_EXTRACT(MichaelMap_RCU_GPB_cmp_stdAlloc) \
48     TEST_MAP_EXTRACT(MichaelMap_RCU_GPB_less_michaelAlloc) \
49     TEST_MAP_EXTRACT(MichaelMap_RCU_GPT_cmp_stdAlloc) \
50     TEST_MAP_EXTRACT(MichaelMap_RCU_GPT_less_michaelAlloc) \
51     TEST_MAP_EXTRACT(MichaelMap_Lazy_HP_cmp_stdAlloc) \
52     TEST_MAP_EXTRACT(MichaelMap_Lazy_HP_less_michaelAlloc) \
53     TEST_MAP_EXTRACT(MichaelMap_Lazy_PTB_cmp_stdAlloc) \
54     TEST_MAP_EXTRACT(MichaelMap_Lazy_PTB_less_michaelAlloc) \
55     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPI_cmp_stdAlloc) \
56     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPI_less_michaelAlloc) \
57     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPB_cmp_stdAlloc) \
58     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPB_less_michaelAlloc) \
59     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPT_cmp_stdAlloc) \
60     TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPT_less_michaelAlloc)\
61     CDSUNIT_DECLARE_MichaelMap_RCU_signal
62
63 #define CDSUNIT_TEST_MichaelMap  \
64     CPPUNIT_TEST(MichaelMap_HP_cmp_stdAlloc) \
65     CPPUNIT_TEST(MichaelMap_HP_less_michaelAlloc) \
66     CPPUNIT_TEST(MichaelMap_PTB_cmp_stdAlloc) \
67     CPPUNIT_TEST(MichaelMap_PTB_less_michaelAlloc) \
68     CPPUNIT_TEST(MichaelMap_RCU_GPI_cmp_stdAlloc) \
69     CPPUNIT_TEST(MichaelMap_RCU_GPI_less_michaelAlloc) \
70     CPPUNIT_TEST(MichaelMap_RCU_GPB_cmp_stdAlloc) \
71     CPPUNIT_TEST(MichaelMap_RCU_GPB_less_michaelAlloc) \
72     CPPUNIT_TEST(MichaelMap_RCU_GPT_cmp_stdAlloc) \
73     CPPUNIT_TEST(MichaelMap_RCU_GPT_less_michaelAlloc) \
74     CPPUNIT_TEST(MichaelMap_Lazy_HP_cmp_stdAlloc) \
75     CPPUNIT_TEST(MichaelMap_Lazy_HP_less_michaelAlloc) \
76     CPPUNIT_TEST(MichaelMap_Lazy_PTB_cmp_stdAlloc) \
77     CPPUNIT_TEST(MichaelMap_Lazy_PTB_less_michaelAlloc) \
78     CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPI_cmp_stdAlloc) \
79     CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPI_less_michaelAlloc) \
80     CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPB_cmp_stdAlloc) \
81     CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPB_less_michaelAlloc) \
82     CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPT_cmp_stdAlloc) \
83     CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPT_less_michaelAlloc)\
84     CDSUNIT_TEST_MichaelMap_RCU_signal
85
86 #define CDSUNIT_DECLARE_MichaelMap_nogc  \
87     TEST_MAP(MichaelMap_NOGC_cmp_stdAlloc) \
88     TEST_MAP(MichaelMap_NOGC_less_michaelAlloc) \
89     TEST_MAP(MichaelMap_Lazy_NOGC_cmp_stdAlloc) \
90     TEST_MAP(MichaelMap_Lazy_NOGC_less_michaelAlloc)
91
92 #define CDSUNIT_TEST_MichaelMap_nogc  \
93     CPPUNIT_TEST(MichaelMap_NOGC_cmp_stdAlloc) \
94     CPPUNIT_TEST(MichaelMap_NOGC_less_michaelAlloc) \
95     CPPUNIT_TEST(MichaelMap_Lazy_NOGC_cmp_stdAlloc) \
96     CPPUNIT_TEST(MichaelMap_Lazy_NOGC_less_michaelAlloc) \
97
98 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
99 #   define CDSUNIT_DECLARE_SplitList_RCU_signal  \
100     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_dyn_cmp)\
101     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_st_cmp)\
102     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_dyn_less)\
103     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_st_less)\
104     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_dyn_cmp)\
105     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_st_cmp)\
106     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_dyn_less)\
107     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_st_less)\
108     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_dyn_cmp)\
109     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_st_cmp)\
110     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_dyn_less)\
111     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_st_less)\
112     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_dyn_cmp)\
113     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_cmp)\
114     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_dyn_less)\
115     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less)
116
117 #   define CDSUNIT_TEST_SplitList_RCU_signal \
118     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_cmp)\
119     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_cmp)\
120     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_less)\
121     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_less)\
122     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_cmp)\
123     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_cmp)\
124     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_less)\
125     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_less)\
126     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp)\
127     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_cmp)\
128     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_less)\
129     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_less)\
130     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp)\
131     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_cmp)\
132     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_less)\
133     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_less)
134
135 #else
136 #   define CDSUNIT_DECLARE_SplitList_RCU_signal
137 #   define CDSUNIT_TEST_SplitList_RCU_signal
138 #endif
139
140 #define CDSUNIT_DECLARE_SplitList  \
141     TEST_MAP_EXTRACT(SplitList_Michael_HP_dyn_cmp)\
142     TEST_MAP_EXTRACT(SplitList_Michael_HP_st_cmp)\
143     TEST_MAP_EXTRACT(SplitList_Michael_HP_dyn_less)\
144     TEST_MAP_EXTRACT(SplitList_Michael_HP_st_less)\
145     TEST_MAP_EXTRACT(SplitList_Michael_PTB_dyn_cmp)\
146     TEST_MAP_EXTRACT(SplitList_Michael_PTB_st_cmp)\
147     TEST_MAP_EXTRACT(SplitList_Michael_PTB_dyn_less)\
148     TEST_MAP_EXTRACT(SplitList_Michael_PTB_st_less)\
149     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_dyn_cmp)\
150     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_st_cmp)\
151     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_dyn_less)\
152     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_st_less)\
153     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_dyn_cmp)\
154     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_st_cmp)\
155     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_dyn_less)\
156     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_st_less)\
157     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_dyn_cmp)\
158     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_st_cmp)\
159     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_dyn_less)\
160     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_st_less)\
161     TEST_MAP_EXTRACT(SplitList_Lazy_HP_dyn_cmp)\
162     TEST_MAP_EXTRACT(SplitList_Lazy_HP_st_cmp)\
163     TEST_MAP_EXTRACT(SplitList_Lazy_HP_dyn_less)\
164     TEST_MAP_EXTRACT(SplitList_Lazy_HP_st_less)\
165     TEST_MAP_EXTRACT(SplitList_Lazy_PTB_dyn_cmp)\
166     TEST_MAP_EXTRACT(SplitList_Lazy_PTB_st_cmp)\
167     TEST_MAP_EXTRACT(SplitList_Lazy_PTB_dyn_less)\
168     TEST_MAP_EXTRACT(SplitList_Lazy_PTB_st_less)\
169     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_dyn_cmp)\
170     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_st_cmp)\
171     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_dyn_less)\
172     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_st_less)\
173     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_dyn_cmp)\
174     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_st_cmp)\
175     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_dyn_less)\
176     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_st_less)\
177     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_dyn_cmp)\
178     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_st_cmp)\
179     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_dyn_less)\
180     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_st_less)\
181     CDSUNIT_DECLARE_SplitList_RCU_signal
182
183 #define CDSUNIT_TEST_SplitList  \
184     CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp)\
185     CPPUNIT_TEST(SplitList_Michael_HP_st_cmp)\
186     CPPUNIT_TEST(SplitList_Michael_HP_dyn_less)\
187     CPPUNIT_TEST(SplitList_Michael_HP_st_less)\
188     CPPUNIT_TEST(SplitList_Michael_PTB_dyn_cmp)\
189     CPPUNIT_TEST(SplitList_Michael_PTB_st_cmp)\
190     CPPUNIT_TEST(SplitList_Michael_PTB_dyn_less)\
191     CPPUNIT_TEST(SplitList_Michael_PTB_st_less)\
192     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp)\
193     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_cmp)\
194     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_less)\
195     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less)\
196     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp)\
197     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_cmp)\
198     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_less)\
199     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less)\
200     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp)\
201     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_cmp)\
202     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_less)\
203     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less)\
204     CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp)\
205     CPPUNIT_TEST(SplitList_Lazy_HP_st_cmp)\
206     CPPUNIT_TEST(SplitList_Lazy_HP_dyn_less)\
207     CPPUNIT_TEST(SplitList_Lazy_HP_st_less)\
208     CPPUNIT_TEST(SplitList_Lazy_PTB_dyn_cmp)\
209     CPPUNIT_TEST(SplitList_Lazy_PTB_st_cmp)\
210     CPPUNIT_TEST(SplitList_Lazy_PTB_dyn_less)\
211     CPPUNIT_TEST(SplitList_Lazy_PTB_st_less)\
212     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp)\
213     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_cmp)\
214     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_less)\
215     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less)\
216     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp)\
217     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_cmp)\
218     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_less)\
219     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less)\
220     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp)\
221     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_cmp)\
222     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_less)\
223     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less)\
224     CDSUNIT_TEST_SplitList_RCU_signal
225
226 #define CDSUNIT_DECLARE_SplitList_nogc  \
227     TEST_MAP(SplitList_Michael_NOGC_dyn_cmp)\
228     TEST_MAP(SplitList_Michael_NOGC_st_cmp)\
229     TEST_MAP(SplitList_Michael_NOGC_dyn_less)\
230     TEST_MAP(SplitList_Michael_NOGC_st_less)\
231     TEST_MAP(SplitList_Lazy_NOGC_dyn_cmp)\
232     TEST_MAP(SplitList_Lazy_NOGC_st_cmp)\
233     TEST_MAP(SplitList_Lazy_NOGC_dyn_less)\
234     TEST_MAP(SplitList_Lazy_NOGC_st_less)
235
236 #define CDSUNIT_TEST_SplitList_nogc  \
237     CPPUNIT_TEST(SplitList_Michael_NOGC_dyn_cmp)\
238     CPPUNIT_TEST(SplitList_Michael_NOGC_st_cmp)\
239     CPPUNIT_TEST(SplitList_Michael_NOGC_dyn_less)\
240     CPPUNIT_TEST(SplitList_Michael_NOGC_st_less)\
241     CPPUNIT_TEST(SplitList_Lazy_NOGC_dyn_cmp)\
242     CPPUNIT_TEST(SplitList_Lazy_NOGC_st_cmp)\
243     CPPUNIT_TEST(SplitList_Lazy_NOGC_dyn_less)\
244     CPPUNIT_TEST(SplitList_Lazy_NOGC_st_less)
245
246 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
247 #   define CDSUNIT_DECLARE_SkipListMap_RCU_signal \
248     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_less_pascal)\
249     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_cmp_pascal_stat)\
250     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_less_xorshift)\
251     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_cmp_xorshift_stat)\
252     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_less_pascal)\
253     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_cmp_pascal_stat)\
254     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_less_xorshift)\
255     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_cmp_xorshift_stat)
256
257 #   define CDSUNIT_TEST_SkipListMap_RCU_signal \
258     CPPUNIT_TEST(SkipListMap_rcu_shb_less_pascal)\
259     CPPUNIT_TEST(SkipListMap_rcu_shb_cmp_pascal_stat)\
260     CPPUNIT_TEST(SkipListMap_rcu_shb_less_xorshift)\
261     CPPUNIT_TEST(SkipListMap_rcu_shb_cmp_xorshift_stat)\
262     CPPUNIT_TEST(SkipListMap_rcu_sht_less_pascal)\
263     CPPUNIT_TEST(SkipListMap_rcu_sht_cmp_pascal_stat)\
264     CPPUNIT_TEST(SkipListMap_rcu_sht_less_xorshift)\
265     CPPUNIT_TEST(SkipListMap_rcu_sht_cmp_xorshift_stat)
266
267 #else
268 #   define CDSUNIT_DECLARE_SkipListMap_RCU_signal
269 #   define CDSUNIT_TEST_SkipListMap_RCU_signal
270 #endif
271
272 #define CDSUNIT_DECLARE_SkipListMap \
273     TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_less_pascal)\
274     TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_cmp_pascal_stat)\
275     TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_less_xorshift)\
276     TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_cmp_xorshift_stat)\
277     TEST_MAP_NOLF_EXTRACT(SkipListMap_hrc_less_pascal)\
278     TEST_MAP_NOLF_EXTRACT(SkipListMap_hrc_cmp_pascal_stat)\
279     TEST_MAP_NOLF_EXTRACT(SkipListMap_hrc_less_xorshift)\
280     TEST_MAP_NOLF_EXTRACT(SkipListMap_hrc_cmp_xorshift_stat)\
281     TEST_MAP_NOLF_EXTRACT(SkipListMap_ptb_less_pascal)\
282     TEST_MAP_NOLF_EXTRACT(SkipListMap_ptb_cmp_pascal_stat)\
283     TEST_MAP_NOLF_EXTRACT(SkipListMap_ptb_less_xorshift)\
284     TEST_MAP_NOLF_EXTRACT(SkipListMap_ptb_cmp_xorshift_stat)\
285     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_less_pascal)\
286     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_cmp_pascal_stat)\
287     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_less_xorshift)\
288     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_cmp_xorshift_stat)\
289     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_less_pascal)\
290     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_cmp_pascal_stat)\
291     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_less_xorshift)\
292     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_cmp_xorshift_stat)\
293     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_less_pascal)\
294     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_cmp_pascal_stat)\
295     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_less_xorshift)\
296     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_cmp_xorshift_stat)\
297     CDSUNIT_DECLARE_SkipListMap_RCU_signal
298
299
300 #define CDSUNIT_TEST_SkipListMap \
301     CPPUNIT_TEST(SkipListMap_hp_less_pascal)\
302     CPPUNIT_TEST(SkipListMap_hp_cmp_pascal_stat)\
303     CPPUNIT_TEST(SkipListMap_hp_less_xorshift)\
304     CPPUNIT_TEST(SkipListMap_hp_cmp_xorshift_stat)\
305     /*CPPUNIT_TEST(SkipListMap_hrc_less_pascal)*/\
306     /*CPPUNIT_TEST(SkipListMap_hrc_cmp_pascal_stat)*/\
307     /*CPPUNIT_TEST(SkipListMap_hrc_less_xorshift)*/\
308     /*CPPUNIT_TEST(SkipListMap_hrc_cmp_xorshift_stat)*/\
309     CPPUNIT_TEST(SkipListMap_ptb_less_pascal)\
310     CPPUNIT_TEST(SkipListMap_ptb_cmp_pascal_stat)\
311     CPPUNIT_TEST(SkipListMap_ptb_less_xorshift)\
312     CPPUNIT_TEST(SkipListMap_ptb_cmp_xorshift_stat)\
313     CPPUNIT_TEST(SkipListMap_rcu_gpi_less_pascal)\
314     CPPUNIT_TEST(SkipListMap_rcu_gpi_cmp_pascal_stat)\
315     CPPUNIT_TEST(SkipListMap_rcu_gpi_less_xorshift)\
316     CPPUNIT_TEST(SkipListMap_rcu_gpi_cmp_xorshift_stat)\
317     CPPUNIT_TEST(SkipListMap_rcu_gpb_less_pascal)\
318     CPPUNIT_TEST(SkipListMap_rcu_gpb_cmp_pascal_stat)\
319     CPPUNIT_TEST(SkipListMap_rcu_gpb_less_xorshift)\
320     CPPUNIT_TEST(SkipListMap_rcu_gpb_cmp_xorshift_stat)\
321     CPPUNIT_TEST(SkipListMap_rcu_gpt_less_pascal)\
322     CPPUNIT_TEST(SkipListMap_rcu_gpt_cmp_pascal_stat)\
323     CPPUNIT_TEST(SkipListMap_rcu_gpt_less_xorshift)\
324     CPPUNIT_TEST(SkipListMap_rcu_gpt_cmp_xorshift_stat)\
325     CDSUNIT_TEST_SkipListMap_RCU_signal
326
327 #define CDSUNIT_DECLARE_SkipListMap_nogc \
328     TEST_MAP_NOLF(SkipListMap_nogc_less_pascal)\
329     TEST_MAP_NOLF(SkipListMap_nogc_cmp_pascal_stat)\
330     TEST_MAP_NOLF(SkipListMap_nogc_less_xorshift)\
331     TEST_MAP_NOLF(SkipListMap_nogc_cmp_xorshift_stat)
332
333 #define CDSUNIT_TEST_SkipListMap_nogc \
334     CPPUNIT_TEST(SkipListMap_nogc_less_pascal)\
335     CPPUNIT_TEST(SkipListMap_nogc_cmp_pascal_stat)\
336     CPPUNIT_TEST(SkipListMap_nogc_less_xorshift)\
337     CPPUNIT_TEST(SkipListMap_nogc_cmp_xorshift_stat)
338
339 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
340 #   define CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal \
341     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_shb)\
342     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_shb_stat)\
343     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_sht)\
344     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_sht_stat)
345
346 #   define CDSUNIT_TEST_EllenBinTreeMap_RCU_signal \
347     CPPUNIT_TEST(EllenBinTreeMap_rcu_shb)\
348     CPPUNIT_TEST(EllenBinTreeMap_rcu_shb_stat)\
349     CPPUNIT_TEST(EllenBinTreeMap_rcu_sht)\
350     CPPUNIT_TEST(EllenBinTreeMap_rcu_sht_stat)
351 #else
352 #   define CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal
353 #   define CDSUNIT_TEST_EllenBinTreeMap_RCU_signal
354 #endif
355
356 #define CDSUNIT_DECLARE_EllenBinTreeMap \
357     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_hp)\
358     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_hp_stat)\
359     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_ptb)\
360     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_ptb_stat)\
361     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpi)\
362     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpi_stat)\
363     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpb)\
364     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpb_stat)\
365     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpt)\
366     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpt_stat)\
367     CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal
368
369 #define CDSUNIT_TEST_EllenBinTreeMap \
370     CPPUNIT_TEST(EllenBinTreeMap_hp)\
371     CPPUNIT_TEST(EllenBinTreeMap_hp_stat)\
372     CPPUNIT_TEST(EllenBinTreeMap_ptb)\
373     CPPUNIT_TEST(EllenBinTreeMap_ptb_stat)\
374     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpi)\
375     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpi_stat)\
376     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb)\
377     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb_stat)\
378     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpt)\
379     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpt_stat)\
380     CDSUNIT_TEST_EllenBinTreeMap_RCU_signal
381
382
383 #define CDSUNIT_DECLARE_StripedMap_common \
384     TEST_MAP(StripedMap_list) \
385     TEST_MAP(StripedMap_map) \
386     TEST_MAP(StripedMap_hashmap) \
387     TEST_MAP(StripedMap_boost_unordered_map)
388
389 #define CDSUNIT_TEST_StripedMap_common \
390     CPPUNIT_TEST(StripedMap_list) \
391     CPPUNIT_TEST(StripedMap_map) \
392     CPPUNIT_TEST(StripedMap_hashmap) \
393     CPPUNIT_TEST(StripedMap_boost_unordered_map)
394
395 #if BOOST_VERSION >= 104800
396 #   define CDSUNIT_DECLARE_StripedMap_boost_container \
397         TEST_MAP(StripedMap_boost_list) \
398         TEST_MAP(StripedMap_slist) \
399         TEST_MAP(StripedMap_boost_map)
400 #   define CDSUNIT_TEST_StripedMap_boost_container \
401         CPPUNIT_TEST(StripedMap_boost_list) \
402         CPPUNIT_TEST(StripedMap_slist) \
403         CPPUNIT_TEST(StripedMap_boost_map)
404 #else
405 #   define CDSUNIT_DECLARE_StripedMap_boost_container
406 #   define CDSUNIT_TEST_StripedMap_boost_container
407 #endif
408
409 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
410 #   define CDSUNIT_DECLARE_StripedMap_boost_flat_container \
411         TEST_MAP(StripedMap_boost_flat_map)
412 #   define CDSUNIT_TEST_StripedMap_boost_flat_container \
413         CPPUNIT_TEST(StripedMap_boost_flat_map)
414 #else
415 #   define CDSUNIT_DECLARE_StripedMap_boost_flat_container
416 #   define CDSUNIT_TEST_StripedMap_boost_flat_container
417 #endif
418
419 #define CDSUNIT_DECLARE_StripedMap \
420     CDSUNIT_DECLARE_StripedMap_common \
421     CDSUNIT_DECLARE_StripedMap_boost_container \
422     CDSUNIT_DECLARE_StripedMap_boost_flat_container
423 #define CDSUNIT_TEST_StripedMap \
424     CDSUNIT_TEST_StripedMap_common \
425     CDSUNIT_TEST_StripedMap_boost_container \
426     CDSUNIT_TEST_StripedMap_boost_flat_container
427
428
429
430 #define CDSUNIT_DECLARE_RefinableMap_common \
431     TEST_MAP(RefinableMap_list) \
432     TEST_MAP(RefinableMap_map) \
433     TEST_MAP(RefinableMap_hashmap) \
434     TEST_MAP(RefinableMap_boost_unordered_map)
435 #define CDSUNIT_TEST_RefinableMap_common \
436     CPPUNIT_TEST(RefinableMap_list) \
437     CPPUNIT_TEST(RefinableMap_map) \
438     CPPUNIT_TEST(RefinableMap_hashmap) \
439     CPPUNIT_TEST(RefinableMap_boost_unordered_map)
440
441 #if BOOST_VERSION >= 104800
442 #   define CDSUNIT_DECLARE_RefinableMap_boost_container \
443         TEST_MAP(RefinableMap_boost_list) \
444         TEST_MAP(RefinableMap_slist) \
445         TEST_MAP(RefinableMap_boost_map)
446 #   define CDSUNIT_TEST_RefinableMap_boost_container \
447         CPPUNIT_TEST(RefinableMap_boost_list) \
448         CPPUNIT_TEST(RefinableMap_slist) \
449         CPPUNIT_TEST(RefinableMap_boost_map)
450 #else
451 #   define CDSUNIT_DECLARE_RefinableMap_boost_container
452 #   define CDSUNIT_TEST_RefinableMap_boost_container
453 #endif
454
455 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
456 #   define CDSUNIT_DECLARE_RefinableMap_boost_flat_container \
457         TEST_MAP(RefinableMap_boost_flat_map)
458 #   define CDSUNIT_TEST_RefinableMap_boost_flat_container \
459         CPPUNIT_TEST(RefinableMap_boost_flat_map)
460 #else
461 #   define CDSUNIT_DECLARE_RefinableMap_boost_flat_container
462 #   define CDSUNIT_TEST_RefinableMap_boost_flat_container
463 #endif
464
465 #define CDSUNIT_DECLARE_RefinableMap \
466     CDSUNIT_DECLARE_RefinableMap_common \
467     CDSUNIT_DECLARE_RefinableMap_boost_container \
468     CDSUNIT_DECLARE_RefinableMap_boost_flat_container
469 #define CDSUNIT_TEST_RefinableMap \
470     CDSUNIT_TEST_RefinableMap_common \
471     CDSUNIT_TEST_RefinableMap_boost_container \
472     CDSUNIT_TEST_RefinableMap_boost_flat_container
473
474 #define CDSUNIT_DECLARE_CuckooMap \
475     TEST_MAP(CuckooStripedMap_list_unord)\
476     TEST_MAP(CuckooStripedMap_list_ord)\
477     TEST_MAP(CuckooStripedMap_vector_unord)\
478     TEST_MAP(CuckooStripedMap_vector_ord)\
479     TEST_MAP(CuckooStripedMap_list_unord_stat)\
480     TEST_MAP(CuckooStripedMap_list_ord_stat)\
481     TEST_MAP(CuckooStripedMap_vector_unord_stat)\
482     TEST_MAP(CuckooStripedMap_vector_ord_stat)\
483     TEST_MAP(CuckooRefinableMap_list_unord)\
484     TEST_MAP(CuckooRefinableMap_list_ord)\
485     TEST_MAP(CuckooRefinableMap_vector_unord)\
486     TEST_MAP(CuckooRefinableMap_vector_ord) \
487     TEST_MAP(CuckooRefinableMap_list_unord_stat)\
488     TEST_MAP(CuckooRefinableMap_list_ord_stat)\
489     TEST_MAP(CuckooRefinableMap_vector_unord_stat)\
490     TEST_MAP(CuckooRefinableMap_vector_ord_stat) \
491     TEST_MAP(CuckooStripedMap_list_unord_storehash)\
492     TEST_MAP(CuckooStripedMap_list_ord_storehash)\
493     TEST_MAP(CuckooStripedMap_vector_unord_storehash)\
494     TEST_MAP(CuckooStripedMap_vector_ord_storehash)\
495     TEST_MAP(CuckooRefinableMap_list_unord_storehash)\
496     TEST_MAP(CuckooRefinableMap_list_ord_storehash)\
497     TEST_MAP(CuckooRefinableMap_vector_unord_storehash)\
498     TEST_MAP(CuckooRefinableMap_vector_ord_storehash)
499
500 #define CDSUNIT_TEST_CuckooMap \
501     CPPUNIT_TEST(CuckooStripedMap_list_unord)\
502     CPPUNIT_TEST(CuckooStripedMap_list_unord_stat)\
503     CPPUNIT_TEST(CuckooStripedMap_list_unord_storehash)\
504     CPPUNIT_TEST(CuckooStripedMap_list_ord)\
505     CPPUNIT_TEST(CuckooStripedMap_list_ord_stat)\
506     CPPUNIT_TEST(CuckooStripedMap_list_ord_storehash)\
507     CPPUNIT_TEST(CuckooStripedMap_vector_unord)\
508     CPPUNIT_TEST(CuckooStripedMap_vector_unord_stat)\
509     CPPUNIT_TEST(CuckooStripedMap_vector_unord_storehash)\
510     CPPUNIT_TEST(CuckooStripedMap_vector_ord)\
511     CPPUNIT_TEST(CuckooStripedMap_vector_ord_stat)\
512     CPPUNIT_TEST(CuckooStripedMap_vector_ord_storehash)\
513     CPPUNIT_TEST(CuckooRefinableMap_list_unord)\
514     CPPUNIT_TEST(CuckooRefinableMap_list_unord_stat)\
515     CPPUNIT_TEST(CuckooRefinableMap_list_unord_storehash)\
516     CPPUNIT_TEST(CuckooRefinableMap_list_ord)\
517     CPPUNIT_TEST(CuckooRefinableMap_list_ord_stat)\
518     CPPUNIT_TEST(CuckooRefinableMap_list_ord_storehash)\
519     CPPUNIT_TEST(CuckooRefinableMap_vector_unord)\
520     CPPUNIT_TEST(CuckooRefinableMap_vector_unord_stat)\
521     CPPUNIT_TEST(CuckooRefinableMap_vector_unord_storehash)\
522     CPPUNIT_TEST(CuckooRefinableMap_vector_ord)\
523     CPPUNIT_TEST(CuckooRefinableMap_vector_ord_stat)\
524     CPPUNIT_TEST(CuckooRefinableMap_vector_ord_storehash)
525
526 #endif // #ifndef _CDSUNIT_MAP2_MAP_DEFS_H