ZFFramework
 
Loading...
Searching...
No Matches
ZFMethodFuncUserRegister.h
Go to the documentation of this file.
1
5
6#ifndef _ZFI_ZFMethodFuncUserRegister_h_
7#define _ZFI_ZFMethodFuncUserRegister_h_
8
9#include "ZFMethod.h"
11
12// ============================================================
15
16// ============================================================
17#define _ZFP_ZFMethodFuncUserRegisterParamExpand( \
18 GenericInvokerOwner, methodInvoker, methodNamespaceString, \
19 ReturnType, methodNameString \
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 \
28 ) \
29 ( \
30 zftrue \
31 , zffalse \
32 , zfnull \
33 , reinterpret_cast<ZFFuncAddrType>(methodInvoker) \
34 , _ZFP_ZFMETHOD_GENERIC_INVOKER_ADDR(GenericInvokerOwner) \
35 , ZFMethodTypeStatic \
36 , zfnull \
37 , ZFMethodAccessTypePublic \
38 , methodNamespaceString \
39 , methodNameString \
40 , ZFTypeId<zftTraits<ReturnType>::TrNoRef>::TypeId() \
41 , _ZFP_ZFMethodMP() \
42 ParamExpandOrEmpty0(.add( \
43 ZFTypeId<zftTraits<ParamType0>::TrNoRef>::TypeId() \
44 , zftext(#param0) \
45 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty0, 0) \
46 )) \
47 ParamExpandOrEmpty1(.add( \
48 ZFTypeId<zftTraits<ParamType1>::TrNoRef>::TypeId() \
49 , zftext(#param1) \
50 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty1, 1) \
51 )) \
52 ParamExpandOrEmpty2(.add( \
53 ZFTypeId<zftTraits<ParamType2>::TrNoRef>::TypeId() \
54 , zftext(#param2) \
55 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty2, 2) \
56 )) \
57 ParamExpandOrEmpty3(.add( \
58 ZFTypeId<zftTraits<ParamType3>::TrNoRef>::TypeId() \
59 , zftext(#param3) \
60 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty3, 3) \
61 )) \
62 ParamExpandOrEmpty4(.add( \
63 ZFTypeId<zftTraits<ParamType4>::TrNoRef>::TypeId() \
64 , zftext(#param4) \
65 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty4, 4) \
66 )) \
67 ParamExpandOrEmpty5(.add( \
68 ZFTypeId<zftTraits<ParamType5>::TrNoRef>::TypeId() \
69 , zftext(#param5) \
70 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty5, 5) \
71 )) \
72 ParamExpandOrEmpty6(.add( \
73 ZFTypeId<zftTraits<ParamType6>::TrNoRef>::TypeId() \
74 , zftext(#param6) \
75 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty6, 6) \
76 )) \
77 ParamExpandOrEmpty7(.add( \
78 ZFTypeId<zftTraits<ParamType7>::TrNoRef>::TypeId() \
79 , zftext(#param7) \
80 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(GenericInvokerOwner, DefaultExpandOrEmpty7, 7) \
81 )) \
82 )
83
84// ============================================================
85#define _ZFP_ZFMethodFuncUserRegister(...) \
86 _ZFP_MtdD_EXPAND(_ZFP_ZFMethodFuncUserRegister_(__VA_ARGS__))
87#define _ZFP_ZFMethodFuncUserRegister_(resultMethod, methodInvokerAction, \
88 methodNamespaceString, \
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 \
98 ) \
99 const ZFMethod *resultMethod = zfnull; \
100 { \
101 zfclassNotPOD _ZFP_MtdFUR { \
102 public: \
103 static ReturnType invoker( \
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) \
114 ) { \
115 methodInvokerAction \
116 } \
117 _ZFP_ZFMETHOD_GENERIC_INVOKER_DECLARE( \
118 ReturnType \
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 \
127 ) \
128 }; \
129 resultMethod = _ZFP_ZFMethodRegister _ZFP_ZFMethodFuncUserRegisterParamExpand( \
130 _ZFP_MtdFUR, _ZFP_MtdFUR::invoker, methodNamespaceString, \
131 ReturnType, methodNameString \
132 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
133 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
134 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
135 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
136 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
137 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
138 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
139 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
140 ); \
141 } \
142 ZFUNUSED(resultMethod)
143
144#define _ZFP_ZFMETHOD_FUNC_USER_REGISTER(...) \
145 _ZFP_MtdD_EXPAND(_ZFP_ZFMETHOD_FUNC_USER_REGISTER_(__VA_ARGS__))
146#define _ZFP_ZFMETHOD_FUNC_USER_REGISTER_(methodInvokerAction, \
147 methodNamespaceString, RegSig, \
148 ReturnType, methodName \
149 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
150 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
151 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
152 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
153 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
154 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
155 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
156 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
157 ) \
158 zfclassNotPOD _ZFP_MtdFURIvk_##methodName##_##RegSig { \
159 public: \
160 static ReturnType invoker( \
161 ZF_IN const ZFMethod *invokerMethod \
162 , ZF_IN zfany const &invokerObject \
163 ParamExpandOrEmpty0(ZFM_COMMA() ParamType0 param0) \
164 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1 param1) \
165 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2 param2) \
166 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3 param3) \
167 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4 param4) \
168 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5 param5) \
169 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6 param6) \
170 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7 param7) \
171 ) { \
172 methodInvokerAction \
173 } \
174 _ZFP_ZFMETHOD_GENERIC_INVOKER_DECLARE( \
175 ReturnType \
176 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
177 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
178 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
179 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
180 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
181 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
182 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
183 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
184 ) \
185 }; \
186 static _ZFP_ZFMethodRegisterHolder _ZFP_MtdFURH_##methodName##_##RegSig \
187 _ZFP_ZFMethodFuncUserRegisterParamExpand( \
188 _ZFP_MtdFURIvk_##methodName##_##RegSig, \
189 _ZFP_MtdFURIvk_##methodName##_##RegSig::invoker, \
190 methodNamespaceString, \
191 ReturnType, zftext(#methodName) \
192 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
193 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
194 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
195 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
196 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
197 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
198 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
199 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
200 );
201
202// ============================================================
203#define _ZFP_ZFMethodFuncUserRegisterForFunc(...) \
204 _ZFP_MtdD_EXPAND(_ZFP_ZFMethodFuncUserRegisterForFunc_(__VA_ARGS__))
205#define _ZFP_ZFMethodFuncUserRegisterForFunc_(resultMethod, \
206 methodNamespaceString, \
207 ReturnType, methodName \
208 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
209 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
210 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
211 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
212 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
213 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
214 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
215 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
216 ) \
217 _ZFP_ZFMethodFuncUserRegister(resultMethod, { \
218 return (ReturnType)ZFM_EXPAND(methodName ZFM_BRACKET_L() \
219 ParamExpandOrEmpty0(ZFM_EMPTY() param0) \
220 ParamExpandOrEmpty1(ZFM_COMMA() param1) \
221 ParamExpandOrEmpty2(ZFM_COMMA() param2) \
222 ParamExpandOrEmpty3(ZFM_COMMA() param3) \
223 ParamExpandOrEmpty4(ZFM_COMMA() param4) \
224 ParamExpandOrEmpty5(ZFM_COMMA() param5) \
225 ParamExpandOrEmpty6(ZFM_COMMA() param6) \
226 ParamExpandOrEmpty7(ZFM_COMMA() param7) \
227 ZFM_BRACKET_R()); \
228 }, methodNamespaceString, \
229 ReturnType, zftext(#methodName) \
230 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
231 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
232 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
233 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
234 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
235 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
236 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
237 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
238 )
239
240#define _ZFP_ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC(...) \
241 _ZFP_MtdD_EXPAND(_ZFP_ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC_(__VA_ARGS__))
242#define _ZFP_ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC_( \
243 methodNamespaceString, RegSig, \
244 ReturnType, methodName \
245 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
246 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
247 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
248 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
249 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
250 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
251 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
252 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
253 ) \
254 _ZFP_ZFMETHOD_FUNC_USER_REGISTER({ \
255 return (ReturnType)ZFM_EXPAND(methodName ZFM_BRACKET_L() \
256 ParamExpandOrEmpty0(ZFM_EMPTY() param0) \
257 ParamExpandOrEmpty1(ZFM_COMMA() param1) \
258 ParamExpandOrEmpty2(ZFM_COMMA() param2) \
259 ParamExpandOrEmpty3(ZFM_COMMA() param3) \
260 ParamExpandOrEmpty4(ZFM_COMMA() param4) \
261 ParamExpandOrEmpty5(ZFM_COMMA() param5) \
262 ParamExpandOrEmpty6(ZFM_COMMA() param6) \
263 ParamExpandOrEmpty7(ZFM_COMMA() param7) \
264 ZFM_BRACKET_R()); \
265 }, methodNamespaceString, RegSig, \
266 ReturnType, methodName \
267 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
268 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
269 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
270 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
271 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
272 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
273 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
274 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
275 )
276
277// ============================================================
278// 0 param
326#define ZFMethodFuncUserRegister_0(resultMethod, methodInvokerAction, \
327 methodNamespaceString, \
328 ReturnType, methodNameString \
329 ) \
330 _ZFP_ZFMethodFuncUserRegister(resultMethod, methodInvokerAction, \
331 methodNamespaceString, \
332 ReturnType, methodNameString \
333 , _ZFP_ZFMP_DUMMY() \
334 , _ZFP_ZFMP_DUMMY() \
335 , _ZFP_ZFMP_DUMMY() \
336 , _ZFP_ZFMP_DUMMY() \
337 , _ZFP_ZFMP_DUMMY() \
338 , _ZFP_ZFMP_DUMMY() \
339 , _ZFP_ZFMP_DUMMY() \
340 , _ZFP_ZFMP_DUMMY() \
341 )
343#define ZFMETHOD_FUNC_USER_REGISTER_0(methodInvokerAction, \
344 ReturnType, methodName \
345 ) \
346 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
347 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
348 ReturnType, methodName \
349 , _ZFP_ZFMP_DUMMY() \
350 , _ZFP_ZFMP_DUMMY() \
351 , _ZFP_ZFMP_DUMMY() \
352 , _ZFP_ZFMP_DUMMY() \
353 , _ZFP_ZFMP_DUMMY() \
354 , _ZFP_ZFMP_DUMMY() \
355 , _ZFP_ZFMP_DUMMY() \
356 , _ZFP_ZFMP_DUMMY() \
357 )
359#define ZFMETHOD_FUNC_USER_REGISTER_DETAIL_0(methodInvokerAction, \
360 methodNamespaceString, RegSig, \
361 ReturnType, methodName \
362 ) \
363 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
364 methodNamespaceString, RegSig, \
365 ReturnType, methodName \
366 , _ZFP_ZFMP_DUMMY() \
367 , _ZFP_ZFMP_DUMMY() \
368 , _ZFP_ZFMP_DUMMY() \
369 , _ZFP_ZFMP_DUMMY() \
370 , _ZFP_ZFMP_DUMMY() \
371 , _ZFP_ZFMP_DUMMY() \
372 , _ZFP_ZFMP_DUMMY() \
373 , _ZFP_ZFMP_DUMMY() \
374 )
376#define ZFMethodFuncUserRegisterForFunc_0(resultMethod, \
377 methodNamespaceString, \
378 ReturnType, methodName \
379 ) \
380 _ZFP_ZFMethodFuncUserRegisterForFunc(resultMethod, \
381 methodNamespaceString, \
382 ReturnType, methodName \
383 , _ZFP_ZFMP_DUMMY() \
384 , _ZFP_ZFMP_DUMMY() \
385 , _ZFP_ZFMP_DUMMY() \
386 , _ZFP_ZFMP_DUMMY() \
387 , _ZFP_ZFMP_DUMMY() \
388 , _ZFP_ZFMP_DUMMY() \
389 , _ZFP_ZFMP_DUMMY() \
390 , _ZFP_ZFMP_DUMMY() \
391 )
393#define ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC_0( \
394 ReturnType, methodName \
395 ) \
396 _ZFP_ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC( \
397 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
398 ReturnType, methodName \
399 , _ZFP_ZFMP_DUMMY() \
400 , _ZFP_ZFMP_DUMMY() \
401 , _ZFP_ZFMP_DUMMY() \
402 , _ZFP_ZFMP_DUMMY() \
403 , _ZFP_ZFMP_DUMMY() \
404 , _ZFP_ZFMP_DUMMY() \
405 , _ZFP_ZFMP_DUMMY() \
406 , _ZFP_ZFMP_DUMMY() \
407 )
408
409// ============================================================
410// 1 param
412#define ZFMethodFuncUserRegister_1(resultMethod, methodInvokerAction, \
413 methodNamespaceString, \
414 ReturnType, methodNameString \
415 , ZFMP_0 \
416 ) \
417 _ZFP_ZFMethodFuncUserRegister(resultMethod, methodInvokerAction, \
418 methodNamespaceString, \
419 ReturnType, methodNameString \
420 , _ZFP_MtdP_EXPAND(ZFMP_0) \
421 , _ZFP_ZFMP_DUMMY() \
422 , _ZFP_ZFMP_DUMMY() \
423 , _ZFP_ZFMP_DUMMY() \
424 , _ZFP_ZFMP_DUMMY() \
425 , _ZFP_ZFMP_DUMMY() \
426 , _ZFP_ZFMP_DUMMY() \
427 , _ZFP_ZFMP_DUMMY() \
428 )
430#define ZFMETHOD_FUNC_USER_REGISTER_1(methodInvokerAction, \
431 ReturnType, methodName \
432 , ZFMP_0 \
433 ) \
434 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
435 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
436 ReturnType, methodName \
437 , _ZFP_MtdP_EXPAND(ZFMP_0) \
438 , _ZFP_ZFMP_DUMMY() \
439 , _ZFP_ZFMP_DUMMY() \
440 , _ZFP_ZFMP_DUMMY() \
441 , _ZFP_ZFMP_DUMMY() \
442 , _ZFP_ZFMP_DUMMY() \
443 , _ZFP_ZFMP_DUMMY() \
444 , _ZFP_ZFMP_DUMMY() \
445 )
447#define ZFMETHOD_FUNC_USER_REGISTER_DETAIL_1(methodInvokerAction, \
448 methodNamespaceString, RegSig, \
449 ReturnType, methodName \
450 , ZFMP_0 \
451 ) \
452 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
453 methodNamespaceString, RegSig, \
454 ReturnType, methodName \
455 , _ZFP_MtdP_EXPAND(ZFMP_0) \
456 , _ZFP_ZFMP_DUMMY() \
457 , _ZFP_ZFMP_DUMMY() \
458 , _ZFP_ZFMP_DUMMY() \
459 , _ZFP_ZFMP_DUMMY() \
460 , _ZFP_ZFMP_DUMMY() \
461 , _ZFP_ZFMP_DUMMY() \
462 , _ZFP_ZFMP_DUMMY() \
463 )
465#define ZFMethodFuncUserRegisterForFunc_1(resultMethod, \
466 methodNamespaceString, \
467 ReturnType, methodName \
468 , ZFMP_0 \
469 ) \
470 _ZFP_ZFMethodFuncUserRegisterForFunc(resultMethod, \
471 methodNamespaceString, \
472 ReturnType, methodName \
473 , _ZFP_MtdP_EXPAND(ZFMP_0) \
474 , _ZFP_ZFMP_DUMMY() \
475 , _ZFP_ZFMP_DUMMY() \
476 , _ZFP_ZFMP_DUMMY() \
477 , _ZFP_ZFMP_DUMMY() \
478 , _ZFP_ZFMP_DUMMY() \
479 , _ZFP_ZFMP_DUMMY() \
480 , _ZFP_ZFMP_DUMMY() \
481 )
483#define ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC_1( \
484 ReturnType, methodName \
485 , ZFMP_0 \
486 ) \
487 _ZFP_ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC( \
488 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
489 ReturnType, methodName \
490 , _ZFP_MtdP_EXPAND(ZFMP_0) \
491 , _ZFP_ZFMP_DUMMY() \
492 , _ZFP_ZFMP_DUMMY() \
493 , _ZFP_ZFMP_DUMMY() \
494 , _ZFP_ZFMP_DUMMY() \
495 , _ZFP_ZFMP_DUMMY() \
496 , _ZFP_ZFMP_DUMMY() \
497 , _ZFP_ZFMP_DUMMY() \
498 )
499
500// ============================================================
501// 2 param
503#define ZFMethodFuncUserRegister_2(resultMethod, methodInvokerAction, \
504 methodNamespaceString, \
505 ReturnType, methodNameString \
506 , ZFMP_0 \
507 , ZFMP_1 \
508 ) \
509 _ZFP_ZFMethodFuncUserRegister(resultMethod, methodInvokerAction, \
510 methodNamespaceString, \
511 ReturnType, methodNameString \
512 , _ZFP_MtdP_EXPAND(ZFMP_0) \
513 , _ZFP_MtdP_EXPAND(ZFMP_1) \
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 )
522#define ZFMETHOD_FUNC_USER_REGISTER_2(methodInvokerAction, \
523 ReturnType, methodName \
524 , ZFMP_0 \
525 , ZFMP_1 \
526 ) \
527 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
528 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
529 ReturnType, methodName \
530 , _ZFP_MtdP_EXPAND(ZFMP_0) \
531 , _ZFP_MtdP_EXPAND(ZFMP_1) \
532 , _ZFP_ZFMP_DUMMY() \
533 , _ZFP_ZFMP_DUMMY() \
534 , _ZFP_ZFMP_DUMMY() \
535 , _ZFP_ZFMP_DUMMY() \
536 , _ZFP_ZFMP_DUMMY() \
537 , _ZFP_ZFMP_DUMMY() \
538 )
540#define ZFMETHOD_FUNC_USER_REGISTER_DETAIL_2(methodInvokerAction, \
541 methodNamespaceString, RegSig, \
542 ReturnType, methodName \
543 , ZFMP_0 \
544 , ZFMP_1 \
545 ) \
546 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
547 methodNamespaceString, RegSig, \
548 ReturnType, methodName \
549 , _ZFP_MtdP_EXPAND(ZFMP_0) \
550 , _ZFP_MtdP_EXPAND(ZFMP_1) \
551 , _ZFP_ZFMP_DUMMY() \
552 , _ZFP_ZFMP_DUMMY() \
553 , _ZFP_ZFMP_DUMMY() \
554 , _ZFP_ZFMP_DUMMY() \
555 , _ZFP_ZFMP_DUMMY() \
556 , _ZFP_ZFMP_DUMMY() \
557 )
559#define ZFMethodFuncUserRegisterForFunc_2(resultMethod, \
560 methodNamespaceString, \
561 ReturnType, methodName \
562 , ZFMP_0 \
563 , ZFMP_1 \
564 ) \
565 _ZFP_ZFMethodFuncUserRegisterForFunc(resultMethod, \
566 methodNamespaceString, \
567 ReturnType, methodName \
568 , _ZFP_MtdP_EXPAND(ZFMP_0) \
569 , _ZFP_MtdP_EXPAND(ZFMP_1) \
570 , _ZFP_ZFMP_DUMMY() \
571 , _ZFP_ZFMP_DUMMY() \
572 , _ZFP_ZFMP_DUMMY() \
573 , _ZFP_ZFMP_DUMMY() \
574 , _ZFP_ZFMP_DUMMY() \
575 , _ZFP_ZFMP_DUMMY() \
576 )
578#define ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC_2( \
579 ReturnType, methodName \
580 , ZFMP_0 \
581 , ZFMP_1 \
582 ) \
583 _ZFP_ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC( \
584 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
585 ReturnType, methodName \
586 , _ZFP_MtdP_EXPAND(ZFMP_0) \
587 , _ZFP_MtdP_EXPAND(ZFMP_1) \
588 , _ZFP_ZFMP_DUMMY() \
589 , _ZFP_ZFMP_DUMMY() \
590 , _ZFP_ZFMP_DUMMY() \
591 , _ZFP_ZFMP_DUMMY() \
592 , _ZFP_ZFMP_DUMMY() \
593 , _ZFP_ZFMP_DUMMY() \
594 )
595
596// ============================================================
597// 3 param
599#define ZFMethodFuncUserRegister_3(resultMethod, methodInvokerAction, \
600 methodNamespaceString, \
601 ReturnType, methodNameString \
602 , ZFMP_0 \
603 , ZFMP_1 \
604 , ZFMP_2 \
605 ) \
606 _ZFP_ZFMethodFuncUserRegister(resultMethod, methodInvokerAction, \
607 methodNamespaceString, \
608 ReturnType, methodNameString \
609 , _ZFP_MtdP_EXPAND(ZFMP_0) \
610 , _ZFP_MtdP_EXPAND(ZFMP_1) \
611 , _ZFP_MtdP_EXPAND(ZFMP_2) \
612 , _ZFP_ZFMP_DUMMY() \
613 , _ZFP_ZFMP_DUMMY() \
614 , _ZFP_ZFMP_DUMMY() \
615 , _ZFP_ZFMP_DUMMY() \
616 , _ZFP_ZFMP_DUMMY() \
617 )
619#define ZFMETHOD_FUNC_USER_REGISTER_3(methodInvokerAction, \
620 ReturnType, methodName \
621 , ZFMP_0 \
622 , ZFMP_1 \
623 , ZFMP_2 \
624 ) \
625 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
626 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
627 ReturnType, methodName \
628 , _ZFP_MtdP_EXPAND(ZFMP_0) \
629 , _ZFP_MtdP_EXPAND(ZFMP_1) \
630 , _ZFP_MtdP_EXPAND(ZFMP_2) \
631 , _ZFP_ZFMP_DUMMY() \
632 , _ZFP_ZFMP_DUMMY() \
633 , _ZFP_ZFMP_DUMMY() \
634 , _ZFP_ZFMP_DUMMY() \
635 , _ZFP_ZFMP_DUMMY() \
636 )
638#define ZFMETHOD_FUNC_USER_REGISTER_DETAIL_3(methodInvokerAction, \
639 methodNamespaceString, RegSig, \
640 ReturnType, methodName \
641 , ZFMP_0 \
642 , ZFMP_1 \
643 , ZFMP_2 \
644 ) \
645 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
646 methodNamespaceString, RegSig, \
647 ReturnType, methodName \
648 , _ZFP_MtdP_EXPAND(ZFMP_0) \
649 , _ZFP_MtdP_EXPAND(ZFMP_1) \
650 , _ZFP_MtdP_EXPAND(ZFMP_2) \
651 , _ZFP_ZFMP_DUMMY() \
652 , _ZFP_ZFMP_DUMMY() \
653 , _ZFP_ZFMP_DUMMY() \
654 , _ZFP_ZFMP_DUMMY() \
655 , _ZFP_ZFMP_DUMMY() \
656 )
658#define ZFMethodFuncUserRegisterForFunc_3(resultMethod, \
659 methodNamespaceString, \
660 ReturnType, methodName \
661 , ZFMP_0 \
662 , ZFMP_1 \
663 , ZFMP_2 \
664 ) \
665 _ZFP_ZFMethodFuncUserRegisterForFunc(resultMethod, \
666 methodNamespaceString, \
667 ReturnType, methodName \
668 , _ZFP_MtdP_EXPAND(ZFMP_0) \
669 , _ZFP_MtdP_EXPAND(ZFMP_1) \
670 , _ZFP_MtdP_EXPAND(ZFMP_2) \
671 , _ZFP_ZFMP_DUMMY() \
672 , _ZFP_ZFMP_DUMMY() \
673 , _ZFP_ZFMP_DUMMY() \
674 , _ZFP_ZFMP_DUMMY() \
675 , _ZFP_ZFMP_DUMMY() \
676 )
678#define ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC_3( \
679 ReturnType, methodName \
680 , ZFMP_0 \
681 , ZFMP_1 \
682 , ZFMP_2 \
683 ) \
684 _ZFP_ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC( \
685 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
686 ReturnType, methodName \
687 , _ZFP_MtdP_EXPAND(ZFMP_0) \
688 , _ZFP_MtdP_EXPAND(ZFMP_1) \
689 , _ZFP_MtdP_EXPAND(ZFMP_2) \
690 , _ZFP_ZFMP_DUMMY() \
691 , _ZFP_ZFMP_DUMMY() \
692 , _ZFP_ZFMP_DUMMY() \
693 , _ZFP_ZFMP_DUMMY() \
694 , _ZFP_ZFMP_DUMMY() \
695 )
696
697// ============================================================
698// 4 param
700#define ZFMethodFuncUserRegister_4(resultMethod, methodInvokerAction, \
701 methodNamespaceString, \
702 ReturnType, methodNameString \
703 , ZFMP_0 \
704 , ZFMP_1 \
705 , ZFMP_2 \
706 , ZFMP_3 \
707 ) \
708 _ZFP_ZFMethodFuncUserRegister(resultMethod, methodInvokerAction, \
709 methodNamespaceString, \
710 ReturnType, methodNameString \
711 , _ZFP_MtdP_EXPAND(ZFMP_0) \
712 , _ZFP_MtdP_EXPAND(ZFMP_1) \
713 , _ZFP_MtdP_EXPAND(ZFMP_2) \
714 , _ZFP_MtdP_EXPAND(ZFMP_3) \
715 , _ZFP_ZFMP_DUMMY() \
716 , _ZFP_ZFMP_DUMMY() \
717 , _ZFP_ZFMP_DUMMY() \
718 , _ZFP_ZFMP_DUMMY() \
719 )
721#define ZFMETHOD_FUNC_USER_REGISTER_4(methodInvokerAction, \
722 ReturnType, methodName \
723 , ZFMP_0 \
724 , ZFMP_1 \
725 , ZFMP_2 \
726 , ZFMP_3 \
727 ) \
728 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
729 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
730 ReturnType, methodName \
731 , _ZFP_MtdP_EXPAND(ZFMP_0) \
732 , _ZFP_MtdP_EXPAND(ZFMP_1) \
733 , _ZFP_MtdP_EXPAND(ZFMP_2) \
734 , _ZFP_MtdP_EXPAND(ZFMP_3) \
735 , _ZFP_ZFMP_DUMMY() \
736 , _ZFP_ZFMP_DUMMY() \
737 , _ZFP_ZFMP_DUMMY() \
738 , _ZFP_ZFMP_DUMMY() \
739 )
741#define ZFMETHOD_FUNC_USER_REGISTER_DETAIL_4(methodInvokerAction, \
742 methodNamespaceString, RegSig, \
743 ReturnType, methodName \
744 , ZFMP_0 \
745 , ZFMP_1 \
746 , ZFMP_2 \
747 , ZFMP_3 \
748 ) \
749 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
750 methodNamespaceString, RegSig, \
751 ReturnType, methodName \
752 , _ZFP_MtdP_EXPAND(ZFMP_0) \
753 , _ZFP_MtdP_EXPAND(ZFMP_1) \
754 , _ZFP_MtdP_EXPAND(ZFMP_2) \
755 , _ZFP_MtdP_EXPAND(ZFMP_3) \
756 , _ZFP_ZFMP_DUMMY() \
757 , _ZFP_ZFMP_DUMMY() \
758 , _ZFP_ZFMP_DUMMY() \
759 , _ZFP_ZFMP_DUMMY() \
760 )
762#define ZFMethodFuncUserRegisterForFunc_4(resultMethod, \
763 methodNamespaceString, \
764 ReturnType, methodName \
765 , ZFMP_0 \
766 , ZFMP_1 \
767 , ZFMP_2 \
768 , ZFMP_3 \
769 ) \
770 _ZFP_ZFMethodFuncUserRegisterForFunc(resultMethod, \
771 methodNamespaceString, \
772 ReturnType, methodName \
773 , _ZFP_MtdP_EXPAND(ZFMP_0) \
774 , _ZFP_MtdP_EXPAND(ZFMP_1) \
775 , _ZFP_MtdP_EXPAND(ZFMP_2) \
776 , _ZFP_MtdP_EXPAND(ZFMP_3) \
777 , _ZFP_ZFMP_DUMMY() \
778 , _ZFP_ZFMP_DUMMY() \
779 , _ZFP_ZFMP_DUMMY() \
780 , _ZFP_ZFMP_DUMMY() \
781 )
783#define ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC_4( \
784 ReturnType, methodName \
785 , ZFMP_0 \
786 , ZFMP_1 \
787 , ZFMP_2 \
788 , ZFMP_3 \
789 ) \
790 _ZFP_ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC( \
791 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
792 ReturnType, methodName \
793 , _ZFP_MtdP_EXPAND(ZFMP_0) \
794 , _ZFP_MtdP_EXPAND(ZFMP_1) \
795 , _ZFP_MtdP_EXPAND(ZFMP_2) \
796 , _ZFP_MtdP_EXPAND(ZFMP_3) \
797 , _ZFP_ZFMP_DUMMY() \
798 , _ZFP_ZFMP_DUMMY() \
799 , _ZFP_ZFMP_DUMMY() \
800 , _ZFP_ZFMP_DUMMY() \
801 )
802
803// ============================================================
804// 5 param
806#define ZFMethodFuncUserRegister_5(resultMethod, methodInvokerAction, \
807 methodNamespaceString, \
808 ReturnType, methodNameString \
809 , ZFMP_0 \
810 , ZFMP_1 \
811 , ZFMP_2 \
812 , ZFMP_3 \
813 , ZFMP_4 \
814 ) \
815 _ZFP_ZFMethodFuncUserRegister(resultMethod, methodInvokerAction, \
816 methodNamespaceString, \
817 ReturnType, methodNameString \
818 , _ZFP_MtdP_EXPAND(ZFMP_0) \
819 , _ZFP_MtdP_EXPAND(ZFMP_1) \
820 , _ZFP_MtdP_EXPAND(ZFMP_2) \
821 , _ZFP_MtdP_EXPAND(ZFMP_3) \
822 , _ZFP_MtdP_EXPAND(ZFMP_4) \
823 , _ZFP_ZFMP_DUMMY() \
824 , _ZFP_ZFMP_DUMMY() \
825 , _ZFP_ZFMP_DUMMY() \
826 )
828#define ZFMETHOD_FUNC_USER_REGISTER_5(methodInvokerAction, \
829 ReturnType, methodName \
830 , ZFMP_0 \
831 , ZFMP_1 \
832 , ZFMP_2 \
833 , ZFMP_3 \
834 , ZFMP_4 \
835 ) \
836 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
837 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
838 ReturnType, methodName \
839 , _ZFP_MtdP_EXPAND(ZFMP_0) \
840 , _ZFP_MtdP_EXPAND(ZFMP_1) \
841 , _ZFP_MtdP_EXPAND(ZFMP_2) \
842 , _ZFP_MtdP_EXPAND(ZFMP_3) \
843 , _ZFP_MtdP_EXPAND(ZFMP_4) \
844 , _ZFP_ZFMP_DUMMY() \
845 , _ZFP_ZFMP_DUMMY() \
846 , _ZFP_ZFMP_DUMMY() \
847 )
849#define ZFMETHOD_FUNC_USER_REGISTER_DETAIL_5(methodInvokerAction, \
850 methodNamespaceString, RegSig, \
851 ReturnType, methodName \
852 , ZFMP_0 \
853 , ZFMP_1 \
854 , ZFMP_2 \
855 , ZFMP_3 \
856 , ZFMP_4 \
857 ) \
858 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
859 methodNamespaceString, RegSig, \
860 ReturnType, methodName \
861 , _ZFP_MtdP_EXPAND(ZFMP_0) \
862 , _ZFP_MtdP_EXPAND(ZFMP_1) \
863 , _ZFP_MtdP_EXPAND(ZFMP_2) \
864 , _ZFP_MtdP_EXPAND(ZFMP_3) \
865 , _ZFP_MtdP_EXPAND(ZFMP_4) \
866 , _ZFP_ZFMP_DUMMY() \
867 , _ZFP_ZFMP_DUMMY() \
868 , _ZFP_ZFMP_DUMMY() \
869 )
871#define ZFMethodFuncUserRegisterForFunc_5(resultMethod, \
872 methodNamespaceString, \
873 ReturnType, methodName \
874 , ZFMP_0 \
875 , ZFMP_1 \
876 , ZFMP_2 \
877 , ZFMP_3 \
878 , ZFMP_4 \
879 ) \
880 _ZFP_ZFMethodFuncUserRegisterForFunc(resultMethod, \
881 methodNamespaceString, \
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_ZFMP_DUMMY() \
889 , _ZFP_ZFMP_DUMMY() \
890 , _ZFP_ZFMP_DUMMY() \
891 )
893#define ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC_5( \
894 ReturnType, methodName \
895 , ZFMP_0 \
896 , ZFMP_1 \
897 , ZFMP_2 \
898 , ZFMP_3 \
899 , ZFMP_4 \
900 ) \
901 _ZFP_ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC( \
902 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
903 ReturnType, methodName \
904 , _ZFP_MtdP_EXPAND(ZFMP_0) \
905 , _ZFP_MtdP_EXPAND(ZFMP_1) \
906 , _ZFP_MtdP_EXPAND(ZFMP_2) \
907 , _ZFP_MtdP_EXPAND(ZFMP_3) \
908 , _ZFP_MtdP_EXPAND(ZFMP_4) \
909 , _ZFP_ZFMP_DUMMY() \
910 , _ZFP_ZFMP_DUMMY() \
911 , _ZFP_ZFMP_DUMMY() \
912 )
913
914// ============================================================
915// 6 param
917#define ZFMethodFuncUserRegister_6(resultMethod, methodInvokerAction, \
918 methodNamespaceString, \
919 ReturnType, methodNameString \
920 , ZFMP_0 \
921 , ZFMP_1 \
922 , ZFMP_2 \
923 , ZFMP_3 \
924 , ZFMP_4 \
925 , ZFMP_5 \
926 ) \
927 _ZFP_ZFMethodFuncUserRegister(resultMethod, methodInvokerAction, \
928 methodNamespaceString, \
929 ReturnType, methodNameString \
930 , _ZFP_MtdP_EXPAND(ZFMP_0) \
931 , _ZFP_MtdP_EXPAND(ZFMP_1) \
932 , _ZFP_MtdP_EXPAND(ZFMP_2) \
933 , _ZFP_MtdP_EXPAND(ZFMP_3) \
934 , _ZFP_MtdP_EXPAND(ZFMP_4) \
935 , _ZFP_MtdP_EXPAND(ZFMP_5) \
936 , _ZFP_ZFMP_DUMMY() \
937 , _ZFP_ZFMP_DUMMY() \
938 )
940#define ZFMETHOD_FUNC_USER_REGISTER_6(methodInvokerAction, \
941 ReturnType, methodName \
942 , ZFMP_0 \
943 , ZFMP_1 \
944 , ZFMP_2 \
945 , ZFMP_3 \
946 , ZFMP_4 \
947 , ZFMP_5 \
948 ) \
949 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
950 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
951 ReturnType, methodName \
952 , _ZFP_MtdP_EXPAND(ZFMP_0) \
953 , _ZFP_MtdP_EXPAND(ZFMP_1) \
954 , _ZFP_MtdP_EXPAND(ZFMP_2) \
955 , _ZFP_MtdP_EXPAND(ZFMP_3) \
956 , _ZFP_MtdP_EXPAND(ZFMP_4) \
957 , _ZFP_MtdP_EXPAND(ZFMP_5) \
958 , _ZFP_ZFMP_DUMMY() \
959 , _ZFP_ZFMP_DUMMY() \
960 )
962#define ZFMETHOD_FUNC_USER_REGISTER_DETAIL_6(methodInvokerAction, \
963 methodNamespaceString, RegSig, \
964 ReturnType, methodName \
965 , ZFMP_0 \
966 , ZFMP_1 \
967 , ZFMP_2 \
968 , ZFMP_3 \
969 , ZFMP_4 \
970 , ZFMP_5 \
971 ) \
972 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
973 methodNamespaceString, RegSig, \
974 ReturnType, methodName \
975 , _ZFP_MtdP_EXPAND(ZFMP_0) \
976 , _ZFP_MtdP_EXPAND(ZFMP_1) \
977 , _ZFP_MtdP_EXPAND(ZFMP_2) \
978 , _ZFP_MtdP_EXPAND(ZFMP_3) \
979 , _ZFP_MtdP_EXPAND(ZFMP_4) \
980 , _ZFP_MtdP_EXPAND(ZFMP_5) \
981 , _ZFP_ZFMP_DUMMY() \
982 , _ZFP_ZFMP_DUMMY() \
983 )
985#define ZFMethodFuncUserRegisterForFunc_6(resultMethod, \
986 methodNamespaceString, \
987 ReturnType, methodName \
988 , ZFMP_0 \
989 , ZFMP_1 \
990 , ZFMP_2 \
991 , ZFMP_3 \
992 , ZFMP_4 \
993 , ZFMP_5 \
994 ) \
995 _ZFP_ZFMethodFuncUserRegisterForFunc(resultMethod, \
996 methodNamespaceString, \
997 ReturnType, methodName \
998 , _ZFP_MtdP_EXPAND(ZFMP_0) \
999 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1000 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1001 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1002 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1003 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1004 , _ZFP_ZFMP_DUMMY() \
1005 , _ZFP_ZFMP_DUMMY() \
1006 )
1008#define ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC_6( \
1009 ReturnType, methodName \
1010 , ZFMP_0 \
1011 , ZFMP_1 \
1012 , ZFMP_2 \
1013 , ZFMP_3 \
1014 , ZFMP_4 \
1015 , ZFMP_5 \
1016 ) \
1017 _ZFP_ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC( \
1018 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
1019 ReturnType, methodName \
1020 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1021 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1022 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1023 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1024 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1025 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1026 , _ZFP_ZFMP_DUMMY() \
1027 , _ZFP_ZFMP_DUMMY() \
1028 )
1029
1030// ============================================================
1031// 7 param
1033#define ZFMethodFuncUserRegister_7(resultMethod, methodInvokerAction, \
1034 methodNamespaceString, \
1035 ReturnType, methodNameString \
1036 , ZFMP_0 \
1037 , ZFMP_1 \
1038 , ZFMP_2 \
1039 , ZFMP_3 \
1040 , ZFMP_4 \
1041 , ZFMP_5 \
1042 , ZFMP_6 \
1043 ) \
1044 _ZFP_ZFMethodFuncUserRegister(resultMethod, methodInvokerAction, \
1045 methodNamespaceString, \
1046 ReturnType, methodNameString \
1047 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1048 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1049 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1050 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1051 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1052 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1053 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1054 , _ZFP_ZFMP_DUMMY() \
1055 )
1057#define ZFMETHOD_FUNC_USER_REGISTER_7(methodInvokerAction, \
1058 ReturnType, methodName \
1059 , ZFMP_0 \
1060 , ZFMP_1 \
1061 , ZFMP_2 \
1062 , ZFMP_3 \
1063 , ZFMP_4 \
1064 , ZFMP_5 \
1065 , ZFMP_6 \
1066 ) \
1067 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
1068 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
1069 ReturnType, methodName \
1070 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1071 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1072 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1073 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1074 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1075 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1076 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1077 , _ZFP_ZFMP_DUMMY() \
1078 )
1080#define ZFMETHOD_FUNC_USER_REGISTER_DETAIL_7(methodInvokerAction, \
1081 methodNamespaceString, RegSig, \
1082 ReturnType, methodName \
1083 , ZFMP_0 \
1084 , ZFMP_1 \
1085 , ZFMP_2 \
1086 , ZFMP_3 \
1087 , ZFMP_4 \
1088 , ZFMP_5 \
1089 , ZFMP_6 \
1090 ) \
1091 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
1092 methodNamespaceString, RegSig, \
1093 ReturnType, methodName \
1094 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1095 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1096 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1097 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1098 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1099 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1100 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1101 , _ZFP_ZFMP_DUMMY() \
1102 )
1104#define ZFMethodFuncUserRegisterForFunc_7(resultMethod, \
1105 methodNamespaceString, \
1106 ReturnType, methodName \
1107 , ZFMP_0 \
1108 , ZFMP_1 \
1109 , ZFMP_2 \
1110 , ZFMP_3 \
1111 , ZFMP_4 \
1112 , ZFMP_5 \
1113 , ZFMP_6 \
1114 ) \
1115 _ZFP_ZFMethodFuncUserRegisterForFunc(resultMethod, \
1116 methodNamespaceString, \
1117 ReturnType, methodName \
1118 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1119 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1120 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1121 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1122 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1123 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1124 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1125 , _ZFP_ZFMP_DUMMY() \
1126 )
1128#define ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC_7( \
1129 ReturnType, methodName \
1130 , ZFMP_0 \
1131 , ZFMP_1 \
1132 , ZFMP_2 \
1133 , ZFMP_3 \
1134 , ZFMP_4 \
1135 , ZFMP_5 \
1136 , ZFMP_6 \
1137 ) \
1138 _ZFP_ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC( \
1139 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
1140 ReturnType, methodName \
1141 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1142 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1143 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1144 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1145 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1146 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1147 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1148 , _ZFP_ZFMP_DUMMY() \
1149 )
1150
1151// ============================================================
1152// 8 param
1154#define ZFMethodFuncUserRegister_8(resultMethod, methodInvokerAction, \
1155 methodNamespaceString, \
1156 ReturnType, methodNameString \
1157 , ZFMP_0 \
1158 , ZFMP_1 \
1159 , ZFMP_2 \
1160 , ZFMP_3 \
1161 , ZFMP_4 \
1162 , ZFMP_5 \
1163 , ZFMP_6 \
1164 , ZFMP_7 \
1165 ) \
1166 _ZFP_ZFMethodFuncUserRegister(resultMethod, methodInvokerAction, \
1167 methodNamespaceString, \
1168 ReturnType, methodNameString \
1169 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1170 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1171 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1172 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1173 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1174 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1175 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1176 , _ZFP_MtdP_EXPAND(ZFMP_7) \
1177 )
1179#define ZFMETHOD_FUNC_USER_REGISTER_8(methodInvokerAction, \
1180 ReturnType, methodName \
1181 , ZFMP_0 \
1182 , ZFMP_1 \
1183 , ZFMP_2 \
1184 , ZFMP_3 \
1185 , ZFMP_4 \
1186 , ZFMP_5 \
1187 , ZFMP_6 \
1188 , ZFMP_7 \
1189 ) \
1190 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
1191 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
1192 ReturnType, methodName \
1193 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1194 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1195 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1196 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1197 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1198 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1199 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1200 , _ZFP_MtdP_EXPAND(ZFMP_7) \
1201 )
1203#define ZFMETHOD_FUNC_USER_REGISTER_DETAIL_8(methodInvokerAction, \
1204 methodNamespaceString, RegSig, \
1205 ReturnType, methodName \
1206 , ZFMP_0 \
1207 , ZFMP_1 \
1208 , ZFMP_2 \
1209 , ZFMP_3 \
1210 , ZFMP_4 \
1211 , ZFMP_5 \
1212 , ZFMP_6 \
1213 , ZFMP_7 \
1214 ) \
1215 _ZFP_ZFMETHOD_FUNC_USER_REGISTER(methodInvokerAction, \
1216 methodNamespaceString, RegSig, \
1217 ReturnType, methodName \
1218 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1219 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1220 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1221 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1222 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1223 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1224 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1225 , _ZFP_MtdP_EXPAND(ZFMP_7) \
1226 )
1228#define ZFMethodFuncUserRegisterForFunc_8(resultMethod, \
1229 methodNamespaceString, \
1230 ReturnType, methodName \
1231 , ZFMP_0 \
1232 , ZFMP_1 \
1233 , ZFMP_2 \
1234 , ZFMP_3 \
1235 , ZFMP_4 \
1236 , ZFMP_5 \
1237 , ZFMP_6 \
1238 , ZFMP_7 \
1239 ) \
1240 _ZFP_ZFMethodFuncUserRegisterForFunc(resultMethod, \
1241 methodNamespaceString, \
1242 ReturnType, methodName \
1243 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1244 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1245 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1246 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1247 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1248 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1249 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1250 , _ZFP_MtdP_EXPAND(ZFMP_7) \
1251 )
1253#define ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC_8( \
1254 ReturnType, methodName \
1255 , ZFMP_0 \
1256 , ZFMP_1 \
1257 , ZFMP_2 \
1258 , ZFMP_3 \
1259 , ZFMP_4 \
1260 , ZFMP_5 \
1261 , ZFMP_6 \
1262 , ZFMP_7 \
1263 ) \
1264 _ZFP_ZFMETHOD_FUNC_USER_REGISTER_FOR_FUNC( \
1265 ZF_NAMESPACE_CURRENT(), ZF_CALLER_LINE, \
1266 ReturnType, methodName \
1267 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1268 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1269 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1270 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1271 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1272 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1273 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1274 , _ZFP_MtdP_EXPAND(ZFMP_7) \
1275 )
1276
1277/* ZFMETHOD_MAX_PARAM */
1278
1280#endif // #ifndef _ZFI_ZFMethodFuncUserRegister_h_
1281
#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 ZFMethodFuncUserUnregister(const ZFMethod *method)
see ZFMethodFuncUserRegister_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