6#ifndef _ZFI_ZFCallback_lambda_h_
7#define _ZFI_ZFCallback_lambda_h_
16#define ZFLAMBDA_END() \
44#define ZFLAMBDA(T_ZFCallback, name \
46 _ZFP_ZFLAMBDA_BEGIN_0(T_ZFCallback, name \
47 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
59#define ZFLAMBDA_0(T_ZFCallback, name \
61 _ZFP_ZFLAMBDA_BEGIN_0(T_ZFCallback, name \
62 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
74#define ZFLAMBDA_1(T_ZFCallback, name \
75 , CaptureParam0, capture0 \
77 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
78 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
79 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam1 , capture1 \
80 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam2 , capture2 \
81 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam3 , capture3 \
82 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam4 , capture4 \
83 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam5 , capture5 \
84 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam6 , capture6 \
85 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam7 , capture7 \
86 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam8 , capture8 \
87 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam9 , capture9 \
88 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam10, capture10 \
89 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam11, capture11 \
90 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam12, capture12 \
91 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam13, capture13 \
92 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam14, capture14 \
93 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam15, capture15 \
94 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
100 , _ZFP_ZFMP_DUMMY() \
101 , _ZFP_ZFMP_DUMMY() \
102 , _ZFP_ZFMP_DUMMY() \
106#define ZFLAMBDA_2(T_ZFCallback, name \
107 , CaptureParam0, capture0 \
108 , CaptureParam1, capture1 \
110 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
111 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
112 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam1 , capture1 \
113 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam2 , capture2 \
114 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam3 , capture3 \
115 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam4 , capture4 \
116 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam5 , capture5 \
117 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam6 , capture6 \
118 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam7 , capture7 \
119 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam8 , capture8 \
120 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam9 , capture9 \
121 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam10, capture10 \
122 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam11, capture11 \
123 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam12, capture12 \
124 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam13, capture13 \
125 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam14, capture14 \
126 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam15, capture15 \
127 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
128 , _ZFP_ZFMP_DUMMY() \
129 , _ZFP_ZFMP_DUMMY() \
130 , _ZFP_ZFMP_DUMMY() \
131 , _ZFP_ZFMP_DUMMY() \
132 , _ZFP_ZFMP_DUMMY() \
133 , _ZFP_ZFMP_DUMMY() \
134 , _ZFP_ZFMP_DUMMY() \
135 , _ZFP_ZFMP_DUMMY() \
139#define ZFLAMBDA_3(T_ZFCallback, name \
140 , CaptureParam0, capture0 \
141 , CaptureParam1, capture1 \
142 , CaptureParam2, capture2 \
144 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
145 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
146 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam1 , capture1 \
147 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam2 , capture2 \
148 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam3 , capture3 \
149 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam4 , capture4 \
150 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam5 , capture5 \
151 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam6 , capture6 \
152 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam7 , capture7 \
153 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam8 , capture8 \
154 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam9 , capture9 \
155 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam10, capture10 \
156 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam11, capture11 \
157 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam12, capture12 \
158 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam13, capture13 \
159 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam14, capture14 \
160 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam15, capture15 \
161 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
162 , _ZFP_ZFMP_DUMMY() \
163 , _ZFP_ZFMP_DUMMY() \
164 , _ZFP_ZFMP_DUMMY() \
165 , _ZFP_ZFMP_DUMMY() \
166 , _ZFP_ZFMP_DUMMY() \
167 , _ZFP_ZFMP_DUMMY() \
168 , _ZFP_ZFMP_DUMMY() \
169 , _ZFP_ZFMP_DUMMY() \
173#define ZFLAMBDA_4(T_ZFCallback, name \
174 , CaptureParam0, capture0 \
175 , CaptureParam1, capture1 \
176 , CaptureParam2, capture2 \
177 , CaptureParam3, capture3 \
179 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
180 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
181 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam1 , capture1 \
182 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam2 , capture2 \
183 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam3 , capture3 \
184 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam4 , capture4 \
185 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam5 , capture5 \
186 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam6 , capture6 \
187 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam7 , capture7 \
188 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam8 , capture8 \
189 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam9 , capture9 \
190 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam10, capture10 \
191 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam11, capture11 \
192 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam12, capture12 \
193 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam13, capture13 \
194 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam14, capture14 \
195 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam15, capture15 \
196 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
197 , _ZFP_ZFMP_DUMMY() \
198 , _ZFP_ZFMP_DUMMY() \
199 , _ZFP_ZFMP_DUMMY() \
200 , _ZFP_ZFMP_DUMMY() \
201 , _ZFP_ZFMP_DUMMY() \
202 , _ZFP_ZFMP_DUMMY() \
203 , _ZFP_ZFMP_DUMMY() \
204 , _ZFP_ZFMP_DUMMY() \
208#define ZFLAMBDA_5(T_ZFCallback, name \
209 , CaptureParam0, capture0 \
210 , CaptureParam1, capture1 \
211 , CaptureParam2, capture2 \
212 , CaptureParam3, capture3 \
213 , CaptureParam4, capture4 \
215 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
216 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
217 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam1 , capture1 \
218 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam2 , capture2 \
219 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam3 , capture3 \
220 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam4 , capture4 \
221 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam5 , capture5 \
222 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam6 , capture6 \
223 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam7 , capture7 \
224 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam8 , capture8 \
225 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam9 , capture9 \
226 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam10, capture10 \
227 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam11, capture11 \
228 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam12, capture12 \
229 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam13, capture13 \
230 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam14, capture14 \
231 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam15, capture15 \
232 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
233 , _ZFP_ZFMP_DUMMY() \
234 , _ZFP_ZFMP_DUMMY() \
235 , _ZFP_ZFMP_DUMMY() \
236 , _ZFP_ZFMP_DUMMY() \
237 , _ZFP_ZFMP_DUMMY() \
238 , _ZFP_ZFMP_DUMMY() \
239 , _ZFP_ZFMP_DUMMY() \
240 , _ZFP_ZFMP_DUMMY() \
244#define ZFLAMBDA_6(T_ZFCallback, name \
245 , CaptureParam0, capture0 \
246 , CaptureParam1, capture1 \
247 , CaptureParam2, capture2 \
248 , CaptureParam3, capture3 \
249 , CaptureParam4, capture4 \
250 , CaptureParam5, capture5 \
252 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
253 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
254 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam1 , capture1 \
255 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam2 , capture2 \
256 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam3 , capture3 \
257 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam4 , capture4 \
258 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam5 , capture5 \
259 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam6 , capture6 \
260 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam7 , capture7 \
261 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam8 , capture8 \
262 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam9 , capture9 \
263 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam10, capture10 \
264 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam11, capture11 \
265 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam12, capture12 \
266 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam13, capture13 \
267 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam14, capture14 \
268 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam15, capture15 \
269 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
270 , _ZFP_ZFMP_DUMMY() \
271 , _ZFP_ZFMP_DUMMY() \
272 , _ZFP_ZFMP_DUMMY() \
273 , _ZFP_ZFMP_DUMMY() \
274 , _ZFP_ZFMP_DUMMY() \
275 , _ZFP_ZFMP_DUMMY() \
276 , _ZFP_ZFMP_DUMMY() \
277 , _ZFP_ZFMP_DUMMY() \
281#define ZFLAMBDA_7(T_ZFCallback, name \
282 , CaptureParam0, capture0 \
283 , CaptureParam1, capture1 \
284 , CaptureParam2, capture2 \
285 , CaptureParam3, capture3 \
286 , CaptureParam4, capture4 \
287 , CaptureParam5, capture5 \
288 , CaptureParam6, capture6 \
290 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
291 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
292 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam1 , capture1 \
293 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam2 , capture2 \
294 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam3 , capture3 \
295 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam4 , capture4 \
296 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam5 , capture5 \
297 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam6 , capture6 \
298 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam7 , capture7 \
299 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam8 , capture8 \
300 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam9 , capture9 \
301 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam10, capture10 \
302 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam11, capture11 \
303 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam12, capture12 \
304 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam13, capture13 \
305 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam14, capture14 \
306 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam15, capture15 \
307 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
308 , _ZFP_ZFMP_DUMMY() \
309 , _ZFP_ZFMP_DUMMY() \
310 , _ZFP_ZFMP_DUMMY() \
311 , _ZFP_ZFMP_DUMMY() \
312 , _ZFP_ZFMP_DUMMY() \
313 , _ZFP_ZFMP_DUMMY() \
314 , _ZFP_ZFMP_DUMMY() \
315 , _ZFP_ZFMP_DUMMY() \
319#define ZFLAMBDA_8(T_ZFCallback, name \
320 , CaptureParam0, capture0 \
321 , CaptureParam1, capture1 \
322 , CaptureParam2, capture2 \
323 , CaptureParam3, capture3 \
324 , CaptureParam4, capture4 \
325 , CaptureParam5, capture5 \
326 , CaptureParam6, capture6 \
327 , CaptureParam7, capture7 \
329 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
330 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
331 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam1 , capture1 \
332 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam2 , capture2 \
333 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam3 , capture3 \
334 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam4 , capture4 \
335 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam5 , capture5 \
336 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam6 , capture6 \
337 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam7 , capture7 \
338 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam8 , capture8 \
339 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam9 , capture9 \
340 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam10, capture10 \
341 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam11, capture11 \
342 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam12, capture12 \
343 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam13, capture13 \
344 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam14, capture14 \
345 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam15, capture15 \
346 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
347 , _ZFP_ZFMP_DUMMY() \
348 , _ZFP_ZFMP_DUMMY() \
349 , _ZFP_ZFMP_DUMMY() \
350 , _ZFP_ZFMP_DUMMY() \
351 , _ZFP_ZFMP_DUMMY() \
352 , _ZFP_ZFMP_DUMMY() \
353 , _ZFP_ZFMP_DUMMY() \
354 , _ZFP_ZFMP_DUMMY() \
358#define ZFLAMBDA_9(T_ZFCallback, name \
359 , CaptureParam0, capture0 \
360 , CaptureParam1, capture1 \
361 , CaptureParam2, capture2 \
362 , CaptureParam3, capture3 \
363 , CaptureParam4, capture4 \
364 , CaptureParam5, capture5 \
365 , CaptureParam6, capture6 \
366 , CaptureParam7, capture7 \
367 , CaptureParam8, capture8 \
369 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
370 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
371 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam1 , capture1 \
372 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam2 , capture2 \
373 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam3 , capture3 \
374 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam4 , capture4 \
375 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam5 , capture5 \
376 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam6 , capture6 \
377 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam7 , capture7 \
378 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam8 , capture8 \
379 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam9 , capture9 \
380 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam10, capture10 \
381 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam11, capture11 \
382 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam12, capture12 \
383 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam13, capture13 \
384 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam14, capture14 \
385 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam15, capture15 \
386 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
387 , _ZFP_ZFMP_DUMMY() \
388 , _ZFP_ZFMP_DUMMY() \
389 , _ZFP_ZFMP_DUMMY() \
390 , _ZFP_ZFMP_DUMMY() \
391 , _ZFP_ZFMP_DUMMY() \
392 , _ZFP_ZFMP_DUMMY() \
393 , _ZFP_ZFMP_DUMMY() \
394 , _ZFP_ZFMP_DUMMY() \
398#define ZFLAMBDA_10(T_ZFCallback, name \
399 , CaptureParam0, capture0 \
400 , CaptureParam1, capture1 \
401 , CaptureParam2, capture2 \
402 , CaptureParam3, capture3 \
403 , CaptureParam4, capture4 \
404 , CaptureParam5, capture5 \
405 , CaptureParam6, capture6 \
406 , CaptureParam7, capture7 \
407 , CaptureParam8, capture8 \
408 , CaptureParam9, capture9 \
410 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
411 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
412 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam1 , capture1 \
413 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam2 , capture2 \
414 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam3 , capture3 \
415 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam4 , capture4 \
416 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam5 , capture5 \
417 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam6 , capture6 \
418 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam7 , capture7 \
419 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam8 , capture8 \
420 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam9 , capture9 \
421 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam10, capture10 \
422 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam11, capture11 \
423 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam12, capture12 \
424 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam13, capture13 \
425 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam14, capture14 \
426 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam15, capture15 \
427 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
428 , _ZFP_ZFMP_DUMMY() \
429 , _ZFP_ZFMP_DUMMY() \
430 , _ZFP_ZFMP_DUMMY() \
431 , _ZFP_ZFMP_DUMMY() \
432 , _ZFP_ZFMP_DUMMY() \
433 , _ZFP_ZFMP_DUMMY() \
434 , _ZFP_ZFMP_DUMMY() \
435 , _ZFP_ZFMP_DUMMY() \
439#define ZFLAMBDA_11(T_ZFCallback, name \
440 , CaptureParam0, capture0 \
441 , CaptureParam1, capture1 \
442 , CaptureParam2, capture2 \
443 , CaptureParam3, capture3 \
444 , CaptureParam4, capture4 \
445 , CaptureParam5, capture5 \
446 , CaptureParam6, capture6 \
447 , CaptureParam7, capture7 \
448 , CaptureParam8, capture8 \
449 , CaptureParam9, capture9 \
450 , CaptureParam10, capture10 \
452 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
453 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
454 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam1 , capture1 \
455 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam2 , capture2 \
456 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam3 , capture3 \
457 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam4 , capture4 \
458 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam5 , capture5 \
459 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam6 , capture6 \
460 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam7 , capture7 \
461 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam8 , capture8 \
462 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam9 , capture9 \
463 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam10, capture10 \
464 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam11, capture11 \
465 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam12, capture12 \
466 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam13, capture13 \
467 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam14, capture14 \
468 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam15, capture15 \
469 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
470 , _ZFP_ZFMP_DUMMY() \
471 , _ZFP_ZFMP_DUMMY() \
472 , _ZFP_ZFMP_DUMMY() \
473 , _ZFP_ZFMP_DUMMY() \
474 , _ZFP_ZFMP_DUMMY() \
475 , _ZFP_ZFMP_DUMMY() \
476 , _ZFP_ZFMP_DUMMY() \
477 , _ZFP_ZFMP_DUMMY() \
481#define ZFLAMBDA_12(T_ZFCallback, name \
482 , CaptureParam0, capture0 \
483 , CaptureParam1, capture1 \
484 , CaptureParam2, capture2 \
485 , CaptureParam3, capture3 \
486 , CaptureParam4, capture4 \
487 , CaptureParam5, capture5 \
488 , CaptureParam6, capture6 \
489 , CaptureParam7, capture7 \
490 , CaptureParam8, capture8 \
491 , CaptureParam9, capture9 \
492 , CaptureParam10, capture10 \
493 , CaptureParam11, capture11 \
495 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
496 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
497 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam1 , capture1 \
498 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam2 , capture2 \
499 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam3 , capture3 \
500 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam4 , capture4 \
501 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam5 , capture5 \
502 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam6 , capture6 \
503 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam7 , capture7 \
504 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam8 , capture8 \
505 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam9 , capture9 \
506 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam10, capture10 \
507 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam11, capture11 \
508 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam12, capture12 \
509 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam13, capture13 \
510 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam14, capture14 \
511 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam15, capture15 \
512 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
513 , _ZFP_ZFMP_DUMMY() \
514 , _ZFP_ZFMP_DUMMY() \
515 , _ZFP_ZFMP_DUMMY() \
516 , _ZFP_ZFMP_DUMMY() \
517 , _ZFP_ZFMP_DUMMY() \
518 , _ZFP_ZFMP_DUMMY() \
519 , _ZFP_ZFMP_DUMMY() \
520 , _ZFP_ZFMP_DUMMY() \
524#define ZFLAMBDA_13(T_ZFCallback, name \
525 , CaptureParam0, capture0 \
526 , CaptureParam1, capture1 \
527 , CaptureParam2, capture2 \
528 , CaptureParam3, capture3 \
529 , CaptureParam4, capture4 \
530 , CaptureParam5, capture5 \
531 , CaptureParam6, capture6 \
532 , CaptureParam7, capture7 \
533 , CaptureParam8, capture8 \
534 , CaptureParam9, capture9 \
535 , CaptureParam10, capture10 \
536 , CaptureParam11, capture11 \
537 , CaptureParam12, capture12 \
539 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
540 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
541 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam1 , capture1 \
542 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam2 , capture2 \
543 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam3 , capture3 \
544 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam4 , capture4 \
545 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam5 , capture5 \
546 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam6 , capture6 \
547 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam7 , capture7 \
548 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam8 , capture8 \
549 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam9 , capture9 \
550 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam10, capture10 \
551 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam11, capture11 \
552 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam12, capture12 \
553 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam13, capture13 \
554 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam14, capture14 \
555 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam15, capture15 \
556 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
557 , _ZFP_ZFMP_DUMMY() \
558 , _ZFP_ZFMP_DUMMY() \
559 , _ZFP_ZFMP_DUMMY() \
560 , _ZFP_ZFMP_DUMMY() \
561 , _ZFP_ZFMP_DUMMY() \
562 , _ZFP_ZFMP_DUMMY() \
563 , _ZFP_ZFMP_DUMMY() \
564 , _ZFP_ZFMP_DUMMY() \
568#define ZFLAMBDA_14(T_ZFCallback, name \
569 , CaptureParam0, capture0 \
570 , CaptureParam1, capture1 \
571 , CaptureParam2, capture2 \
572 , CaptureParam3, capture3 \
573 , CaptureParam4, capture4 \
574 , CaptureParam5, capture5 \
575 , CaptureParam6, capture6 \
576 , CaptureParam7, capture7 \
577 , CaptureParam8, capture8 \
578 , CaptureParam9, capture9 \
579 , CaptureParam10, capture10 \
580 , CaptureParam11, capture11 \
581 , CaptureParam12, capture12 \
582 , CaptureParam13, capture13 \
584 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
585 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
586 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam1 , capture1 \
587 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam2 , capture2 \
588 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam3 , capture3 \
589 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam4 , capture4 \
590 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam5 , capture5 \
591 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam6 , capture6 \
592 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam7 , capture7 \
593 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam8 , capture8 \
594 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam9 , capture9 \
595 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam10, capture10 \
596 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam11, capture11 \
597 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam12, capture12 \
598 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam13, capture13 \
599 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam14, capture14 \
600 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam15, capture15 \
601 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
602 , _ZFP_ZFMP_DUMMY() \
603 , _ZFP_ZFMP_DUMMY() \
604 , _ZFP_ZFMP_DUMMY() \
605 , _ZFP_ZFMP_DUMMY() \
606 , _ZFP_ZFMP_DUMMY() \
607 , _ZFP_ZFMP_DUMMY() \
608 , _ZFP_ZFMP_DUMMY() \
609 , _ZFP_ZFMP_DUMMY() \
613#define ZFLAMBDA_15(T_ZFCallback, name \
614 , CaptureParam0, capture0 \
615 , CaptureParam1, capture1 \
616 , CaptureParam2, capture2 \
617 , CaptureParam3, capture3 \
618 , CaptureParam4, capture4 \
619 , CaptureParam5, capture5 \
620 , CaptureParam6, capture6 \
621 , CaptureParam7, capture7 \
622 , CaptureParam8, capture8 \
623 , CaptureParam9, capture9 \
624 , CaptureParam10, capture10 \
625 , CaptureParam11, capture11 \
626 , CaptureParam12, capture12 \
627 , CaptureParam13, capture13 \
628 , CaptureParam14, capture14 \
630 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
631 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
632 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam1 , capture1 \
633 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam2 , capture2 \
634 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam3 , capture3 \
635 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam4 , capture4 \
636 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam5 , capture5 \
637 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam6 , capture6 \
638 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam7 , capture7 \
639 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam8 , capture8 \
640 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam9 , capture9 \
641 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam10, capture10 \
642 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam11, capture11 \
643 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam12, capture12 \
644 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam13, capture13 \
645 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam14, capture14 \
646 , _ZFP_ZFLambdaCapture_EMPTY , CaptureParam15, capture15 \
647 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
648 , _ZFP_ZFMP_DUMMY() \
649 , _ZFP_ZFMP_DUMMY() \
650 , _ZFP_ZFMP_DUMMY() \
651 , _ZFP_ZFMP_DUMMY() \
652 , _ZFP_ZFMP_DUMMY() \
653 , _ZFP_ZFMP_DUMMY() \
654 , _ZFP_ZFMP_DUMMY() \
655 , _ZFP_ZFMP_DUMMY() \
659#define ZFLAMBDA_16(T_ZFCallback, name \
660 , CaptureParam0, capture0 \
661 , CaptureParam1, capture1 \
662 , CaptureParam2, capture2 \
663 , CaptureParam3, capture3 \
664 , CaptureParam4, capture4 \
665 , CaptureParam5, capture5 \
666 , CaptureParam6, capture6 \
667 , CaptureParam7, capture7 \
668 , CaptureParam8, capture8 \
669 , CaptureParam9, capture9 \
670 , CaptureParam10, capture10 \
671 , CaptureParam11, capture11 \
672 , CaptureParam12, capture12 \
673 , CaptureParam13, capture13 \
674 , CaptureParam14, capture14 \
675 , CaptureParam15, capture15 \
677 _ZFP_ZFLAMBDA_BEGIN(T_ZFCallback, name \
678 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam0 , capture0 \
679 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam1 , capture1 \
680 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam2 , capture2 \
681 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam3 , capture3 \
682 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam4 , capture4 \
683 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam5 , capture5 \
684 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam6 , capture6 \
685 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam7 , capture7 \
686 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam8 , capture8 \
687 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam9 , capture9 \
688 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam10, capture10 \
689 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam11, capture11 \
690 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam12, capture12 \
691 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam13, capture13 \
692 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam14, capture14 \
693 , _ZFP_ZFLambdaCapture_EXPAND, CaptureParam15, capture15 \
694 , ReturnType _ZFP_ZFLAMBDA_N_VA_EXPAND(__VA_ARGS__) \
695 , _ZFP_ZFMP_DUMMY() \
696 , _ZFP_ZFMP_DUMMY() \
697 , _ZFP_ZFMP_DUMMY() \
698 , _ZFP_ZFMP_DUMMY() \
699 , _ZFP_ZFMP_DUMMY() \
700 , _ZFP_ZFMP_DUMMY() \
701 , _ZFP_ZFMP_DUMMY() \
702 , _ZFP_ZFMP_DUMMY() \
705#define _ZFP_ZFLAMBDA_N_VA_EXPAND(...) , ##__VA_ARGS__
708#define _ZFP_ZFLambdaCapture_EXPAND(...) __VA_ARGS__
709#define _ZFP_ZFLambdaCapture_EMPTY(...)
711template<
typename T_Type>
716template<
typename T_Type>
721template<
typename T_Type>
724 typedef T_Type
const & T;
727#define _ZFP_ZFLAMBDA_BEGIN_EXPAND(...) __VA_ARGS__
728#define _ZFP_ZFLAMBDA_BEGIN(...) \
729 _ZFP_ZFLAMBDA_BEGIN_EXPAND(_ZFP_ZFLAMBDA_BEGIN_(__VA_ARGS__))
730#define _ZFP_ZFLAMBDA_BEGIN_(T_ZFCallback, name \
731 , CaptureExpandOrEmpty0, CaptureType0, capture0 \
732 , CaptureExpandOrEmpty1, CaptureType1, capture1 \
733 , CaptureExpandOrEmpty2, CaptureType2, capture2 \
734 , CaptureExpandOrEmpty3, CaptureType3, capture3 \
735 , CaptureExpandOrEmpty4, CaptureType4, capture4 \
736 , CaptureExpandOrEmpty5, CaptureType5, capture5 \
737 , CaptureExpandOrEmpty6, CaptureType6, capture6 \
738 , CaptureExpandOrEmpty7, CaptureType7, capture7 \
739 , CaptureExpandOrEmpty8, CaptureType8, capture8 \
740 , CaptureExpandOrEmpty9, CaptureType9, capture9 \
741 , CaptureExpandOrEmpty10, CaptureType10, capture10 \
742 , CaptureExpandOrEmpty11, CaptureType11, capture11 \
743 , CaptureExpandOrEmpty12, CaptureType12, capture12 \
744 , CaptureExpandOrEmpty13, CaptureType13, capture13 \
745 , CaptureExpandOrEmpty14, CaptureType14, capture14 \
746 , CaptureExpandOrEmpty15, CaptureType15, capture15 \
748 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
749 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
750 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
751 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
752 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
753 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
754 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
755 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
760 zfclassNotPOD _ZFP_Lbd_D_##name { \
762 CaptureExpandOrEmpty0(CaptureType0 capture0;) \
763 CaptureExpandOrEmpty1(CaptureType1 capture1;) \
764 CaptureExpandOrEmpty2(CaptureType2 capture2;) \
765 CaptureExpandOrEmpty3(CaptureType3 capture3;) \
766 CaptureExpandOrEmpty4(CaptureType4 capture4;) \
767 CaptureExpandOrEmpty5(CaptureType5 capture5;) \
768 CaptureExpandOrEmpty6(CaptureType6 capture6;) \
769 CaptureExpandOrEmpty7(CaptureType7 capture7;) \
770 CaptureExpandOrEmpty8(CaptureType8 capture8;) \
771 CaptureExpandOrEmpty9(CaptureType9 capture9;) \
772 CaptureExpandOrEmpty10(CaptureType10 capture10;) \
773 CaptureExpandOrEmpty11(CaptureType11 capture11;) \
774 CaptureExpandOrEmpty12(CaptureType12 capture12;) \
775 CaptureExpandOrEmpty13(CaptureType13 capture13;) \
776 CaptureExpandOrEmpty14(CaptureType14 capture14;) \
777 CaptureExpandOrEmpty15(CaptureType15 capture15;) \
780 CaptureExpandOrEmpty0(ZFM_EMPTY() CaptureType0 capture0) \
781 CaptureExpandOrEmpty1(ZFM_COMMA() CaptureType1 capture1) \
782 CaptureExpandOrEmpty2(ZFM_COMMA() CaptureType2 capture2) \
783 CaptureExpandOrEmpty3(ZFM_COMMA() CaptureType3 capture3) \
784 CaptureExpandOrEmpty4(ZFM_COMMA() CaptureType4 capture4) \
785 CaptureExpandOrEmpty5(ZFM_COMMA() CaptureType5 capture5) \
786 CaptureExpandOrEmpty6(ZFM_COMMA() CaptureType6 capture6) \
787 CaptureExpandOrEmpty7(ZFM_COMMA() CaptureType7 capture7) \
788 CaptureExpandOrEmpty8(ZFM_COMMA() CaptureType8 capture8) \
789 CaptureExpandOrEmpty9(ZFM_COMMA() CaptureType9 capture9) \
790 CaptureExpandOrEmpty10(ZFM_COMMA() CaptureType10 capture10) \
791 CaptureExpandOrEmpty11(ZFM_COMMA() CaptureType11 capture11) \
792 CaptureExpandOrEmpty12(ZFM_COMMA() CaptureType12 capture12) \
793 CaptureExpandOrEmpty13(ZFM_COMMA() CaptureType13 capture13) \
794 CaptureExpandOrEmpty14(ZFM_COMMA() CaptureType14 capture14) \
795 CaptureExpandOrEmpty15(ZFM_COMMA() CaptureType15 capture15) \
797 CaptureExpandOrEmpty0( : capture0(capture0)) \
798 CaptureExpandOrEmpty1(ZFM_COMMA() capture1(capture1)) \
799 CaptureExpandOrEmpty2(ZFM_COMMA() capture2(capture2)) \
800 CaptureExpandOrEmpty3(ZFM_COMMA() capture3(capture3)) \
801 CaptureExpandOrEmpty4(ZFM_COMMA() capture4(capture4)) \
802 CaptureExpandOrEmpty5(ZFM_COMMA() capture5(capture5)) \
803 CaptureExpandOrEmpty6(ZFM_COMMA() capture6(capture6)) \
804 CaptureExpandOrEmpty7(ZFM_COMMA() capture7(capture7)) \
805 CaptureExpandOrEmpty8(ZFM_COMMA() capture8(capture8)) \
806 CaptureExpandOrEmpty9(ZFM_COMMA() capture9(capture9)) \
807 CaptureExpandOrEmpty10(ZFM_COMMA() capture10(capture10)) \
808 CaptureExpandOrEmpty11(ZFM_COMMA() capture11(capture11)) \
809 CaptureExpandOrEmpty12(ZFM_COMMA() capture12(capture12)) \
810 CaptureExpandOrEmpty13(ZFM_COMMA() capture13(capture13)) \
811 CaptureExpandOrEmpty14(ZFM_COMMA() capture14(capture14)) \
812 CaptureExpandOrEmpty15(ZFM_COMMA() capture15(capture15)) \
816 static void _ZFP_d(ZF_IN void *impl) { \
817 delete (_ZFP_Lbd_D_##name *)impl; \
820 ZFCallback _ZFP_Lbd_v = ZFCallback::_ZFP_ZFCallbackCreateLambda( \
821 new _ZFP_Lbd_D_##name( \
822 CaptureExpandOrEmpty0(ZFM_EMPTY() capture0) \
823 CaptureExpandOrEmpty1(ZFM_COMMA() capture1) \
824 CaptureExpandOrEmpty2(ZFM_COMMA() capture2) \
825 CaptureExpandOrEmpty3(ZFM_COMMA() capture3) \
826 CaptureExpandOrEmpty4(ZFM_COMMA() capture4) \
827 CaptureExpandOrEmpty5(ZFM_COMMA() capture5) \
828 CaptureExpandOrEmpty6(ZFM_COMMA() capture6) \
829 CaptureExpandOrEmpty7(ZFM_COMMA() capture7) \
830 CaptureExpandOrEmpty8(ZFM_COMMA() capture8) \
831 CaptureExpandOrEmpty9(ZFM_COMMA() capture9) \
832 CaptureExpandOrEmpty10(ZFM_COMMA() capture10) \
833 CaptureExpandOrEmpty11(ZFM_COMMA() capture11) \
834 CaptureExpandOrEmpty12(ZFM_COMMA() capture12) \
835 CaptureExpandOrEmpty13(ZFM_COMMA() capture13) \
836 CaptureExpandOrEmpty14(ZFM_COMMA() capture14) \
837 CaptureExpandOrEmpty15(ZFM_COMMA() capture15) \
839 _ZFP_Lbd_D_##name::_ZFP_d, \
842 zfclassNotPOD _ZFP_Lbd_P_##name { \
844 _ZFP_Lbd_P_##name(ZF_IN_OUT ZFCallback &cb) { \
845 cb._ZFP_ZFCallback_callbackLambdaInvoker((ZFFuncAddrType)_ZFP_Lbd_P_##name::_ZFP_i); \
848 static ReturnType _ZFP_i(_ZFP_Lbd_D_##name *_ZFP_d \
849 ParamExpandOrEmpty0(ZFM_COMMA() ParamType0 param0) \
850 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1 param1) \
851 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2 param2) \
852 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3 param3) \
853 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4 param4) \
854 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5 param5) \
855 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6 param6) \
856 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7 param7) \
858 CaptureExpandOrEmpty0(_ZFP_ZFLAMBDA_TR<CaptureType0>::T capture0 = _ZFP_d->capture0;) \
859 CaptureExpandOrEmpty1(_ZFP_ZFLAMBDA_TR<CaptureType1>::T capture1 = _ZFP_d->capture1;) \
860 CaptureExpandOrEmpty2(_ZFP_ZFLAMBDA_TR<CaptureType2>::T capture2 = _ZFP_d->capture2;) \
861 CaptureExpandOrEmpty3(_ZFP_ZFLAMBDA_TR<CaptureType3>::T capture3 = _ZFP_d->capture3;) \
862 CaptureExpandOrEmpty4(_ZFP_ZFLAMBDA_TR<CaptureType4>::T capture4 = _ZFP_d->capture4;) \
863 CaptureExpandOrEmpty5(_ZFP_ZFLAMBDA_TR<CaptureType5>::T capture5 = _ZFP_d->capture5;) \
864 CaptureExpandOrEmpty6(_ZFP_ZFLAMBDA_TR<CaptureType6>::T capture6 = _ZFP_d->capture6;) \
865 CaptureExpandOrEmpty7(_ZFP_ZFLAMBDA_TR<CaptureType7>::T capture7 = _ZFP_d->capture7;) \
866 CaptureExpandOrEmpty8(_ZFP_ZFLAMBDA_TR<CaptureType8>::T capture8 = _ZFP_d->capture8;) \
867 CaptureExpandOrEmpty9(_ZFP_ZFLAMBDA_TR<CaptureType9>::T capture9 = _ZFP_d->capture9;) \
868 CaptureExpandOrEmpty10(_ZFP_ZFLAMBDA_TR<CaptureType10>::T capture10 = _ZFP_d->capture10;) \
869 CaptureExpandOrEmpty11(_ZFP_ZFLAMBDA_TR<CaptureType11>::T capture11 = _ZFP_d->capture11;) \
870 CaptureExpandOrEmpty12(_ZFP_ZFLAMBDA_TR<CaptureType12>::T capture12 = _ZFP_d->capture12;) \
871 CaptureExpandOrEmpty13(_ZFP_ZFLAMBDA_TR<CaptureType13>::T capture13 = _ZFP_d->capture13;) \
872 CaptureExpandOrEmpty14(_ZFP_ZFLAMBDA_TR<CaptureType14>::T capture14 = _ZFP_d->capture14;) \
873 CaptureExpandOrEmpty15(_ZFP_ZFLAMBDA_TR<CaptureType15>::T capture15 = _ZFP_d->capture15;) \
875#define _ZFP_ZFLAMBDA_END() \
878 } _ZFP_Lbd_p(_ZFP_Lbd_v); \
882#define _ZFP_ZFLAMBDA_BEGIN_0_EXPAND(...) __VA_ARGS__
883#define _ZFP_ZFLAMBDA_BEGIN_0(...) \
884 _ZFP_ZFLAMBDA_BEGIN_0_EXPAND(_ZFP_ZFLAMBDA_BEGIN_0_(__VA_ARGS__))
885#define _ZFP_ZFLAMBDA_BEGIN_0_(T_ZFCallback, name \
887 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
888 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
889 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
890 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
891 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
892 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
893 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
894 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
899 ZFCallback _ZFP_Lbd_v = ZFCallback::_ZFP_ZFCallbackCreateLambda( \
904 zfclassNotPOD _ZFP_Lbd_P_##name { \
906 _ZFP_Lbd_P_##name(ZF_IN_OUT ZFCallback &cb) { \
907 cb._ZFP_ZFCallback_callbackLambdaInvoker((ZFFuncAddrType)_ZFP_Lbd_P_##name::_ZFP_i); \
910 static ReturnType _ZFP_i(void * \
911 ParamExpandOrEmpty0(ZFM_COMMA() ParamType0 param0) \
912 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1 param1) \
913 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2 param2) \
914 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3 param3) \
915 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4 param4) \
916 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5 param5) \
917 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6 param6) \
918 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7 param7) \
#define zfclassNotPOD
shows the class is not a POD type, you should not memset it or declare it in stack or copy value by c...
Definition ZFCoreTypeDef_ClassType.h:48
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98