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