f5bb2e6bcec1b6e7ad54b910cc90316c06712c32
[libcds.git] / tests / unit / map2 / map_defs.h
1 //$$CDS-header$$
2
3 #ifndef CDSUNIT_MAP_DEFS_H
4 #define CDSUNIT_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_DHP_cmp_stdAlloc) \
44     TEST_MAP_EXTRACT(MichaelMap_DHP_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_DHP_cmp_stdAlloc) \
54     TEST_MAP_EXTRACT(MichaelMap_Lazy_DHP_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_DHP_cmp_stdAlloc) \
67     CPPUNIT_TEST(MichaelMap_DHP_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_DHP_cmp_stdAlloc) \
77     CPPUNIT_TEST(MichaelMap_Lazy_DHP_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_unord_stdAlloc) \
91     TEST_MAP(MichaelMap_Lazy_NOGC_less_michaelAlloc)
92
93 #define CDSUNIT_TEST_MichaelMap_nogc  \
94     CPPUNIT_TEST(MichaelMap_NOGC_cmp_stdAlloc) \
95     CPPUNIT_TEST(MichaelMap_NOGC_less_michaelAlloc) \
96     CPPUNIT_TEST(MichaelMap_Lazy_NOGC_cmp_stdAlloc) \
97     CPPUNIT_TEST(MichaelMap_Lazy_NOGC_unord_stdAlloc) \
98     CPPUNIT_TEST(MichaelMap_Lazy_NOGC_less_michaelAlloc) \
99
100 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
101 #   define CDSUNIT_DECLARE_SplitList_RCU_signal  \
102     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_dyn_cmp)\
103     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_dyn_cmp_stat)\
104     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_st_cmp)\
105     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_dyn_less)\
106     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_st_less)\
107     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_st_less_stat)\
108     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_dyn_cmp)\
109     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_dyn_cmp_stat)\
110     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_st_cmp)\
111     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_dyn_less)\
112     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_st_less)\
113     TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_st_less_stat)\
114     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_dyn_cmp)\
115     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\
116     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_st_cmp)\
117     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_dyn_less)\
118     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_st_less)\
119     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_st_less_stat)\
120     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_dyn_cmp)\
121     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\
122     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_cmp)\
123     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_dyn_less)\
124     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less)\
125 TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat)
126
127 #   define CDSUNIT_TEST_SplitList_RCU_signal \
128     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_cmp)\
129     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_cmp_stat)\
130     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_cmp)\
131     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_less)\
132     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_less)\
133     CPPUNIT_TEST(SplitList_Michael_RCU_SHB_st_less_stat)\
134     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_cmp)\
135     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_cmp_stat)\
136     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_cmp)\
137     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_dyn_less)\
138     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_less)\
139     CPPUNIT_TEST(SplitList_Michael_RCU_SHT_st_less_stat)\
140     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp)\
141     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\
142     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_cmp)\
143     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_dyn_less)\
144     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_less)\
145     CPPUNIT_TEST(SplitList_Lazy_RCU_SHB_st_less_stat)\
146     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp)\
147     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\
148     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_cmp)\
149     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_dyn_less)\
150     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_less)\
151     CPPUNIT_TEST(SplitList_Lazy_RCU_SHT_st_less_stat)
152
153 #else
154 #   define CDSUNIT_DECLARE_SplitList_RCU_signal
155 #   define CDSUNIT_TEST_SplitList_RCU_signal
156 #endif
157
158 #define CDSUNIT_DECLARE_SplitList  \
159     TEST_MAP_EXTRACT(SplitList_Michael_HP_dyn_cmp)\
160     TEST_MAP_EXTRACT(SplitList_Michael_HP_dyn_cmp_stat)\
161     TEST_MAP_EXTRACT(SplitList_Michael_HP_st_cmp)\
162     TEST_MAP_EXTRACT(SplitList_Michael_HP_dyn_less)\
163     TEST_MAP_EXTRACT(SplitList_Michael_HP_st_less)\
164     TEST_MAP_EXTRACT(SplitList_Michael_HP_st_less_stat)\
165     TEST_MAP_EXTRACT(SplitList_Michael_DHP_dyn_cmp)\
166     TEST_MAP_EXTRACT(SplitList_Michael_DHP_dyn_cmp_stat)\
167     TEST_MAP_EXTRACT(SplitList_Michael_DHP_st_cmp)\
168     TEST_MAP_EXTRACT(SplitList_Michael_DHP_dyn_less)\
169     TEST_MAP_EXTRACT(SplitList_Michael_DHP_st_less)\
170     TEST_MAP_EXTRACT(SplitList_Michael_DHP_st_less_stat)\
171     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_dyn_cmp)\
172     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_dyn_cmp_stat)\
173     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_st_cmp)\
174     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_dyn_less)\
175     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_st_less)\
176     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_st_less_stat)\
177     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_dyn_cmp)\
178     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_dyn_cmp_stat)\
179     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_st_cmp)\
180     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_dyn_less)\
181     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_st_less)\
182     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_st_less_stat)\
183     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_dyn_cmp)\
184     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_dyn_cmp_stat)\
185     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_st_cmp)\
186     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_dyn_less)\
187     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_st_less)\
188     TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_st_less_stat)\
189     TEST_MAP_EXTRACT(SplitList_Lazy_HP_dyn_cmp)\
190     TEST_MAP_EXTRACT(SplitList_Lazy_HP_dyn_cmp_stat)\
191     TEST_MAP_EXTRACT(SplitList_Lazy_HP_st_cmp)\
192     TEST_MAP_EXTRACT(SplitList_Lazy_HP_dyn_less)\
193     TEST_MAP_EXTRACT(SplitList_Lazy_HP_st_less)\
194     TEST_MAP_EXTRACT(SplitList_Lazy_HP_st_less_stat)\
195     TEST_MAP_EXTRACT(SplitList_Lazy_DHP_dyn_cmp)\
196     TEST_MAP_EXTRACT(SplitList_Lazy_DHP_dyn_cmp_stat)\
197     TEST_MAP_EXTRACT(SplitList_Lazy_DHP_st_cmp)\
198     TEST_MAP_EXTRACT(SplitList_Lazy_DHP_dyn_less)\
199     TEST_MAP_EXTRACT(SplitList_Lazy_DHP_st_less)\
200     TEST_MAP_EXTRACT(SplitList_Lazy_DHP_st_less_stat)\
201     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_dyn_cmp)\
202     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\
203     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_st_cmp)\
204     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_dyn_less)\
205     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_st_less)\
206     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_st_less_stat)\
207     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_dyn_cmp)\
208     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\
209     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_st_cmp)\
210     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_dyn_less)\
211     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_st_less)\
212     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_st_less_stat)\
213     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_dyn_cmp)\
214     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\
215     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_st_cmp)\
216     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_dyn_less)\
217     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_st_less)\
218     TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_st_less_stat)\
219     CDSUNIT_DECLARE_SplitList_RCU_signal
220
221 #define CDSUNIT_TEST_SplitList  \
222     CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp)\
223     CPPUNIT_TEST(SplitList_Michael_HP_dyn_cmp_stat)\
224     CPPUNIT_TEST(SplitList_Michael_HP_st_cmp)\
225     CPPUNIT_TEST(SplitList_Michael_HP_dyn_less)\
226     CPPUNIT_TEST(SplitList_Michael_HP_st_less)\
227     CPPUNIT_TEST(SplitList_Michael_HP_st_less_stat)\
228     CPPUNIT_TEST(SplitList_Michael_DHP_dyn_cmp)\
229     CPPUNIT_TEST(SplitList_Michael_DHP_dyn_cmp_stat)\
230     CPPUNIT_TEST(SplitList_Michael_DHP_st_cmp)\
231     CPPUNIT_TEST(SplitList_Michael_DHP_dyn_less)\
232     CPPUNIT_TEST(SplitList_Michael_DHP_st_less)\
233     CPPUNIT_TEST(SplitList_Michael_DHP_st_less_stat)\
234     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp)\
235     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_cmp_stat)\
236     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_cmp)\
237     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_dyn_less)\
238     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less)\
239     CPPUNIT_TEST(SplitList_Michael_RCU_GPI_st_less_stat)\
240     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp)\
241     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_cmp_stat)\
242     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_cmp)\
243     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_dyn_less)\
244     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less)\
245     CPPUNIT_TEST(SplitList_Michael_RCU_GPB_st_less_stat)\
246     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp)\
247     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_cmp_stat)\
248     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_cmp)\
249     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_dyn_less)\
250     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less)\
251     CPPUNIT_TEST(SplitList_Michael_RCU_GPT_st_less_stat)\
252     CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp)\
253     CPPUNIT_TEST(SplitList_Lazy_HP_dyn_cmp_stat)\
254     CPPUNIT_TEST(SplitList_Lazy_HP_st_cmp)\
255     CPPUNIT_TEST(SplitList_Lazy_HP_dyn_less)\
256     CPPUNIT_TEST(SplitList_Lazy_HP_st_less)\
257     CPPUNIT_TEST(SplitList_Lazy_HP_st_less_stat)\
258     CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_cmp)\
259     CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_cmp_stat)\
260     CPPUNIT_TEST(SplitList_Lazy_DHP_st_cmp)\
261     CPPUNIT_TEST(SplitList_Lazy_DHP_dyn_less)\
262     CPPUNIT_TEST(SplitList_Lazy_DHP_st_less)\
263     CPPUNIT_TEST(SplitList_Lazy_DHP_st_less_stat)\
264     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp)\
265     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\
266     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_cmp)\
267     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_dyn_less)\
268     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less)\
269     CPPUNIT_TEST(SplitList_Lazy_RCU_GPI_st_less_stat)\
270     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp)\
271     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\
272     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_cmp)\
273     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_dyn_less)\
274     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less)\
275     CPPUNIT_TEST(SplitList_Lazy_RCU_GPB_st_less_stat)\
276     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp)\
277     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\
278     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_cmp)\
279     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_dyn_less)\
280     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less)\
281     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less_stat)\
282     CDSUNIT_TEST_SplitList_RCU_signal
283
284 #define CDSUNIT_DECLARE_SplitList_nogc  \
285     TEST_MAP(SplitList_Michael_NOGC_dyn_cmp)\
286     TEST_MAP(SplitList_Michael_NOGC_st_cmp)\
287     TEST_MAP(SplitList_Michael_NOGC_dyn_less)\
288     TEST_MAP(SplitList_Michael_NOGC_st_less)\
289     TEST_MAP(SplitList_Lazy_NOGC_dyn_cmp)\
290     TEST_MAP(SplitList_Lazy_NOGC_st_cmp)\
291     TEST_MAP(SplitList_Lazy_NOGC_dyn_less)\
292     TEST_MAP(SplitList_Lazy_NOGC_st_less)
293
294 #define CDSUNIT_TEST_SplitList_nogc  \
295     CPPUNIT_TEST(SplitList_Michael_NOGC_dyn_cmp)\
296     CPPUNIT_TEST(SplitList_Michael_NOGC_st_cmp)\
297     CPPUNIT_TEST(SplitList_Michael_NOGC_dyn_less)\
298     CPPUNIT_TEST(SplitList_Michael_NOGC_st_less)\
299     CPPUNIT_TEST(SplitList_Lazy_NOGC_dyn_cmp)\
300     CPPUNIT_TEST(SplitList_Lazy_NOGC_st_cmp)\
301     CPPUNIT_TEST(SplitList_Lazy_NOGC_dyn_less)\
302     CPPUNIT_TEST(SplitList_Lazy_NOGC_st_less)
303
304 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
305 #   define CDSUNIT_DECLARE_SkipListMap_RCU_signal \
306     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_less_pascal)\
307     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_cmp_pascal_stat)\
308     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_less_xorshift)\
309     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_cmp_xorshift_stat)\
310     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_less_pascal)\
311     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_cmp_pascal_stat)\
312     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_less_xorshift)\
313     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_cmp_xorshift_stat)
314
315 #   define CDSUNIT_TEST_SkipListMap_RCU_signal \
316     CPPUNIT_TEST(SkipListMap_rcu_shb_less_pascal)\
317     CPPUNIT_TEST(SkipListMap_rcu_shb_cmp_pascal_stat)\
318     CPPUNIT_TEST(SkipListMap_rcu_shb_less_xorshift)\
319     CPPUNIT_TEST(SkipListMap_rcu_shb_cmp_xorshift_stat)\
320     CPPUNIT_TEST(SkipListMap_rcu_sht_less_pascal)\
321     CPPUNIT_TEST(SkipListMap_rcu_sht_cmp_pascal_stat)\
322     CPPUNIT_TEST(SkipListMap_rcu_sht_less_xorshift)\
323     CPPUNIT_TEST(SkipListMap_rcu_sht_cmp_xorshift_stat)
324
325 #else
326 #   define CDSUNIT_DECLARE_SkipListMap_RCU_signal
327 #   define CDSUNIT_TEST_SkipListMap_RCU_signal
328 #endif
329
330 #define CDSUNIT_DECLARE_SkipListMap \
331     TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_less_pascal)\
332     TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_cmp_pascal_stat)\
333     TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_less_xorshift)\
334     TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_cmp_xorshift_stat)\
335     TEST_MAP_NOLF_EXTRACT(SkipListMap_dhp_less_pascal)\
336     TEST_MAP_NOLF_EXTRACT(SkipListMap_dhp_cmp_pascal_stat)\
337     TEST_MAP_NOLF_EXTRACT(SkipListMap_dhp_less_xorshift)\
338     TEST_MAP_NOLF_EXTRACT(SkipListMap_dhp_cmp_xorshift_stat)\
339     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_less_pascal)\
340     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_cmp_pascal_stat)\
341     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_less_xorshift)\
342     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_cmp_xorshift_stat)\
343     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_less_pascal)\
344     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_cmp_pascal_stat)\
345     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_less_xorshift)\
346     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_cmp_xorshift_stat)\
347     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_less_pascal)\
348     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_cmp_pascal_stat)\
349     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_less_xorshift)\
350     TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_cmp_xorshift_stat)\
351     CDSUNIT_DECLARE_SkipListMap_RCU_signal
352
353
354 #define CDSUNIT_TEST_SkipListMap \
355     CPPUNIT_TEST(SkipListMap_hp_less_pascal)\
356     CPPUNIT_TEST(SkipListMap_hp_cmp_pascal_stat)\
357     CPPUNIT_TEST(SkipListMap_hp_less_xorshift)\
358     CPPUNIT_TEST(SkipListMap_hp_cmp_xorshift_stat)\
359     CPPUNIT_TEST(SkipListMap_dhp_less_pascal)\
360     CPPUNIT_TEST(SkipListMap_dhp_cmp_pascal_stat)\
361     CPPUNIT_TEST(SkipListMap_dhp_less_xorshift)\
362     CPPUNIT_TEST(SkipListMap_dhp_cmp_xorshift_stat)\
363     CPPUNIT_TEST(SkipListMap_rcu_gpi_less_pascal)\
364     CPPUNIT_TEST(SkipListMap_rcu_gpi_cmp_pascal_stat)\
365     CPPUNIT_TEST(SkipListMap_rcu_gpi_less_xorshift)\
366     CPPUNIT_TEST(SkipListMap_rcu_gpi_cmp_xorshift_stat)\
367     CPPUNIT_TEST(SkipListMap_rcu_gpb_less_pascal)\
368     CPPUNIT_TEST(SkipListMap_rcu_gpb_cmp_pascal_stat)\
369     CPPUNIT_TEST(SkipListMap_rcu_gpb_less_xorshift)\
370     CPPUNIT_TEST(SkipListMap_rcu_gpb_cmp_xorshift_stat)\
371     CPPUNIT_TEST(SkipListMap_rcu_gpt_less_pascal)\
372     CPPUNIT_TEST(SkipListMap_rcu_gpt_cmp_pascal_stat)\
373     CPPUNIT_TEST(SkipListMap_rcu_gpt_less_xorshift)\
374     CPPUNIT_TEST(SkipListMap_rcu_gpt_cmp_xorshift_stat)\
375     CDSUNIT_TEST_SkipListMap_RCU_signal
376
377 #define CDSUNIT_DECLARE_SkipListMap_nogc \
378     TEST_MAP_NOLF(SkipListMap_nogc_less_pascal)\
379     TEST_MAP_NOLF(SkipListMap_nogc_cmp_pascal_stat)\
380     TEST_MAP_NOLF(SkipListMap_nogc_less_xorshift)\
381     TEST_MAP_NOLF(SkipListMap_nogc_cmp_xorshift_stat)
382
383 #define CDSUNIT_TEST_SkipListMap_nogc \
384     CPPUNIT_TEST(SkipListMap_nogc_less_pascal)\
385     CPPUNIT_TEST(SkipListMap_nogc_cmp_pascal_stat)\
386     CPPUNIT_TEST(SkipListMap_nogc_less_xorshift)\
387     CPPUNIT_TEST(SkipListMap_nogc_cmp_xorshift_stat)
388
389 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
390 #   define CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal \
391     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_shb)\
392     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_shb_stat)\
393     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_sht)\
394     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_sht_stat)
395
396 #   define CDSUNIT_TEST_EllenBinTreeMap_RCU_signal \
397     CPPUNIT_TEST(EllenBinTreeMap_rcu_shb)\
398     CPPUNIT_TEST(EllenBinTreeMap_rcu_shb_stat)\
399     CPPUNIT_TEST(EllenBinTreeMap_rcu_sht)\
400     CPPUNIT_TEST(EllenBinTreeMap_rcu_sht_stat)
401 #else
402 #   define CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal
403 #   define CDSUNIT_TEST_EllenBinTreeMap_RCU_signal
404 #endif
405
406 #define CDSUNIT_DECLARE_EllenBinTreeMap \
407     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_hp)\
408     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_hp_yield)\
409     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_hp_stat)\
410     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_dhp)\
411     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_dhp_yield)\
412     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_dhp_stat)\
413     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpi)\
414     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpi_stat)\
415     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpb)\
416     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpb_yield)\
417     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpb_stat)\
418     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpt)\
419     TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpt_stat)\
420     CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal
421
422 #define CDSUNIT_TEST_EllenBinTreeMap \
423     CPPUNIT_TEST(EllenBinTreeMap_hp)\
424     CPPUNIT_TEST(EllenBinTreeMap_hp_yield)\
425     CPPUNIT_TEST(EllenBinTreeMap_hp_stat)\
426     CPPUNIT_TEST(EllenBinTreeMap_dhp)\
427     CPPUNIT_TEST(EllenBinTreeMap_dhp_yield)\
428     CPPUNIT_TEST(EllenBinTreeMap_dhp_stat)\
429     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpi)\
430     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpi_stat)\
431     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb)\
432     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb_yield)\
433     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpb_stat)\
434     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpt)\
435     CPPUNIT_TEST(EllenBinTreeMap_rcu_gpt_stat)\
436     CDSUNIT_TEST_EllenBinTreeMap_RCU_signal
437
438 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
439 #   define CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal \
440     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less) \
441     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less) \
442     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_cmp_stat) \
443     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_cmp_stat) \
444     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_simple) \
445     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_simple) \
446     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat) \
447     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat) \
448     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_lazy) \
449     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_lazy) \
450     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat) \
451     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat) \
452     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_bounded) \
453     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_bounded) \
454     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_bounded_stat) \
455     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_bounded_stat) \
456
457 #   define CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal \
458     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less) \
459     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less) \
460     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_cmp_stat) \
461     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_cmp_stat) \
462     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_simple) \
463     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat) \
464     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_simple) \
465     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat) \
466     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_lazy) \
467     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat) \
468     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_lazy) \
469     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat) \
470     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_bounded) \
471     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_bounded_stat) \
472     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_bounded) \
473     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_bounded_stat) \
474
475 #else
476 #   define CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal
477 #   define CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal
478 #endif
479
480 #define CDSUNIT_DECLARE_BronsonAVLTreeMap \
481     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less)\
482     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less)\
483     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less)\
484     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_cmp_stat)\
485     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_cmp_stat)\
486     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_cmp_stat)\
487     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_simple)\
488     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_simple)\
489     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_simple)\
490     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat)\
491     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat)\
492     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat)\
493     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy)\
494     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy)\
495     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy)\
496     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat)\
497     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat)\
498     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat)\
499     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded)\
500     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded)\
501     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded)\
502     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded_stat)\
503     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded_stat)\
504     TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded_stat)\
505     CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal
506
507 #define CDSUNIT_TEST_BronsonAVLTreeMap \
508     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less)\
509     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_cmp_stat)\
510     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less)\
511     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_cmp_stat)\
512     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less)\
513     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_cmp_stat)\
514     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_simple)\
515     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat)\
516     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_simple)\
517     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat)\
518     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_simple)\
519     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat)\
520     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy)\
521     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat)\
522     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy)\
523     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat)\
524     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy)\
525     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat)\
526     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded)\
527     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded_stat)\
528     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded)\
529     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded_stat)\
530     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded)\
531     CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded_stat)\
532     CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal
533
534 #define CDSUNIT_DECLARE_StripedMap_common \
535     TEST_MAP(StripedMap_list) \
536     TEST_MAP(StripedMap_map) \
537     TEST_MAP(StripedMap_hashmap) \
538     TEST_MAP(StripedMap_boost_unordered_map)
539
540 #define CDSUNIT_TEST_StripedMap_common \
541     CPPUNIT_TEST(StripedMap_list) \
542     CPPUNIT_TEST(StripedMap_map) \
543     CPPUNIT_TEST(StripedMap_hashmap) \
544     CPPUNIT_TEST(StripedMap_boost_unordered_map)
545
546 #if BOOST_VERSION >= 104800
547 #   define CDSUNIT_DECLARE_StripedMap_boost_container \
548         TEST_MAP(StripedMap_boost_list) \
549         TEST_MAP(StripedMap_slist) \
550         TEST_MAP(StripedMap_boost_map)
551 #   define CDSUNIT_TEST_StripedMap_boost_container \
552         CPPUNIT_TEST(StripedMap_boost_list) \
553         CPPUNIT_TEST(StripedMap_slist) \
554         CPPUNIT_TEST(StripedMap_boost_map)
555 #else
556 #   define CDSUNIT_DECLARE_StripedMap_boost_container
557 #   define CDSUNIT_TEST_StripedMap_boost_container
558 #endif
559
560 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
561 #   define CDSUNIT_DECLARE_StripedMap_boost_flat_container \
562         TEST_MAP(StripedMap_boost_flat_map)
563 #   define CDSUNIT_TEST_StripedMap_boost_flat_container \
564         CPPUNIT_TEST(StripedMap_boost_flat_map)
565 #else
566 #   define CDSUNIT_DECLARE_StripedMap_boost_flat_container
567 #   define CDSUNIT_TEST_StripedMap_boost_flat_container
568 #endif
569
570 #define CDSUNIT_DECLARE_StripedMap \
571     CDSUNIT_DECLARE_StripedMap_common \
572     CDSUNIT_DECLARE_StripedMap_boost_container \
573     CDSUNIT_DECLARE_StripedMap_boost_flat_container
574 #define CDSUNIT_TEST_StripedMap \
575     CDSUNIT_TEST_StripedMap_common \
576     CDSUNIT_TEST_StripedMap_boost_container \
577     CDSUNIT_TEST_StripedMap_boost_flat_container
578
579
580
581 #define CDSUNIT_DECLARE_RefinableMap_common \
582     TEST_MAP(RefinableMap_list) \
583     TEST_MAP(RefinableMap_map) \
584     TEST_MAP(RefinableMap_hashmap) \
585     TEST_MAP(RefinableMap_boost_unordered_map)
586 #define CDSUNIT_TEST_RefinableMap_common \
587     CPPUNIT_TEST(RefinableMap_list) \
588     CPPUNIT_TEST(RefinableMap_map) \
589     CPPUNIT_TEST(RefinableMap_hashmap) \
590     CPPUNIT_TEST(RefinableMap_boost_unordered_map)
591
592 #if BOOST_VERSION >= 104800
593 #   define CDSUNIT_DECLARE_RefinableMap_boost_container \
594         TEST_MAP(RefinableMap_boost_list) \
595         TEST_MAP(RefinableMap_slist) \
596         TEST_MAP(RefinableMap_boost_map)
597 #   define CDSUNIT_TEST_RefinableMap_boost_container \
598         CPPUNIT_TEST(RefinableMap_boost_list) \
599         CPPUNIT_TEST(RefinableMap_slist) \
600         CPPUNIT_TEST(RefinableMap_boost_map)
601 #else
602 #   define CDSUNIT_DECLARE_RefinableMap_boost_container
603 #   define CDSUNIT_TEST_RefinableMap_boost_container
604 #endif
605
606 #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS)
607 #   define CDSUNIT_DECLARE_RefinableMap_boost_flat_container \
608         TEST_MAP(RefinableMap_boost_flat_map)
609 #   define CDSUNIT_TEST_RefinableMap_boost_flat_container \
610         CPPUNIT_TEST(RefinableMap_boost_flat_map)
611 #else
612 #   define CDSUNIT_DECLARE_RefinableMap_boost_flat_container
613 #   define CDSUNIT_TEST_RefinableMap_boost_flat_container
614 #endif
615
616 #define CDSUNIT_DECLARE_RefinableMap \
617     CDSUNIT_DECLARE_RefinableMap_common \
618     CDSUNIT_DECLARE_RefinableMap_boost_container \
619     CDSUNIT_DECLARE_RefinableMap_boost_flat_container
620 #define CDSUNIT_TEST_RefinableMap \
621     CDSUNIT_TEST_RefinableMap_common \
622     CDSUNIT_TEST_RefinableMap_boost_container \
623     CDSUNIT_TEST_RefinableMap_boost_flat_container
624
625 #define CDSUNIT_DECLARE_CuckooMap \
626     TEST_MAP(CuckooStripedMap_list_unord)\
627     TEST_MAP(CuckooStripedMap_list_ord)\
628     TEST_MAP(CuckooStripedMap_vector_unord)\
629     TEST_MAP(CuckooStripedMap_vector_ord)\
630     TEST_MAP(CuckooStripedMap_list_unord_stat)\
631     TEST_MAP(CuckooStripedMap_list_ord_stat)\
632     TEST_MAP(CuckooStripedMap_vector_unord_stat)\
633     TEST_MAP(CuckooStripedMap_vector_ord_stat)\
634     TEST_MAP(CuckooRefinableMap_list_unord)\
635     TEST_MAP(CuckooRefinableMap_list_ord)\
636     TEST_MAP(CuckooRefinableMap_vector_unord)\
637     TEST_MAP(CuckooRefinableMap_vector_ord) \
638     TEST_MAP(CuckooRefinableMap_list_unord_stat)\
639     TEST_MAP(CuckooRefinableMap_list_ord_stat)\
640     TEST_MAP(CuckooRefinableMap_vector_unord_stat)\
641     TEST_MAP(CuckooRefinableMap_vector_ord_stat) \
642     TEST_MAP(CuckooStripedMap_list_unord_storehash)\
643     TEST_MAP(CuckooStripedMap_list_ord_storehash)\
644     TEST_MAP(CuckooStripedMap_vector_unord_storehash)\
645     TEST_MAP(CuckooStripedMap_vector_ord_storehash)\
646     TEST_MAP(CuckooRefinableMap_list_unord_storehash)\
647     TEST_MAP(CuckooRefinableMap_list_ord_storehash)\
648     TEST_MAP(CuckooRefinableMap_vector_unord_storehash)\
649     TEST_MAP(CuckooRefinableMap_vector_ord_storehash)
650
651 #define CDSUNIT_TEST_CuckooMap \
652     CPPUNIT_TEST(CuckooStripedMap_list_unord)\
653     CPPUNIT_TEST(CuckooStripedMap_list_unord_stat)\
654     CPPUNIT_TEST(CuckooStripedMap_list_unord_storehash)\
655     CPPUNIT_TEST(CuckooStripedMap_list_ord)\
656     CPPUNIT_TEST(CuckooStripedMap_list_ord_stat)\
657     CPPUNIT_TEST(CuckooStripedMap_list_ord_storehash)\
658     CPPUNIT_TEST(CuckooStripedMap_vector_unord)\
659     CPPUNIT_TEST(CuckooStripedMap_vector_unord_stat)\
660     CPPUNIT_TEST(CuckooStripedMap_vector_unord_storehash)\
661     CPPUNIT_TEST(CuckooStripedMap_vector_ord)\
662     CPPUNIT_TEST(CuckooStripedMap_vector_ord_stat)\
663     CPPUNIT_TEST(CuckooStripedMap_vector_ord_storehash)\
664     CPPUNIT_TEST(CuckooRefinableMap_list_unord)\
665     CPPUNIT_TEST(CuckooRefinableMap_list_unord_stat)\
666     CPPUNIT_TEST(CuckooRefinableMap_list_unord_storehash)\
667     CPPUNIT_TEST(CuckooRefinableMap_list_ord)\
668     CPPUNIT_TEST(CuckooRefinableMap_list_ord_stat)\
669     CPPUNIT_TEST(CuckooRefinableMap_list_ord_storehash)\
670     CPPUNIT_TEST(CuckooRefinableMap_vector_unord)\
671     CPPUNIT_TEST(CuckooRefinableMap_vector_unord_stat)\
672     CPPUNIT_TEST(CuckooRefinableMap_vector_unord_storehash)\
673     CPPUNIT_TEST(CuckooRefinableMap_vector_ord)\
674     CPPUNIT_TEST(CuckooRefinableMap_vector_ord_stat)\
675     CPPUNIT_TEST(CuckooRefinableMap_vector_ord_storehash)
676
677 #endif // #ifndef CDSUNIT_MAP_DEFS_H