6#ifndef _ZFI_ZFMethodUserRegister_h_
7#define _ZFI_ZFMethodUserRegister_h_
17#define _ZFP_ZFMethodUserRegisterParamExpand( \
18 GenericInvokerOwner, methodInvoker, ownerClass, \
19 PublicOrProtectedOrPrivate, ZFMethodType_, \
20 ReturnType, methodNameString \
21 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
22 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
23 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
24 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
25 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
26 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
27 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
28 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
34 , reinterpret_cast<ZFFuncAddrType>(methodInvoker) \
35 , _ZFP_ZFMETHOD_GENERIC_INVOKER_ADDR(GenericInvokerOwner) \
38 , _ZFP_ZFMethod_initClassMemberType_accessType(PublicOrProtectedOrPrivate) \
41 , ZFTypeId<zftTraits<ReturnType>::TrNoRef>::TypeId() \
43 ParamExpandOrEmpty0(.add( \
44 ZFTypeId<zftTraits<ParamType0>::TrNoRef>::TypeId() \
46 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty0, 0) \
48 ParamExpandOrEmpty1(.add( \
49 ZFTypeId<zftTraits<ParamType1>::TrNoRef>::TypeId() \
51 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty1, 1) \
53 ParamExpandOrEmpty2(.add( \
54 ZFTypeId<zftTraits<ParamType2>::TrNoRef>::TypeId() \
56 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty2, 2) \
58 ParamExpandOrEmpty3(.add( \
59 ZFTypeId<zftTraits<ParamType3>::TrNoRef>::TypeId() \
61 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty3, 3) \
63 ParamExpandOrEmpty4(.add( \
64 ZFTypeId<zftTraits<ParamType4>::TrNoRef>::TypeId() \
66 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty4, 4) \
68 ParamExpandOrEmpty5(.add( \
69 ZFTypeId<zftTraits<ParamType5>::TrNoRef>::TypeId() \
71 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty5, 5) \
73 ParamExpandOrEmpty6(.add( \
74 ZFTypeId<zftTraits<ParamType6>::TrNoRef>::TypeId() \
76 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty6, 6) \
78 ParamExpandOrEmpty7(.add( \
79 ZFTypeId<zftTraits<ParamType7>::TrNoRef>::TypeId() \
81 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty7, 7) \
85#define _ZFP_ZFMethodUserRegister(...) \
86 _ZFP_mD_EXPAND(_ZFP_ZFMethodUserRegister_(__VA_ARGS__))
87#define _ZFP_ZFMethodUserRegister_(resultMethod, methodInvokerAction, ownerClass, \
88 PublicOrProtectedOrPrivate, ZFMethodType_, \
89 ReturnType, methodNameString \
90 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
91 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
92 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
93 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
94 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
95 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
96 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
97 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
99 const ZFMethod *resultMethod = zfnull; \
101 zfclassNotPOD _ZFP_mUR { \
103 static ReturnType I( \
104 ZF_IN const ZFMethod *invokerMethod \
105 , ZF_IN zfany const &invokerObject \
106 ParamExpandOrEmpty0(ZFM_COMMA() ParamType0 param0) \
107 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1 param1) \
108 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2 param2) \
109 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3 param3) \
110 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4 param4) \
111 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5 param5) \
112 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6 param6) \
113 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7 param7) \
115 methodInvokerAction \
117 _ZFP_ZFMETHOD_GENERIC_INVOKER_DECLARE( \
119 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
120 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
121 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
122 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
123 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
124 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
125 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
126 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
129 resultMethod = ZFMethod::_ZFP_ZFMethodRegister _ZFP_ZFMethodUserRegisterParamExpand( \
130 _ZFP_mUR, _ZFP_mUR::I, ownerClass, \
131 PublicOrProtectedOrPrivate, ZFMethodType_, \
132 ReturnType, methodNameString \
133 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
134 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
135 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
136 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
137 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
138 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
139 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
140 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
143 ZFUNUSED(resultMethod)
146#define _ZFP_ZFMETHOD_USER_REGISTER(...) \
147 _ZFP_mD_EXPAND(_ZFP_ZFMETHOD_USER_REGISTER_(__VA_ARGS__))
148#define _ZFP_ZFMETHOD_USER_REGISTER_( \
150 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
151 ReturnType, methodName \
152 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
153 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
154 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
155 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
156 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
157 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
158 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
159 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
161 zfclassNotPOD _ZFP_mURIvk_##ownerClassSig##_##methodName##_##RegSig { \
163 static ReturnType I( \
164 ZF_IN const ZFMethod *invokerMethod \
165 , ZF_IN zfany const &invokerObject \
166 ParamExpandOrEmpty0(ZFM_COMMA() ParamType0 param0) \
167 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1 param1) \
168 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2 param2) \
169 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3 param3) \
170 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4 param4) \
171 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5 param5) \
172 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6 param6) \
173 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7 param7) \
175 _ZFP_ZFMETHOD_GENERIC_INVOKER_DECLARE( \
177 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
178 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
179 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
180 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
181 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
182 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
183 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
184 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
187 static _ZFP_ZFMethodRegisterHolder _ZFP_mURH_##ownerClassSig##_##methodName##_##RegSig \
188 _ZFP_ZFMethodUserRegisterParamExpand( \
189 _ZFP_mURIvk_##ownerClassSig##_##methodName##_##RegSig, \
190 _ZFP_mURIvk_##ownerClassSig##_##methodName##_##RegSig::I, \
191 ownerClassSig::ClassData(), \
192 PublicOrProtectedOrPrivate, ZFMethodType_, \
193 ReturnType, zftext(#methodName) \
194 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
195 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
196 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
197 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
198 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
199 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
200 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
201 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
203 ReturnType _ZFP_mURIvk_##ownerClassSig##_##methodName##_##RegSig::I( \
204 ZF_IN const ZFMethod *invokerMethod \
205 , ZF_IN zfany const &invokerObject \
206 ParamExpandOrEmpty0(ZFM_COMMA() ParamType0 param0) \
207 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1 param1) \
208 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2 param2) \
209 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3 param3) \
210 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4 param4) \
211 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5 param5) \
212 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6 param6) \
213 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7 param7) \
264#define ZFMethodUserRegister_0(resultMethod, methodInvokerAction, ownerClass, \
265 ReturnType, methodNameString \
267 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
268 public, ZFMethodTypeVirtual, \
269 ReturnType, methodNameString \
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() \
280#define ZFMethodUserRegisterDetail_0(resultMethod, methodInvokerAction, ownerClass, \
281 PublicOrProtectedOrPrivate, ZFMethodType_, \
282 ReturnType, methodNameString \
284 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
285 PublicOrProtectedOrPrivate, ZFMethodType_, \
286 ReturnType, methodNameString \
287 , _ZFP_ZFMP_DUMMY() \
288 , _ZFP_ZFMP_DUMMY() \
289 , _ZFP_ZFMP_DUMMY() \
290 , _ZFP_ZFMP_DUMMY() \
291 , _ZFP_ZFMP_DUMMY() \
292 , _ZFP_ZFMP_DUMMY() \
293 , _ZFP_ZFMP_DUMMY() \
294 , _ZFP_ZFMP_DUMMY() \
297#define ZFMETHOD_USER_REGISTER_0(ownerClassSig, \
298 ReturnType, methodName \
300 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
301 public, ZFMethodTypeVirtual, ZF_CALLER_LINE, \
302 ReturnType, methodName \
303 , _ZFP_ZFMP_DUMMY() \
304 , _ZFP_ZFMP_DUMMY() \
305 , _ZFP_ZFMP_DUMMY() \
306 , _ZFP_ZFMP_DUMMY() \
307 , _ZFP_ZFMP_DUMMY() \
308 , _ZFP_ZFMP_DUMMY() \
309 , _ZFP_ZFMP_DUMMY() \
310 , _ZFP_ZFMP_DUMMY() \
313#define ZFMETHOD_USER_REGISTER_DETAIL_0(ownerClassSig, \
314 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
315 ReturnType, methodName \
317 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
318 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
319 ReturnType, methodName \
320 , _ZFP_ZFMP_DUMMY() \
321 , _ZFP_ZFMP_DUMMY() \
322 , _ZFP_ZFMP_DUMMY() \
323 , _ZFP_ZFMP_DUMMY() \
324 , _ZFP_ZFMP_DUMMY() \
325 , _ZFP_ZFMP_DUMMY() \
326 , _ZFP_ZFMP_DUMMY() \
327 , _ZFP_ZFMP_DUMMY() \
333#define ZFMethodUserRegister_1(resultMethod, methodInvokerAction, ownerClass, \
334 ReturnType, methodNameString \
337 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
338 public, ZFMethodTypeVirtual, \
339 ReturnType, methodNameString \
340 , _ZFP_mP_EXPAND(ZFMP_0) \
341 , _ZFP_ZFMP_DUMMY() \
342 , _ZFP_ZFMP_DUMMY() \
343 , _ZFP_ZFMP_DUMMY() \
344 , _ZFP_ZFMP_DUMMY() \
345 , _ZFP_ZFMP_DUMMY() \
346 , _ZFP_ZFMP_DUMMY() \
347 , _ZFP_ZFMP_DUMMY() \
350#define ZFMethodUserRegisterDetail_1(resultMethod, methodInvokerAction, ownerClass, \
351 PublicOrProtectedOrPrivate, ZFMethodType_, \
352 ReturnType, methodNameString \
355 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
356 PublicOrProtectedOrPrivate, ZFMethodType_, \
357 ReturnType, methodNameString \
358 , _ZFP_mP_EXPAND(ZFMP_0) \
359 , _ZFP_ZFMP_DUMMY() \
360 , _ZFP_ZFMP_DUMMY() \
361 , _ZFP_ZFMP_DUMMY() \
362 , _ZFP_ZFMP_DUMMY() \
363 , _ZFP_ZFMP_DUMMY() \
364 , _ZFP_ZFMP_DUMMY() \
365 , _ZFP_ZFMP_DUMMY() \
368#define ZFMETHOD_USER_REGISTER_1(ownerClassSig, \
369 ReturnType, methodName \
372 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
373 public, ZFMethodTypeVirtual, ZF_CALLER_LINE, \
374 ReturnType, methodName \
375 , _ZFP_mP_EXPAND(ZFMP_0) \
376 , _ZFP_ZFMP_DUMMY() \
377 , _ZFP_ZFMP_DUMMY() \
378 , _ZFP_ZFMP_DUMMY() \
379 , _ZFP_ZFMP_DUMMY() \
380 , _ZFP_ZFMP_DUMMY() \
381 , _ZFP_ZFMP_DUMMY() \
382 , _ZFP_ZFMP_DUMMY() \
385#define ZFMETHOD_USER_REGISTER_DETAIL_1(ownerClassSig, \
386 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
387 ReturnType, methodName \
390 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
391 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
392 ReturnType, methodName \
393 , _ZFP_mP_EXPAND(ZFMP_0) \
394 , _ZFP_ZFMP_DUMMY() \
395 , _ZFP_ZFMP_DUMMY() \
396 , _ZFP_ZFMP_DUMMY() \
397 , _ZFP_ZFMP_DUMMY() \
398 , _ZFP_ZFMP_DUMMY() \
399 , _ZFP_ZFMP_DUMMY() \
400 , _ZFP_ZFMP_DUMMY() \
406#define ZFMethodUserRegister_2(resultMethod, methodInvokerAction, ownerClass, \
407 ReturnType, methodNameString \
411 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
412 public, ZFMethodTypeVirtual, \
413 ReturnType, methodNameString \
414 , _ZFP_mP_EXPAND(ZFMP_0) \
415 , _ZFP_mP_EXPAND(ZFMP_1) \
416 , _ZFP_ZFMP_DUMMY() \
417 , _ZFP_ZFMP_DUMMY() \
418 , _ZFP_ZFMP_DUMMY() \
419 , _ZFP_ZFMP_DUMMY() \
420 , _ZFP_ZFMP_DUMMY() \
421 , _ZFP_ZFMP_DUMMY() \
424#define ZFMethodUserRegisterDetail_2(resultMethod, methodInvokerAction, ownerClass, \
425 PublicOrProtectedOrPrivate, ZFMethodType_, \
426 ReturnType, methodNameString \
430 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
431 PublicOrProtectedOrPrivate, ZFMethodType_, \
432 ReturnType, methodNameString \
433 , _ZFP_mP_EXPAND(ZFMP_0) \
434 , _ZFP_mP_EXPAND(ZFMP_1) \
435 , _ZFP_ZFMP_DUMMY() \
436 , _ZFP_ZFMP_DUMMY() \
437 , _ZFP_ZFMP_DUMMY() \
438 , _ZFP_ZFMP_DUMMY() \
439 , _ZFP_ZFMP_DUMMY() \
440 , _ZFP_ZFMP_DUMMY() \
443#define ZFMETHOD_USER_REGISTER_2(ownerClassSig, \
444 ReturnType, methodName \
448 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
449 public, ZFMethodTypeVirtual, ZF_CALLER_LINE, \
450 ReturnType, methodName \
451 , _ZFP_mP_EXPAND(ZFMP_0) \
452 , _ZFP_mP_EXPAND(ZFMP_1) \
453 , _ZFP_ZFMP_DUMMY() \
454 , _ZFP_ZFMP_DUMMY() \
455 , _ZFP_ZFMP_DUMMY() \
456 , _ZFP_ZFMP_DUMMY() \
457 , _ZFP_ZFMP_DUMMY() \
458 , _ZFP_ZFMP_DUMMY() \
461#define ZFMETHOD_USER_REGISTER_DETAIL_2(ownerClassSig, \
462 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
463 ReturnType, methodName \
467 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
468 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
469 ReturnType, methodName \
470 , _ZFP_mP_EXPAND(ZFMP_0) \
471 , _ZFP_mP_EXPAND(ZFMP_1) \
472 , _ZFP_ZFMP_DUMMY() \
473 , _ZFP_ZFMP_DUMMY() \
474 , _ZFP_ZFMP_DUMMY() \
475 , _ZFP_ZFMP_DUMMY() \
476 , _ZFP_ZFMP_DUMMY() \
477 , _ZFP_ZFMP_DUMMY() \
483#define ZFMethodUserRegister_3(resultMethod, methodInvokerAction, ownerClass, \
484 ReturnType, methodNameString \
489 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
490 public, ZFMethodTypeVirtual, \
491 ReturnType, methodNameString \
492 , _ZFP_mP_EXPAND(ZFMP_0) \
493 , _ZFP_mP_EXPAND(ZFMP_1) \
494 , _ZFP_mP_EXPAND(ZFMP_2) \
495 , _ZFP_ZFMP_DUMMY() \
496 , _ZFP_ZFMP_DUMMY() \
497 , _ZFP_ZFMP_DUMMY() \
498 , _ZFP_ZFMP_DUMMY() \
499 , _ZFP_ZFMP_DUMMY() \
502#define ZFMethodUserRegisterDetail_3(resultMethod, methodInvokerAction, ownerClass, \
503 PublicOrProtectedOrPrivate, ZFMethodType_, \
504 ReturnType, methodNameString \
509 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
510 PublicOrProtectedOrPrivate, ZFMethodType_, \
511 ReturnType, methodNameString \
512 , _ZFP_mP_EXPAND(ZFMP_0) \
513 , _ZFP_mP_EXPAND(ZFMP_1) \
514 , _ZFP_mP_EXPAND(ZFMP_2) \
515 , _ZFP_ZFMP_DUMMY() \
516 , _ZFP_ZFMP_DUMMY() \
517 , _ZFP_ZFMP_DUMMY() \
518 , _ZFP_ZFMP_DUMMY() \
519 , _ZFP_ZFMP_DUMMY() \
522#define ZFMETHOD_USER_REGISTER_3(ownerClassSig, \
523 ReturnType, methodName \
528 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
529 public, ZFMethodTypeVirtual, ZF_CALLER_LINE, \
530 ReturnType, methodName \
531 , _ZFP_mP_EXPAND(ZFMP_0) \
532 , _ZFP_mP_EXPAND(ZFMP_1) \
533 , _ZFP_mP_EXPAND(ZFMP_2) \
534 , _ZFP_ZFMP_DUMMY() \
535 , _ZFP_ZFMP_DUMMY() \
536 , _ZFP_ZFMP_DUMMY() \
537 , _ZFP_ZFMP_DUMMY() \
538 , _ZFP_ZFMP_DUMMY() \
541#define ZFMETHOD_USER_REGISTER_DETAIL_3(ownerClassSig, \
542 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
543 ReturnType, methodName \
548 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
549 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
550 ReturnType, methodName \
551 , _ZFP_mP_EXPAND(ZFMP_0) \
552 , _ZFP_mP_EXPAND(ZFMP_1) \
553 , _ZFP_mP_EXPAND(ZFMP_2) \
554 , _ZFP_ZFMP_DUMMY() \
555 , _ZFP_ZFMP_DUMMY() \
556 , _ZFP_ZFMP_DUMMY() \
557 , _ZFP_ZFMP_DUMMY() \
558 , _ZFP_ZFMP_DUMMY() \
564#define ZFMethodUserRegister_4(resultMethod, methodInvokerAction, ownerClass, \
565 ReturnType, methodNameString \
571 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
572 public, ZFMethodTypeVirtual, \
573 ReturnType, methodNameString \
574 , _ZFP_mP_EXPAND(ZFMP_0) \
575 , _ZFP_mP_EXPAND(ZFMP_1) \
576 , _ZFP_mP_EXPAND(ZFMP_2) \
577 , _ZFP_mP_EXPAND(ZFMP_3) \
578 , _ZFP_ZFMP_DUMMY() \
579 , _ZFP_ZFMP_DUMMY() \
580 , _ZFP_ZFMP_DUMMY() \
581 , _ZFP_ZFMP_DUMMY() \
584#define ZFMethodUserRegisterDetail_4(resultMethod, methodInvokerAction, ownerClass, \
585 PublicOrProtectedOrPrivate, ZFMethodType_, \
586 ReturnType, methodNameString \
592 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
593 PublicOrProtectedOrPrivate, ZFMethodType_, \
594 ReturnType, methodNameString \
595 , _ZFP_mP_EXPAND(ZFMP_0) \
596 , _ZFP_mP_EXPAND(ZFMP_1) \
597 , _ZFP_mP_EXPAND(ZFMP_2) \
598 , _ZFP_mP_EXPAND(ZFMP_3) \
599 , _ZFP_ZFMP_DUMMY() \
600 , _ZFP_ZFMP_DUMMY() \
601 , _ZFP_ZFMP_DUMMY() \
602 , _ZFP_ZFMP_DUMMY() \
605#define ZFMETHOD_USER_REGISTER_4(ownerClassSig, \
606 ReturnType, methodName \
612 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
613 public, ZFMethodTypeVirtual, ZF_CALLER_LINE, \
614 ReturnType, methodName \
615 , _ZFP_mP_EXPAND(ZFMP_0) \
616 , _ZFP_mP_EXPAND(ZFMP_1) \
617 , _ZFP_mP_EXPAND(ZFMP_2) \
618 , _ZFP_mP_EXPAND(ZFMP_3) \
619 , _ZFP_ZFMP_DUMMY() \
620 , _ZFP_ZFMP_DUMMY() \
621 , _ZFP_ZFMP_DUMMY() \
622 , _ZFP_ZFMP_DUMMY() \
625#define ZFMETHOD_USER_REGISTER_DETAIL_4(ownerClassSig, \
626 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
627 ReturnType, methodName \
633 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
634 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
635 ReturnType, methodName \
636 , _ZFP_mP_EXPAND(ZFMP_0) \
637 , _ZFP_mP_EXPAND(ZFMP_1) \
638 , _ZFP_mP_EXPAND(ZFMP_2) \
639 , _ZFP_mP_EXPAND(ZFMP_3) \
640 , _ZFP_ZFMP_DUMMY() \
641 , _ZFP_ZFMP_DUMMY() \
642 , _ZFP_ZFMP_DUMMY() \
643 , _ZFP_ZFMP_DUMMY() \
649#define ZFMethodUserRegister_5(resultMethod, methodInvokerAction, ownerClass, \
650 ReturnType, methodNameString \
657 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
658 public, ZFMethodTypeVirtual, \
659 ReturnType, methodNameString \
660 , _ZFP_mP_EXPAND(ZFMP_0) \
661 , _ZFP_mP_EXPAND(ZFMP_1) \
662 , _ZFP_mP_EXPAND(ZFMP_2) \
663 , _ZFP_mP_EXPAND(ZFMP_3) \
664 , _ZFP_mP_EXPAND(ZFMP_4) \
665 , _ZFP_ZFMP_DUMMY() \
666 , _ZFP_ZFMP_DUMMY() \
667 , _ZFP_ZFMP_DUMMY() \
670#define ZFMethodUserRegisterDetail_5(resultMethod, methodInvokerAction, ownerClass, \
671 PublicOrProtectedOrPrivate, ZFMethodType_, \
672 ReturnType, methodNameString \
679 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
680 PublicOrProtectedOrPrivate, ZFMethodType_, \
681 ReturnType, methodNameString \
682 , _ZFP_mP_EXPAND(ZFMP_0) \
683 , _ZFP_mP_EXPAND(ZFMP_1) \
684 , _ZFP_mP_EXPAND(ZFMP_2) \
685 , _ZFP_mP_EXPAND(ZFMP_3) \
686 , _ZFP_mP_EXPAND(ZFMP_4) \
687 , _ZFP_ZFMP_DUMMY() \
688 , _ZFP_ZFMP_DUMMY() \
689 , _ZFP_ZFMP_DUMMY() \
692#define ZFMETHOD_USER_REGISTER_5(ownerClassSig, \
693 ReturnType, methodName \
700 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
701 public, ZFMethodTypeVirtual, ZF_CALLER_LINE, \
702 ReturnType, methodName \
703 , _ZFP_mP_EXPAND(ZFMP_0) \
704 , _ZFP_mP_EXPAND(ZFMP_1) \
705 , _ZFP_mP_EXPAND(ZFMP_2) \
706 , _ZFP_mP_EXPAND(ZFMP_3) \
707 , _ZFP_mP_EXPAND(ZFMP_4) \
708 , _ZFP_ZFMP_DUMMY() \
709 , _ZFP_ZFMP_DUMMY() \
710 , _ZFP_ZFMP_DUMMY() \
713#define ZFMETHOD_USER_REGISTER_DETAIL_5(ownerClassSig, \
714 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
715 ReturnType, methodName \
722 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
723 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
724 ReturnType, methodName \
725 , _ZFP_mP_EXPAND(ZFMP_0) \
726 , _ZFP_mP_EXPAND(ZFMP_1) \
727 , _ZFP_mP_EXPAND(ZFMP_2) \
728 , _ZFP_mP_EXPAND(ZFMP_3) \
729 , _ZFP_mP_EXPAND(ZFMP_4) \
730 , _ZFP_ZFMP_DUMMY() \
731 , _ZFP_ZFMP_DUMMY() \
732 , _ZFP_ZFMP_DUMMY() \
738#define ZFMethodUserRegister_6(resultMethod, methodInvokerAction, ownerClass, \
739 ReturnType, methodNameString \
747 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
748 public, ZFMethodTypeVirtual, \
749 ReturnType, methodNameString \
750 , _ZFP_mP_EXPAND(ZFMP_0) \
751 , _ZFP_mP_EXPAND(ZFMP_1) \
752 , _ZFP_mP_EXPAND(ZFMP_2) \
753 , _ZFP_mP_EXPAND(ZFMP_3) \
754 , _ZFP_mP_EXPAND(ZFMP_4) \
755 , _ZFP_mP_EXPAND(ZFMP_5) \
756 , _ZFP_ZFMP_DUMMY() \
757 , _ZFP_ZFMP_DUMMY() \
760#define ZFMethodUserRegisterDetail_6(resultMethod, methodInvokerAction, ownerClass, \
761 PublicOrProtectedOrPrivate, ZFMethodType_, \
762 ReturnType, methodNameString \
770 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
771 PublicOrProtectedOrPrivate, ZFMethodType_, \
772 ReturnType, methodNameString \
773 , _ZFP_mP_EXPAND(ZFMP_0) \
774 , _ZFP_mP_EXPAND(ZFMP_1) \
775 , _ZFP_mP_EXPAND(ZFMP_2) \
776 , _ZFP_mP_EXPAND(ZFMP_3) \
777 , _ZFP_mP_EXPAND(ZFMP_4) \
778 , _ZFP_mP_EXPAND(ZFMP_5) \
779 , _ZFP_ZFMP_DUMMY() \
780 , _ZFP_ZFMP_DUMMY() \
783#define ZFMETHOD_USER_REGISTER_6(ownerClassSig, \
784 ReturnType, methodName \
792 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
793 public, ZFMethodTypeVirtual, ZF_CALLER_LINE, \
794 ReturnType, methodName \
795 , _ZFP_mP_EXPAND(ZFMP_0) \
796 , _ZFP_mP_EXPAND(ZFMP_1) \
797 , _ZFP_mP_EXPAND(ZFMP_2) \
798 , _ZFP_mP_EXPAND(ZFMP_3) \
799 , _ZFP_mP_EXPAND(ZFMP_4) \
800 , _ZFP_mP_EXPAND(ZFMP_5) \
801 , _ZFP_ZFMP_DUMMY() \
802 , _ZFP_ZFMP_DUMMY() \
805#define ZFMETHOD_USER_REGISTER_DETAIL_6(ownerClassSig, \
806 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
807 ReturnType, methodName \
815 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
816 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
817 ReturnType, methodName \
818 , _ZFP_mP_EXPAND(ZFMP_0) \
819 , _ZFP_mP_EXPAND(ZFMP_1) \
820 , _ZFP_mP_EXPAND(ZFMP_2) \
821 , _ZFP_mP_EXPAND(ZFMP_3) \
822 , _ZFP_mP_EXPAND(ZFMP_4) \
823 , _ZFP_mP_EXPAND(ZFMP_5) \
824 , _ZFP_ZFMP_DUMMY() \
825 , _ZFP_ZFMP_DUMMY() \
831#define ZFMethodUserRegister_7(resultMethod, methodInvokerAction, ownerClass, \
832 ReturnType, methodNameString \
841 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
842 public, ZFMethodTypeVirtual, \
843 ReturnType, methodNameString \
844 , _ZFP_mP_EXPAND(ZFMP_0) \
845 , _ZFP_mP_EXPAND(ZFMP_1) \
846 , _ZFP_mP_EXPAND(ZFMP_2) \
847 , _ZFP_mP_EXPAND(ZFMP_3) \
848 , _ZFP_mP_EXPAND(ZFMP_4) \
849 , _ZFP_mP_EXPAND(ZFMP_5) \
850 , _ZFP_mP_EXPAND(ZFMP_6) \
851 , _ZFP_ZFMP_DUMMY() \
854#define ZFMethodUserRegisterDetail_7(resultMethod, methodInvokerAction, ownerClass, \
855 PublicOrProtectedOrPrivate, ZFMethodType_, \
856 ReturnType, methodNameString \
865 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
866 PublicOrProtectedOrPrivate, ZFMethodType_, \
867 ReturnType, methodNameString \
868 , _ZFP_mP_EXPAND(ZFMP_0) \
869 , _ZFP_mP_EXPAND(ZFMP_1) \
870 , _ZFP_mP_EXPAND(ZFMP_2) \
871 , _ZFP_mP_EXPAND(ZFMP_3) \
872 , _ZFP_mP_EXPAND(ZFMP_4) \
873 , _ZFP_mP_EXPAND(ZFMP_5) \
874 , _ZFP_mP_EXPAND(ZFMP_6) \
875 , _ZFP_ZFMP_DUMMY() \
878#define ZFMETHOD_USER_REGISTER_7(ownerClassSig, \
879 ReturnType, methodName \
888 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
889 public, ZFMethodTypeVirtual, ZF_CALLER_LINE, \
890 ReturnType, methodName \
891 , _ZFP_mP_EXPAND(ZFMP_0) \
892 , _ZFP_mP_EXPAND(ZFMP_1) \
893 , _ZFP_mP_EXPAND(ZFMP_2) \
894 , _ZFP_mP_EXPAND(ZFMP_3) \
895 , _ZFP_mP_EXPAND(ZFMP_4) \
896 , _ZFP_mP_EXPAND(ZFMP_5) \
897 , _ZFP_mP_EXPAND(ZFMP_6) \
898 , _ZFP_ZFMP_DUMMY() \
901#define ZFMETHOD_USER_REGISTER_DETAIL_7(ownerClassSig, \
902 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
903 ReturnType, methodName \
912 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
913 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
914 ReturnType, methodName \
915 , _ZFP_mP_EXPAND(ZFMP_0) \
916 , _ZFP_mP_EXPAND(ZFMP_1) \
917 , _ZFP_mP_EXPAND(ZFMP_2) \
918 , _ZFP_mP_EXPAND(ZFMP_3) \
919 , _ZFP_mP_EXPAND(ZFMP_4) \
920 , _ZFP_mP_EXPAND(ZFMP_5) \
921 , _ZFP_mP_EXPAND(ZFMP_6) \
922 , _ZFP_ZFMP_DUMMY() \
928#define ZFMethodUserRegister_8(resultMethod, methodInvokerAction, ownerClass, \
929 ReturnType, methodNameString \
939 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
940 public, ZFMethodTypeVirtual, \
941 ReturnType, methodNameString \
942 , _ZFP_mP_EXPAND(ZFMP_0) \
943 , _ZFP_mP_EXPAND(ZFMP_1) \
944 , _ZFP_mP_EXPAND(ZFMP_2) \
945 , _ZFP_mP_EXPAND(ZFMP_3) \
946 , _ZFP_mP_EXPAND(ZFMP_4) \
947 , _ZFP_mP_EXPAND(ZFMP_5) \
948 , _ZFP_mP_EXPAND(ZFMP_6) \
949 , _ZFP_mP_EXPAND(ZFMP_7) \
952#define ZFMethodUserRegisterDetail_8(resultMethod, methodInvokerAction, ownerClass, \
953 PublicOrProtectedOrPrivate, ZFMethodType_, \
954 ReturnType, methodNameString \
964 _ZFP_ZFMethodUserRegister(resultMethod, methodInvokerAction, ownerClass, \
965 PublicOrProtectedOrPrivate, ZFMethodType_, \
966 ReturnType, methodNameString \
967 , _ZFP_mP_EXPAND(ZFMP_0) \
968 , _ZFP_mP_EXPAND(ZFMP_1) \
969 , _ZFP_mP_EXPAND(ZFMP_2) \
970 , _ZFP_mP_EXPAND(ZFMP_3) \
971 , _ZFP_mP_EXPAND(ZFMP_4) \
972 , _ZFP_mP_EXPAND(ZFMP_5) \
973 , _ZFP_mP_EXPAND(ZFMP_6) \
974 , _ZFP_mP_EXPAND(ZFMP_7) \
977#define ZFMETHOD_USER_REGISTER_8(ownerClassSig, \
978 ReturnType, methodName \
988 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
989 public, ZFMethodTypeVirtual, ZF_CALLER_LINE, \
990 ReturnType, methodName \
991 , _ZFP_mP_EXPAND(ZFMP_0) \
992 , _ZFP_mP_EXPAND(ZFMP_1) \
993 , _ZFP_mP_EXPAND(ZFMP_2) \
994 , _ZFP_mP_EXPAND(ZFMP_3) \
995 , _ZFP_mP_EXPAND(ZFMP_4) \
996 , _ZFP_mP_EXPAND(ZFMP_5) \
997 , _ZFP_mP_EXPAND(ZFMP_6) \
998 , _ZFP_mP_EXPAND(ZFMP_7) \
1001#define ZFMETHOD_USER_REGISTER_DETAIL_8(ownerClassSig, \
1002 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
1003 ReturnType, methodName \
1013 _ZFP_ZFMETHOD_USER_REGISTER(ownerClassSig, \
1014 PublicOrProtectedOrPrivate, ZFMethodType_, RegSig, \
1015 ReturnType, methodName \
1016 , _ZFP_mP_EXPAND(ZFMP_0) \
1017 , _ZFP_mP_EXPAND(ZFMP_1) \
1018 , _ZFP_mP_EXPAND(ZFMP_2) \
1019 , _ZFP_mP_EXPAND(ZFMP_3) \
1020 , _ZFP_mP_EXPAND(ZFMP_4) \
1021 , _ZFP_mP_EXPAND(ZFMP_5) \
1022 , _ZFP_mP_EXPAND(ZFMP_6) \
1023 , _ZFP_mP_EXPAND(ZFMP_7) \
#define ZFLIB_ZFCore
used to export symbols
Definition ZFCoreEnvDef.h:30
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:184
reflectable method definination for ZFFramework
void ZFMethodUserUnregister(const ZFMethod *method)
see ZFMethodUserRegister_0
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98
reflectable method for ZFObject
Definition ZFMethod.h:252