6#ifndef _ZFI_ZFMethodInterfaceDeclare_h_
7#define _ZFI_ZFMethodInterfaceDeclare_h_
12#define _ZFP_ZFMETHOD_IMPL_isInline()
13#define _ZFP_ZFMETHOD_IMPL_notInline() ;
15#define _ZFP_ZFMETHOD_IMPL_DECLARE(...) \
16 _ZFP_MtdD_EXPAND(_ZFP_ZFMETHOD_IMPL_DECLARE_(__VA_ARGS__))
17#define _ZFP_ZFMETHOD_IMPL_DECLARE_( \
19 , ReturnType, MethodName \
20 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
21 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
22 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
23 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
24 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
25 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
26 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
27 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
30 virtual ReturnType MethodName( \
31 ParamExpandOrEmpty0( ParamType0 param0 DefaultValueFix0()) \
32 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1 param1 DefaultValueFix1()) \
33 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2 param2 DefaultValueFix2()) \
34 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3 param3 DefaultValueFix3()) \
35 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4 param4 DefaultValueFix4()) \
36 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5 param5 DefaultValueFix5()) \
37 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6 param6 DefaultValueFix6()) \
38 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7 param7 DefaultValueFix7()) \
41#define _ZFP_ZFMETHOD_IMPL_DEFINE(...) \
42 _ZFP_MtdD_EXPAND(_ZFP_ZFMETHOD_IMPL_DEFINE_(__VA_ARGS__))
43#define _ZFP_ZFMETHOD_IMPL_DEFINE_( \
44 OwnerClass, ReturnType, MethodName \
45 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
46 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
47 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
48 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
49 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
50 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
51 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
52 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
54 ReturnType OwnerClass::MethodName( \
55 ParamExpandOrEmpty0( ParamType0 param0) \
56 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1 param1) \
57 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2 param2) \
58 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3 param3) \
59 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4 param4) \
60 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5 param5) \
61 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6 param6) \
62 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7 param7) \
68#define ZFMETHOD_INTERFACE_0(ReturnType, MethodName \
70 _ZFP_ZFMETHOD_DECLARE( \
71 public, ZFMethodTypeVirtual, _ZFP_ZFMETHOD_DECLARE_isPureVirtual, \
72 ReturnType, MethodName \
83#define ZFMETHOD_INTERFACE_DEFINE_0(OwnerClass, \
84 ReturnType, MethodName \
86 _ZFP_ZFMETHOD_DEFINE(OwnerClass, _ZFP_ZFMETHOD_DEFINE_isPureVirtual, ZF_CALLER_LINE, \
87 ReturnType, MethodName \
98#define ZFMETHOD_IMPL_DECLARE_0(ReturnType, MethodName \
100 _ZFP_ZFMETHOD_IMPL_DECLARE( \
101 _ZFP_ZFMETHOD_IMPL_notInline, \
102 ReturnType, MethodName \
103 , _ZFP_ZFMP_DUMMY() \
104 , _ZFP_ZFMP_DUMMY() \
105 , _ZFP_ZFMP_DUMMY() \
106 , _ZFP_ZFMP_DUMMY() \
107 , _ZFP_ZFMP_DUMMY() \
108 , _ZFP_ZFMP_DUMMY() \
109 , _ZFP_ZFMP_DUMMY() \
110 , _ZFP_ZFMP_DUMMY() \
113#define ZFMETHOD_IMPL_INLINE_0(ReturnType, MethodName \
115 _ZFP_ZFMETHOD_IMPL_DECLARE( \
116 _ZFP_ZFMETHOD_IMPL_isInline, \
117 ReturnType, MethodName \
118 , _ZFP_ZFMP_DUMMY() \
119 , _ZFP_ZFMP_DUMMY() \
120 , _ZFP_ZFMP_DUMMY() \
121 , _ZFP_ZFMP_DUMMY() \
122 , _ZFP_ZFMP_DUMMY() \
123 , _ZFP_ZFMP_DUMMY() \
124 , _ZFP_ZFMP_DUMMY() \
125 , _ZFP_ZFMP_DUMMY() \
128#define ZFMETHOD_IMPL_DEFINE_0(OwnerClass, \
129 ReturnType, MethodName \
131 _ZFP_ZFMETHOD_IMPL_DEFINE(OwnerClass, ReturnType, MethodName \
132 , _ZFP_ZFMP_DUMMY() \
133 , _ZFP_ZFMP_DUMMY() \
134 , _ZFP_ZFMP_DUMMY() \
135 , _ZFP_ZFMP_DUMMY() \
136 , _ZFP_ZFMP_DUMMY() \
137 , _ZFP_ZFMP_DUMMY() \
138 , _ZFP_ZFMP_DUMMY() \
139 , _ZFP_ZFMP_DUMMY() \
145#define ZFMETHOD_INTERFACE_1(ReturnType, MethodName \
148 _ZFP_ZFMETHOD_DECLARE( \
149 public, ZFMethodTypeVirtual, _ZFP_ZFMETHOD_DECLARE_isPureVirtual, \
150 ReturnType, MethodName \
151 , _ZFP_MtdP_EXPAND(ZFMP_0) \
152 , _ZFP_ZFMP_DUMMY() \
153 , _ZFP_ZFMP_DUMMY() \
154 , _ZFP_ZFMP_DUMMY() \
155 , _ZFP_ZFMP_DUMMY() \
156 , _ZFP_ZFMP_DUMMY() \
157 , _ZFP_ZFMP_DUMMY() \
158 , _ZFP_ZFMP_DUMMY() \
161#define ZFMETHOD_INTERFACE_DEFINE_1(OwnerClass, \
162 ReturnType, MethodName \
165 _ZFP_ZFMETHOD_DEFINE(OwnerClass, _ZFP_ZFMETHOD_DEFINE_isPureVirtual, ZF_CALLER_LINE, \
166 ReturnType, MethodName \
167 , _ZFP_MtdP_EXPAND(ZFMP_0) \
168 , _ZFP_ZFMP_DUMMY() \
169 , _ZFP_ZFMP_DUMMY() \
170 , _ZFP_ZFMP_DUMMY() \
171 , _ZFP_ZFMP_DUMMY() \
172 , _ZFP_ZFMP_DUMMY() \
173 , _ZFP_ZFMP_DUMMY() \
174 , _ZFP_ZFMP_DUMMY() \
177#define ZFMETHOD_IMPL_DECLARE_1(ReturnType, MethodName \
180 _ZFP_ZFMETHOD_IMPL_DECLARE( \
181 _ZFP_ZFMETHOD_IMPL_notInline, \
182 ReturnType, MethodName \
183 , _ZFP_MtdP_EXPAND(ZFMP_0) \
184 , _ZFP_ZFMP_DUMMY() \
185 , _ZFP_ZFMP_DUMMY() \
186 , _ZFP_ZFMP_DUMMY() \
187 , _ZFP_ZFMP_DUMMY() \
188 , _ZFP_ZFMP_DUMMY() \
189 , _ZFP_ZFMP_DUMMY() \
190 , _ZFP_ZFMP_DUMMY() \
193#define ZFMETHOD_IMPL_INLINE_1(ReturnType, MethodName \
196 _ZFP_ZFMETHOD_IMPL_DECLARE( \
197 _ZFP_ZFMETHOD_IMPL_isInline, \
198 ReturnType, MethodName \
199 , _ZFP_MtdP_EXPAND(ZFMP_0) \
200 , _ZFP_ZFMP_DUMMY() \
201 , _ZFP_ZFMP_DUMMY() \
202 , _ZFP_ZFMP_DUMMY() \
203 , _ZFP_ZFMP_DUMMY() \
204 , _ZFP_ZFMP_DUMMY() \
205 , _ZFP_ZFMP_DUMMY() \
206 , _ZFP_ZFMP_DUMMY() \
209#define ZFMETHOD_IMPL_DEFINE_1(OwnerClass, \
210 ReturnType, MethodName \
213 _ZFP_ZFMETHOD_IMPL_DEFINE(OwnerClass, ReturnType, MethodName \
214 , _ZFP_MtdP_EXPAND(ZFMP_0) \
215 , _ZFP_ZFMP_DUMMY() \
216 , _ZFP_ZFMP_DUMMY() \
217 , _ZFP_ZFMP_DUMMY() \
218 , _ZFP_ZFMP_DUMMY() \
219 , _ZFP_ZFMP_DUMMY() \
220 , _ZFP_ZFMP_DUMMY() \
221 , _ZFP_ZFMP_DUMMY() \
227#define ZFMETHOD_INTERFACE_2(ReturnType, MethodName \
231 _ZFP_ZFMETHOD_DECLARE( \
232 public, ZFMethodTypeVirtual, _ZFP_ZFMETHOD_DECLARE_isPureVirtual, \
233 ReturnType, MethodName \
234 , _ZFP_MtdP_EXPAND(ZFMP_0) \
235 , _ZFP_MtdP_EXPAND(ZFMP_1) \
236 , _ZFP_ZFMP_DUMMY() \
237 , _ZFP_ZFMP_DUMMY() \
238 , _ZFP_ZFMP_DUMMY() \
239 , _ZFP_ZFMP_DUMMY() \
240 , _ZFP_ZFMP_DUMMY() \
241 , _ZFP_ZFMP_DUMMY() \
244#define ZFMETHOD_INTERFACE_DEFINE_2(OwnerClass, \
245 ReturnType, MethodName \
249 _ZFP_ZFMETHOD_DEFINE(OwnerClass, _ZFP_ZFMETHOD_DEFINE_isPureVirtual, ZF_CALLER_LINE, \
250 ReturnType, MethodName \
251 , _ZFP_MtdP_EXPAND(ZFMP_0) \
252 , _ZFP_MtdP_EXPAND(ZFMP_1) \
253 , _ZFP_ZFMP_DUMMY() \
254 , _ZFP_ZFMP_DUMMY() \
255 , _ZFP_ZFMP_DUMMY() \
256 , _ZFP_ZFMP_DUMMY() \
257 , _ZFP_ZFMP_DUMMY() \
258 , _ZFP_ZFMP_DUMMY() \
261#define ZFMETHOD_IMPL_DECLARE_2(ReturnType, MethodName \
265 _ZFP_ZFMETHOD_IMPL_DECLARE( \
266 _ZFP_ZFMETHOD_IMPL_notInline, \
267 ReturnType, MethodName \
268 , _ZFP_MtdP_EXPAND(ZFMP_0) \
269 , _ZFP_MtdP_EXPAND(ZFMP_1) \
270 , _ZFP_ZFMP_DUMMY() \
271 , _ZFP_ZFMP_DUMMY() \
272 , _ZFP_ZFMP_DUMMY() \
273 , _ZFP_ZFMP_DUMMY() \
274 , _ZFP_ZFMP_DUMMY() \
275 , _ZFP_ZFMP_DUMMY() \
278#define ZFMETHOD_IMPL_INLINE_2(ReturnType, MethodName \
282 _ZFP_ZFMETHOD_IMPL_DECLARE( \
283 _ZFP_ZFMETHOD_IMPL_isInline, \
284 ReturnType, MethodName \
285 , _ZFP_MtdP_EXPAND(ZFMP_0) \
286 , _ZFP_MtdP_EXPAND(ZFMP_1) \
287 , _ZFP_ZFMP_DUMMY() \
288 , _ZFP_ZFMP_DUMMY() \
289 , _ZFP_ZFMP_DUMMY() \
290 , _ZFP_ZFMP_DUMMY() \
291 , _ZFP_ZFMP_DUMMY() \
292 , _ZFP_ZFMP_DUMMY() \
295#define ZFMETHOD_IMPL_DEFINE_2(OwnerClass, \
296 ReturnType, MethodName \
300 _ZFP_ZFMETHOD_IMPL_DEFINE(OwnerClass, ReturnType, MethodName \
301 , _ZFP_MtdP_EXPAND(ZFMP_0) \
302 , _ZFP_MtdP_EXPAND(ZFMP_1) \
303 , _ZFP_ZFMP_DUMMY() \
304 , _ZFP_ZFMP_DUMMY() \
305 , _ZFP_ZFMP_DUMMY() \
306 , _ZFP_ZFMP_DUMMY() \
307 , _ZFP_ZFMP_DUMMY() \
308 , _ZFP_ZFMP_DUMMY() \
314#define ZFMETHOD_INTERFACE_3(ReturnType, MethodName \
319 _ZFP_ZFMETHOD_DECLARE( \
320 public, ZFMethodTypeVirtual, _ZFP_ZFMETHOD_DECLARE_isPureVirtual, \
321 ReturnType, MethodName \
322 , _ZFP_MtdP_EXPAND(ZFMP_0) \
323 , _ZFP_MtdP_EXPAND(ZFMP_1) \
324 , _ZFP_MtdP_EXPAND(ZFMP_2) \
325 , _ZFP_ZFMP_DUMMY() \
326 , _ZFP_ZFMP_DUMMY() \
327 , _ZFP_ZFMP_DUMMY() \
328 , _ZFP_ZFMP_DUMMY() \
329 , _ZFP_ZFMP_DUMMY() \
332#define ZFMETHOD_INTERFACE_DEFINE_3(OwnerClass, \
333 ReturnType, MethodName \
338 _ZFP_ZFMETHOD_DEFINE(OwnerClass, _ZFP_ZFMETHOD_DEFINE_isPureVirtual, ZF_CALLER_LINE, \
339 ReturnType, MethodName \
340 , _ZFP_MtdP_EXPAND(ZFMP_0) \
341 , _ZFP_MtdP_EXPAND(ZFMP_1) \
342 , _ZFP_MtdP_EXPAND(ZFMP_2) \
343 , _ZFP_ZFMP_DUMMY() \
344 , _ZFP_ZFMP_DUMMY() \
345 , _ZFP_ZFMP_DUMMY() \
346 , _ZFP_ZFMP_DUMMY() \
347 , _ZFP_ZFMP_DUMMY() \
350#define ZFMETHOD_IMPL_DECLARE_3(ReturnType, MethodName \
355 _ZFP_ZFMETHOD_IMPL_DECLARE( \
356 _ZFP_ZFMETHOD_IMPL_notInline, \
357 ReturnType, MethodName \
358 , _ZFP_MtdP_EXPAND(ZFMP_0) \
359 , _ZFP_MtdP_EXPAND(ZFMP_1) \
360 , _ZFP_MtdP_EXPAND(ZFMP_2) \
361 , _ZFP_ZFMP_DUMMY() \
362 , _ZFP_ZFMP_DUMMY() \
363 , _ZFP_ZFMP_DUMMY() \
364 , _ZFP_ZFMP_DUMMY() \
365 , _ZFP_ZFMP_DUMMY() \
368#define ZFMETHOD_IMPL_INLINE_3(ReturnType, MethodName \
373 _ZFP_ZFMETHOD_IMPL_DECLARE( \
374 _ZFP_ZFMETHOD_IMPL_isInline, \
375 ReturnType, MethodName \
376 , _ZFP_MtdP_EXPAND(ZFMP_0) \
377 , _ZFP_MtdP_EXPAND(ZFMP_1) \
378 , _ZFP_MtdP_EXPAND(ZFMP_2) \
379 , _ZFP_ZFMP_DUMMY() \
380 , _ZFP_ZFMP_DUMMY() \
381 , _ZFP_ZFMP_DUMMY() \
382 , _ZFP_ZFMP_DUMMY() \
383 , _ZFP_ZFMP_DUMMY() \
386#define ZFMETHOD_IMPL_DEFINE_3(OwnerClass, \
387 ReturnType, MethodName \
392 _ZFP_ZFMETHOD_IMPL_DEFINE(OwnerClass, ReturnType, MethodName \
393 , _ZFP_MtdP_EXPAND(ZFMP_0) \
394 , _ZFP_MtdP_EXPAND(ZFMP_1) \
395 , _ZFP_MtdP_EXPAND(ZFMP_2) \
396 , _ZFP_ZFMP_DUMMY() \
397 , _ZFP_ZFMP_DUMMY() \
398 , _ZFP_ZFMP_DUMMY() \
399 , _ZFP_ZFMP_DUMMY() \
400 , _ZFP_ZFMP_DUMMY() \
406#define ZFMETHOD_INTERFACE_4(ReturnType, MethodName \
412 _ZFP_ZFMETHOD_DECLARE( \
413 public, ZFMethodTypeVirtual, _ZFP_ZFMETHOD_DECLARE_isPureVirtual, \
414 ReturnType, MethodName \
415 , _ZFP_MtdP_EXPAND(ZFMP_0) \
416 , _ZFP_MtdP_EXPAND(ZFMP_1) \
417 , _ZFP_MtdP_EXPAND(ZFMP_2) \
418 , _ZFP_MtdP_EXPAND(ZFMP_3) \
419 , _ZFP_ZFMP_DUMMY() \
420 , _ZFP_ZFMP_DUMMY() \
421 , _ZFP_ZFMP_DUMMY() \
422 , _ZFP_ZFMP_DUMMY() \
425#define ZFMETHOD_INTERFACE_DEFINE_4(OwnerClass, \
426 ReturnType, MethodName \
432 _ZFP_ZFMETHOD_DEFINE(OwnerClass, _ZFP_ZFMETHOD_DEFINE_isPureVirtual, ZF_CALLER_LINE, \
433 ReturnType, MethodName \
434 , _ZFP_MtdP_EXPAND(ZFMP_0) \
435 , _ZFP_MtdP_EXPAND(ZFMP_1) \
436 , _ZFP_MtdP_EXPAND(ZFMP_2) \
437 , _ZFP_MtdP_EXPAND(ZFMP_3) \
438 , _ZFP_ZFMP_DUMMY() \
439 , _ZFP_ZFMP_DUMMY() \
440 , _ZFP_ZFMP_DUMMY() \
441 , _ZFP_ZFMP_DUMMY() \
444#define ZFMETHOD_IMPL_DECLARE_4(ReturnType, MethodName \
450 _ZFP_ZFMETHOD_IMPL_DECLARE( \
451 _ZFP_ZFMETHOD_IMPL_notInline, \
452 ReturnType, MethodName \
453 , _ZFP_MtdP_EXPAND(ZFMP_0) \
454 , _ZFP_MtdP_EXPAND(ZFMP_1) \
455 , _ZFP_MtdP_EXPAND(ZFMP_2) \
456 , _ZFP_MtdP_EXPAND(ZFMP_3) \
457 , _ZFP_ZFMP_DUMMY() \
458 , _ZFP_ZFMP_DUMMY() \
459 , _ZFP_ZFMP_DUMMY() \
460 , _ZFP_ZFMP_DUMMY() \
463#define ZFMETHOD_IMPL_INLINE_4(ReturnType, MethodName \
469 _ZFP_ZFMETHOD_IMPL_DECLARE( \
470 _ZFP_ZFMETHOD_IMPL_isInline, \
471 ReturnType, MethodName \
472 , _ZFP_MtdP_EXPAND(ZFMP_0) \
473 , _ZFP_MtdP_EXPAND(ZFMP_1) \
474 , _ZFP_MtdP_EXPAND(ZFMP_2) \
475 , _ZFP_MtdP_EXPAND(ZFMP_3) \
476 , _ZFP_ZFMP_DUMMY() \
477 , _ZFP_ZFMP_DUMMY() \
478 , _ZFP_ZFMP_DUMMY() \
479 , _ZFP_ZFMP_DUMMY() \
482#define ZFMETHOD_IMPL_DEFINE_4(OwnerClass, \
483 ReturnType, MethodName \
489 _ZFP_ZFMETHOD_IMPL_DEFINE(OwnerClass, ReturnType, MethodName \
490 , _ZFP_MtdP_EXPAND(ZFMP_0) \
491 , _ZFP_MtdP_EXPAND(ZFMP_1) \
492 , _ZFP_MtdP_EXPAND(ZFMP_2) \
493 , _ZFP_MtdP_EXPAND(ZFMP_3) \
494 , _ZFP_ZFMP_DUMMY() \
495 , _ZFP_ZFMP_DUMMY() \
496 , _ZFP_ZFMP_DUMMY() \
497 , _ZFP_ZFMP_DUMMY() \
503#define ZFMETHOD_INTERFACE_5(ReturnType, MethodName \
510 _ZFP_ZFMETHOD_DECLARE( \
511 public, ZFMethodTypeVirtual, _ZFP_ZFMETHOD_DECLARE_isPureVirtual, \
512 ReturnType, MethodName \
513 , _ZFP_MtdP_EXPAND(ZFMP_0) \
514 , _ZFP_MtdP_EXPAND(ZFMP_1) \
515 , _ZFP_MtdP_EXPAND(ZFMP_2) \
516 , _ZFP_MtdP_EXPAND(ZFMP_3) \
517 , _ZFP_MtdP_EXPAND(ZFMP_4) \
518 , _ZFP_ZFMP_DUMMY() \
519 , _ZFP_ZFMP_DUMMY() \
520 , _ZFP_ZFMP_DUMMY() \
523#define ZFMETHOD_INTERFACE_DEFINE_5(OwnerClass, \
524 ReturnType, MethodName \
531 _ZFP_ZFMETHOD_DEFINE(OwnerClass, _ZFP_ZFMETHOD_DEFINE_isPureVirtual, ZF_CALLER_LINE, \
532 ReturnType, MethodName \
533 , _ZFP_MtdP_EXPAND(ZFMP_0) \
534 , _ZFP_MtdP_EXPAND(ZFMP_1) \
535 , _ZFP_MtdP_EXPAND(ZFMP_2) \
536 , _ZFP_MtdP_EXPAND(ZFMP_3) \
537 , _ZFP_MtdP_EXPAND(ZFMP_4) \
538 , _ZFP_ZFMP_DUMMY() \
539 , _ZFP_ZFMP_DUMMY() \
540 , _ZFP_ZFMP_DUMMY() \
543#define ZFMETHOD_IMPL_DECLARE_5(ReturnType, MethodName \
550 _ZFP_ZFMETHOD_IMPL_DECLARE( \
551 _ZFP_ZFMETHOD_IMPL_notInline, \
552 ReturnType, MethodName \
553 , _ZFP_MtdP_EXPAND(ZFMP_0) \
554 , _ZFP_MtdP_EXPAND(ZFMP_1) \
555 , _ZFP_MtdP_EXPAND(ZFMP_2) \
556 , _ZFP_MtdP_EXPAND(ZFMP_3) \
557 , _ZFP_MtdP_EXPAND(ZFMP_4) \
558 , _ZFP_ZFMP_DUMMY() \
559 , _ZFP_ZFMP_DUMMY() \
560 , _ZFP_ZFMP_DUMMY() \
563#define ZFMETHOD_IMPL_INLINE_5(ReturnType, MethodName \
570 _ZFP_ZFMETHOD_IMPL_DECLARE( \
571 _ZFP_ZFMETHOD_IMPL_isInline, \
572 ReturnType, MethodName \
573 , _ZFP_MtdP_EXPAND(ZFMP_0) \
574 , _ZFP_MtdP_EXPAND(ZFMP_1) \
575 , _ZFP_MtdP_EXPAND(ZFMP_2) \
576 , _ZFP_MtdP_EXPAND(ZFMP_3) \
577 , _ZFP_MtdP_EXPAND(ZFMP_4) \
578 , _ZFP_ZFMP_DUMMY() \
579 , _ZFP_ZFMP_DUMMY() \
580 , _ZFP_ZFMP_DUMMY() \
583#define ZFMETHOD_IMPL_DEFINE_5(OwnerClass, \
584 ReturnType, MethodName \
591 _ZFP_ZFMETHOD_IMPL_DEFINE(OwnerClass, ReturnType, MethodName \
592 , _ZFP_MtdP_EXPAND(ZFMP_0) \
593 , _ZFP_MtdP_EXPAND(ZFMP_1) \
594 , _ZFP_MtdP_EXPAND(ZFMP_2) \
595 , _ZFP_MtdP_EXPAND(ZFMP_3) \
596 , _ZFP_MtdP_EXPAND(ZFMP_4) \
597 , _ZFP_ZFMP_DUMMY() \
598 , _ZFP_ZFMP_DUMMY() \
599 , _ZFP_ZFMP_DUMMY() \
605#define ZFMETHOD_INTERFACE_6(ReturnType, MethodName \
613 _ZFP_ZFMETHOD_DECLARE( \
614 public, ZFMethodTypeVirtual, _ZFP_ZFMETHOD_DECLARE_isPureVirtual, \
615 ReturnType, MethodName \
616 , _ZFP_MtdP_EXPAND(ZFMP_0) \
617 , _ZFP_MtdP_EXPAND(ZFMP_1) \
618 , _ZFP_MtdP_EXPAND(ZFMP_2) \
619 , _ZFP_MtdP_EXPAND(ZFMP_3) \
620 , _ZFP_MtdP_EXPAND(ZFMP_4) \
621 , _ZFP_MtdP_EXPAND(ZFMP_5) \
622 , _ZFP_ZFMP_DUMMY() \
623 , _ZFP_ZFMP_DUMMY() \
626#define ZFMETHOD_INTERFACE_DEFINE_6(OwnerClass, \
627 ReturnType, MethodName \
635 _ZFP_ZFMETHOD_DEFINE(OwnerClass, _ZFP_ZFMETHOD_DEFINE_isPureVirtual, ZF_CALLER_LINE, \
636 ReturnType, MethodName \
637 , _ZFP_MtdP_EXPAND(ZFMP_0) \
638 , _ZFP_MtdP_EXPAND(ZFMP_1) \
639 , _ZFP_MtdP_EXPAND(ZFMP_2) \
640 , _ZFP_MtdP_EXPAND(ZFMP_3) \
641 , _ZFP_MtdP_EXPAND(ZFMP_4) \
642 , _ZFP_MtdP_EXPAND(ZFMP_5) \
643 , _ZFP_ZFMP_DUMMY() \
644 , _ZFP_ZFMP_DUMMY() \
647#define ZFMETHOD_IMPL_DECLARE_6(ReturnType, MethodName \
655 _ZFP_ZFMETHOD_IMPL_DECLARE( \
656 _ZFP_ZFMETHOD_IMPL_notInline, \
657 ReturnType, MethodName \
658 , _ZFP_MtdP_EXPAND(ZFMP_0) \
659 , _ZFP_MtdP_EXPAND(ZFMP_1) \
660 , _ZFP_MtdP_EXPAND(ZFMP_2) \
661 , _ZFP_MtdP_EXPAND(ZFMP_3) \
662 , _ZFP_MtdP_EXPAND(ZFMP_4) \
663 , _ZFP_MtdP_EXPAND(ZFMP_5) \
664 , _ZFP_ZFMP_DUMMY() \
665 , _ZFP_ZFMP_DUMMY() \
668#define ZFMETHOD_IMPL_INLINE_6(ReturnType, MethodName \
676 _ZFP_ZFMETHOD_IMPL_DECLARE( \
677 _ZFP_ZFMETHOD_IMPL_isInline, \
678 ReturnType, MethodName \
679 , _ZFP_MtdP_EXPAND(ZFMP_0) \
680 , _ZFP_MtdP_EXPAND(ZFMP_1) \
681 , _ZFP_MtdP_EXPAND(ZFMP_2) \
682 , _ZFP_MtdP_EXPAND(ZFMP_3) \
683 , _ZFP_MtdP_EXPAND(ZFMP_4) \
684 , _ZFP_MtdP_EXPAND(ZFMP_5) \
685 , _ZFP_ZFMP_DUMMY() \
686 , _ZFP_ZFMP_DUMMY() \
689#define ZFMETHOD_IMPL_DEFINE_6(OwnerClass, \
690 ReturnType, MethodName \
698 _ZFP_ZFMETHOD_IMPL_DEFINE(OwnerClass, ReturnType, MethodName \
699 , _ZFP_MtdP_EXPAND(ZFMP_0) \
700 , _ZFP_MtdP_EXPAND(ZFMP_1) \
701 , _ZFP_MtdP_EXPAND(ZFMP_2) \
702 , _ZFP_MtdP_EXPAND(ZFMP_3) \
703 , _ZFP_MtdP_EXPAND(ZFMP_4) \
704 , _ZFP_MtdP_EXPAND(ZFMP_5) \
705 , _ZFP_ZFMP_DUMMY() \
706 , _ZFP_ZFMP_DUMMY() \
712#define ZFMETHOD_INTERFACE_7(ReturnType, MethodName \
721 _ZFP_ZFMETHOD_DECLARE( \
722 public, ZFMethodTypeVirtual, _ZFP_ZFMETHOD_DECLARE_isPureVirtual, \
723 ReturnType, MethodName \
724 , _ZFP_MtdP_EXPAND(ZFMP_0) \
725 , _ZFP_MtdP_EXPAND(ZFMP_1) \
726 , _ZFP_MtdP_EXPAND(ZFMP_2) \
727 , _ZFP_MtdP_EXPAND(ZFMP_3) \
728 , _ZFP_MtdP_EXPAND(ZFMP_4) \
729 , _ZFP_MtdP_EXPAND(ZFMP_5) \
730 , _ZFP_MtdP_EXPAND(ZFMP_6) \
731 , _ZFP_ZFMP_DUMMY() \
734#define ZFMETHOD_INTERFACE_DEFINE_7(OwnerClass, \
735 ReturnType, MethodName \
744 _ZFP_ZFMETHOD_DEFINE(OwnerClass, _ZFP_ZFMETHOD_DEFINE_isPureVirtual, ZF_CALLER_LINE, \
745 ReturnType, MethodName \
746 , _ZFP_MtdP_EXPAND(ZFMP_0) \
747 , _ZFP_MtdP_EXPAND(ZFMP_1) \
748 , _ZFP_MtdP_EXPAND(ZFMP_2) \
749 , _ZFP_MtdP_EXPAND(ZFMP_3) \
750 , _ZFP_MtdP_EXPAND(ZFMP_4) \
751 , _ZFP_MtdP_EXPAND(ZFMP_5) \
752 , _ZFP_MtdP_EXPAND(ZFMP_6) \
753 , _ZFP_ZFMP_DUMMY() \
756#define ZFMETHOD_IMPL_DECLARE_7(ReturnType, MethodName \
765 _ZFP_ZFMETHOD_IMPL_DECLARE( \
766 _ZFP_ZFMETHOD_IMPL_notInline, \
767 ReturnType, MethodName \
768 , _ZFP_MtdP_EXPAND(ZFMP_0) \
769 , _ZFP_MtdP_EXPAND(ZFMP_1) \
770 , _ZFP_MtdP_EXPAND(ZFMP_2) \
771 , _ZFP_MtdP_EXPAND(ZFMP_3) \
772 , _ZFP_MtdP_EXPAND(ZFMP_4) \
773 , _ZFP_MtdP_EXPAND(ZFMP_5) \
774 , _ZFP_MtdP_EXPAND(ZFMP_6) \
775 , _ZFP_ZFMP_DUMMY() \
778#define ZFMETHOD_IMPL_INLINE_7(ReturnType, MethodName \
787 _ZFP_ZFMETHOD_IMPL_DECLARE( \
788 _ZFP_ZFMETHOD_IMPL_isInline, \
789 ReturnType, MethodName \
790 , _ZFP_MtdP_EXPAND(ZFMP_0) \
791 , _ZFP_MtdP_EXPAND(ZFMP_1) \
792 , _ZFP_MtdP_EXPAND(ZFMP_2) \
793 , _ZFP_MtdP_EXPAND(ZFMP_3) \
794 , _ZFP_MtdP_EXPAND(ZFMP_4) \
795 , _ZFP_MtdP_EXPAND(ZFMP_5) \
796 , _ZFP_MtdP_EXPAND(ZFMP_6) \
797 , _ZFP_ZFMP_DUMMY() \
800#define ZFMETHOD_IMPL_DEFINE_7(OwnerClass, \
801 ReturnType, MethodName \
810 _ZFP_ZFMETHOD_IMPL_DEFINE(OwnerClass, ReturnType, MethodName \
811 , _ZFP_MtdP_EXPAND(ZFMP_0) \
812 , _ZFP_MtdP_EXPAND(ZFMP_1) \
813 , _ZFP_MtdP_EXPAND(ZFMP_2) \
814 , _ZFP_MtdP_EXPAND(ZFMP_3) \
815 , _ZFP_MtdP_EXPAND(ZFMP_4) \
816 , _ZFP_MtdP_EXPAND(ZFMP_5) \
817 , _ZFP_MtdP_EXPAND(ZFMP_6) \
818 , _ZFP_ZFMP_DUMMY() \
824#define ZFMETHOD_INTERFACE_8(ReturnType, MethodName \
834 _ZFP_ZFMETHOD_DECLARE( \
835 public, ZFMethodTypeVirtual, _ZFP_ZFMETHOD_DECLARE_isPureVirtual, \
836 ReturnType, MethodName \
837 , _ZFP_MtdP_EXPAND(ZFMP_0) \
838 , _ZFP_MtdP_EXPAND(ZFMP_1) \
839 , _ZFP_MtdP_EXPAND(ZFMP_2) \
840 , _ZFP_MtdP_EXPAND(ZFMP_3) \
841 , _ZFP_MtdP_EXPAND(ZFMP_4) \
842 , _ZFP_MtdP_EXPAND(ZFMP_5) \
843 , _ZFP_MtdP_EXPAND(ZFMP_6) \
844 , _ZFP_MtdP_EXPAND(ZFMP_7) \
847#define ZFMETHOD_INTERFACE_DEFINE_8(OwnerClass, \
848 ReturnType, MethodName \
858 _ZFP_ZFMETHOD_DEFINE(OwnerClass, _ZFP_ZFMETHOD_DEFINE_isPureVirtual, ZF_CALLER_LINE, \
859 ReturnType, MethodName \
860 , _ZFP_MtdP_EXPAND(ZFMP_0) \
861 , _ZFP_MtdP_EXPAND(ZFMP_1) \
862 , _ZFP_MtdP_EXPAND(ZFMP_2) \
863 , _ZFP_MtdP_EXPAND(ZFMP_3) \
864 , _ZFP_MtdP_EXPAND(ZFMP_4) \
865 , _ZFP_MtdP_EXPAND(ZFMP_5) \
866 , _ZFP_MtdP_EXPAND(ZFMP_6) \
867 , _ZFP_MtdP_EXPAND(ZFMP_7) \
870#define ZFMETHOD_IMPL_DECLARE_8(ReturnType, MethodName \
880 _ZFP_ZFMETHOD_IMPL_DECLARE( \
881 _ZFP_ZFMETHOD_IMPL_notInline, \
882 ReturnType, MethodName \
883 , _ZFP_MtdP_EXPAND(ZFMP_0) \
884 , _ZFP_MtdP_EXPAND(ZFMP_1) \
885 , _ZFP_MtdP_EXPAND(ZFMP_2) \
886 , _ZFP_MtdP_EXPAND(ZFMP_3) \
887 , _ZFP_MtdP_EXPAND(ZFMP_4) \
888 , _ZFP_MtdP_EXPAND(ZFMP_5) \
889 , _ZFP_MtdP_EXPAND(ZFMP_6) \
890 , _ZFP_MtdP_EXPAND(ZFMP_7) \
893#define ZFMETHOD_IMPL_INLINE_8(ReturnType, MethodName \
903 _ZFP_ZFMETHOD_IMPL_DECLARE( \
904 _ZFP_ZFMETHOD_IMPL_isInline, \
905 ReturnType, MethodName \
906 , _ZFP_MtdP_EXPAND(ZFMP_0) \
907 , _ZFP_MtdP_EXPAND(ZFMP_1) \
908 , _ZFP_MtdP_EXPAND(ZFMP_2) \
909 , _ZFP_MtdP_EXPAND(ZFMP_3) \
910 , _ZFP_MtdP_EXPAND(ZFMP_4) \
911 , _ZFP_MtdP_EXPAND(ZFMP_5) \
912 , _ZFP_MtdP_EXPAND(ZFMP_6) \
913 , _ZFP_MtdP_EXPAND(ZFMP_7) \
916#define ZFMETHOD_IMPL_DEFINE_8(OwnerClass, \
917 ReturnType, MethodName \
927 _ZFP_ZFMETHOD_IMPL_DEFINE(OwnerClass, ReturnType, MethodName \
928 , _ZFP_MtdP_EXPAND(ZFMP_0) \
929 , _ZFP_MtdP_EXPAND(ZFMP_1) \
930 , _ZFP_MtdP_EXPAND(ZFMP_2) \
931 , _ZFP_MtdP_EXPAND(ZFMP_3) \
932 , _ZFP_MtdP_EXPAND(ZFMP_4) \
933 , _ZFP_MtdP_EXPAND(ZFMP_5) \
934 , _ZFP_MtdP_EXPAND(ZFMP_6) \
935 , _ZFP_MtdP_EXPAND(ZFMP_7) \
reflectable method definination for ZFFramework
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98