6#ifndef _ZFI_ZFMethodUserRegister_Wrapper_h_
7#define _ZFI_ZFMethodUserRegister_Wrapper_h_
14template<
typename T_Wrapper>
15inline T_Wrapper &_ZFP_mURVA(T_Wrapper &zfv) {
18template<
typename T_Wrapper>
19inline T_Wrapper
const &_ZFP_mURVA(T_Wrapper
const &zfv) {
22template<
typename T_Wrapper>
23inline T_Wrapper &_ZFP_mURVA(T_Wrapper *zfv) {
26template<
typename T_Wrapper>
27inline T_Wrapper
const &_ZFP_mURVA(
const T_Wrapper *zfv) {
33#define ZFMethodUserRegisterForWrapperVarReadonly(getterMethod, WrapperClass, VarType, VarName) \
34 ZFMethodUserRegister_0(getterMethod, { \
35 return (VarType const &)(_ZFP_mURVA(invokerObject->to<WrapperClass *>()->zfv).VarName); \
36 }, WrapperClass::ClassData(), VarType const &, zftext(#VarName))
38#define ZFMethodUserRegisterForWrapperVar(setterMethod, getterMethod, WrapperClass, VarType, VarName) \
39 ZFMethodUserRegister_1(setterMethod, { \
40 _ZFP_mURVA(invokerObject->to<WrapperClass *>()->zfv).VarName = param0; \
41 }, WrapperClass::ClassData(), void, zftext(#VarName) \
42 , ZFMP_IN(VarType const &, param0) \
44 ZFMethodUserRegister_0(getterMethod, { \
45 return (VarType const &)(_ZFP_mURVA(invokerObject->to<WrapperClass *>()->zfv).VarName); \
46 }, WrapperClass::ClassData(), VarType const &, zftext(#VarName))
49#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_VAR_READONLY(WrapperClass, VarType, VarName) \
50 ZF_STATIC_REGISTER_INIT(MtdUR_##WrapperClass##_##VarName) { \
51 ZFMethodUserRegister_0(getterMethod, { \
52 return (VarType const &)(_ZFP_mURVA(invokerObject->to<WrapperClass *>()->zfv).VarName); \
53 }, WrapperClass::ClassData(), VarType const &, zftext(#VarName)); \
55 ZF_STATIC_REGISTER_DESTROY(MtdUR_##WrapperClass##_##VarName) { \
56 ZFMethodUserUnregister(WrapperClass::ClassData()->methodForNameIgnoreParent(zftext(#VarName), zfnull)); \
58 ZF_STATIC_REGISTER_END(MtdUR_##WrapperClass##_##VarName)
60#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_VAR(WrapperClass, VarType, VarName) \
61 ZF_STATIC_REGISTER_INIT(MtdUR_##WrapperClass##_##VarName) { \
62 ZFMethodUserRegister_1(setterMethod, { \
63 _ZFP_mURVA(invokerObject->to<WrapperClass *>()->zfv).VarName = param0; \
64 }, WrapperClass::ClassData(), void, zftext(#VarName) \
65 , ZFMP_IN(VarType const &, param0) \
67 ZFMethodUserRegister_0(getterMethod, { \
68 return (VarType const &)(_ZFP_mURVA(invokerObject->to<WrapperClass *>()->zfv).VarName); \
69 }, WrapperClass::ClassData(), VarType const &, zftext(#VarName)); \
71 ZF_STATIC_REGISTER_DESTROY(MtdUR_##WrapperClass##_##VarName) { \
72 ZFMethodUserUnregister(WrapperClass::ClassData()->methodForNameIgnoreParent(zftext(#VarName), ZFTypeId<VarType>::TypeId())); \
73 ZFMethodUserUnregister(WrapperClass::ClassData()->methodForNameIgnoreParent(zftext(#VarName), zfnull)); \
75 ZF_STATIC_REGISTER_END(MtdUR_##WrapperClass##_##VarName)
79#define ZFMethodUserRegisterForWrapperSetterGetter(setterMethod, getterMethod, WrapperClass, VarType, VarName) \
80 ZFMethodUserRegister_1(setterMethod, { \
81 _ZFP_mURVA(invokerObject->to<WrapperClass *>()->zfv).VarName(param0); \
82 }, WrapperClass::ClassData(), void, zftext(#VarName) \
83 , ZFMP_IN(VarType const &, param0) \
85 ZFMethodUserRegister_0(getterMethod, { \
86 return (VarType const &)(_ZFP_mURVA(invokerObject->to<WrapperClass *>()->zfv).VarName()); \
87 }, WrapperClass::ClassData(), VarType const &, zftext(#VarName))
90#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_SETTER_GETTER(WrapperClass, VarType, VarName) \
91 ZF_STATIC_REGISTER_INIT(MtdUR_##WrapperClass##_##VarName) { \
92 ZFMethodUserRegister_1(setterMethod, { \
93 _ZFP_mURVA(invokerObject->to<WrapperClass *>()->zfv).VarName(param0); \
94 }, WrapperClass::ClassData(), void, zftext(#VarName) \
95 , ZFMP_IN(VarType const &, param0) \
97 ZFMethodUserRegister_0(getterMethod, { \
98 return (VarType const &)(_ZFP_mURVA(invokerObject->to<WrapperClass *>()->zfv).VarName()); \
99 }, WrapperClass::ClassData(), VarType const &, zftext(#VarName)); \
101 ZF_STATIC_REGISTER_DESTROY(MtdUR_##WrapperClass##_##VarName) { \
102 ZFMethodUserUnregister(WrapperClass::ClassData()->methodForNameIgnoreParent(zftext(#VarName), ZFTypeId<VarType>::TypeId())); \
103 ZFMethodUserUnregister(WrapperClass::ClassData()->methodForNameIgnoreParent(zftext(#VarName), zfnull)); \
105 ZF_STATIC_REGISTER_END(MtdUR_##WrapperClass##_##VarName)
108#define _ZFP_ZFMethodUserRegisterForWrapperFunc(...) \
109 _ZFP_mD_EXPAND(_ZFP_ZFMethodUserRegisterForWrapperFunc_(__VA_ARGS__))
110#define _ZFP_ZFMethodUserRegisterForWrapperFunc_(resultMethod, WrapperClass, \
111 ReturnType, methodName \
112 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
113 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
114 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
115 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
116 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
117 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
118 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
119 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
121 _ZFP_ZFMethodUserRegister(resultMethod, { \
122 return (ReturnType)_ZFP_mURVA(invokerObject->to<WrapperClass *>()->zfv).methodName( \
123 ParamExpandOrEmpty0(ZFM_EMPTY() param0) \
124 ParamExpandOrEmpty1(ZFM_COMMA() param1) \
125 ParamExpandOrEmpty2(ZFM_COMMA() param2) \
126 ParamExpandOrEmpty3(ZFM_COMMA() param3) \
127 ParamExpandOrEmpty4(ZFM_COMMA() param4) \
128 ParamExpandOrEmpty5(ZFM_COMMA() param5) \
129 ParamExpandOrEmpty6(ZFM_COMMA() param6) \
130 ParamExpandOrEmpty7(ZFM_COMMA() param7) \
132 }, WrapperClass::ClassData(), \
133 public, ZFMethodTypeVirtual, \
134 ReturnType, zftext(#methodName) \
135 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
136 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
137 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
138 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
139 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
140 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
141 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
142 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
144#define _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC(...) \
145 _ZFP_mD_EXPAND(_ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_(__VA_ARGS__))
146#define _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_(WrapperClass, \
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 \
158 _ZFP_ZFMETHOD_USER_REGISTER(WrapperClass, \
159 public, ZFMethodTypeVirtual, RegSig, \
160 ReturnType, methodName \
161 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
162 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
163 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
164 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
165 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
166 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
167 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
168 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
170 return (ReturnType)_ZFP_mURVA(invokerObject->to<WrapperClass *>()->zfv).methodName( \
171 ParamExpandOrEmpty0(ZFM_EMPTY() param0) \
172 ParamExpandOrEmpty1(ZFM_COMMA() param1) \
173 ParamExpandOrEmpty2(ZFM_COMMA() param2) \
174 ParamExpandOrEmpty3(ZFM_COMMA() param3) \
175 ParamExpandOrEmpty4(ZFM_COMMA() param4) \
176 ParamExpandOrEmpty5(ZFM_COMMA() param5) \
177 ParamExpandOrEmpty6(ZFM_COMMA() param6) \
178 ParamExpandOrEmpty7(ZFM_COMMA() param7) \
183#define _ZFP_ZFMethodUserRegisterForWrapperFuncStatic(...) \
184 _ZFP_mD_EXPAND(_ZFP_ZFMethodUserRegisterForWrapperFuncStatic_(__VA_ARGS__))
185#define _ZFP_ZFMethodUserRegisterForWrapperFuncStatic_(resultMethod, OriginalClass, WrapperClass, \
186 ReturnType, methodName \
187 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
188 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
189 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
190 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
191 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
192 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
193 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
194 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
196 _ZFP_ZFMethodUserRegister(resultMethod, { \
197 return (ReturnType)OriginalClass::methodName( \
198 ParamExpandOrEmpty0(ZFM_EMPTY() param0) \
199 ParamExpandOrEmpty1(ZFM_COMMA() param1) \
200 ParamExpandOrEmpty2(ZFM_COMMA() param2) \
201 ParamExpandOrEmpty3(ZFM_COMMA() param3) \
202 ParamExpandOrEmpty4(ZFM_COMMA() param4) \
203 ParamExpandOrEmpty5(ZFM_COMMA() param5) \
204 ParamExpandOrEmpty6(ZFM_COMMA() param6) \
205 ParamExpandOrEmpty7(ZFM_COMMA() param7) \
207 }, WrapperClass::ClassData(), \
208 public, ZFMethodTypeStatic, \
209 ReturnType, zftext(#methodName) \
210 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
211 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
212 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
213 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
214 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
215 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
216 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
217 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
219#define _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC(...) \
220 _ZFP_mD_EXPAND(_ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC_(__VA_ARGS__))
221#define _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC_(OriginalClass, WrapperClass, \
222 ReturnType, methodName \
223 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
224 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
225 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
226 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
227 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
228 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
229 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
230 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
232 _ZFP_ZFMETHOD_USER_REGISTER(WrapperClass, \
233 public, ZFMethodTypeStatic, ZF_CALLER_LINE, \
234 ReturnType, methodName \
235 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
236 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
237 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
238 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
239 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
240 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
241 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
242 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
244 return (ReturnType)OriginalClass::methodName( \
245 ParamExpandOrEmpty0(ZFM_EMPTY() param0) \
246 ParamExpandOrEmpty1(ZFM_COMMA() param1) \
247 ParamExpandOrEmpty2(ZFM_COMMA() param2) \
248 ParamExpandOrEmpty3(ZFM_COMMA() param3) \
249 ParamExpandOrEmpty4(ZFM_COMMA() param4) \
250 ParamExpandOrEmpty5(ZFM_COMMA() param5) \
251 ParamExpandOrEmpty6(ZFM_COMMA() param6) \
252 ParamExpandOrEmpty7(ZFM_COMMA() param7) \
259#define ZFMethodUserRegisterForWrapperFunc_0(resultMethod, WrapperClass, \
260 ReturnType, methodName \
262 _ZFP_ZFMethodUserRegisterForWrapperFunc(resultMethod, WrapperClass, \
263 ReturnType, methodName \
264 , _ZFP_ZFMP_DUMMY() \
265 , _ZFP_ZFMP_DUMMY() \
266 , _ZFP_ZFMP_DUMMY() \
267 , _ZFP_ZFMP_DUMMY() \
268 , _ZFP_ZFMP_DUMMY() \
269 , _ZFP_ZFMP_DUMMY() \
270 , _ZFP_ZFMP_DUMMY() \
271 , _ZFP_ZFMP_DUMMY() \
274#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_0(WrapperClass, \
275 ReturnType, methodName \
277 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC(WrapperClass, ZF_CALLER_LINE, \
278 ReturnType, methodName \
279 , _ZFP_ZFMP_DUMMY() \
280 , _ZFP_ZFMP_DUMMY() \
281 , _ZFP_ZFMP_DUMMY() \
282 , _ZFP_ZFMP_DUMMY() \
283 , _ZFP_ZFMP_DUMMY() \
284 , _ZFP_ZFMP_DUMMY() \
285 , _ZFP_ZFMP_DUMMY() \
286 , _ZFP_ZFMP_DUMMY() \
289#define ZFMethodUserRegisterForWrapperFuncStatic_0(resultMethod, OriginalClass, WrapperClass, \
290 ReturnType, methodName \
292 _ZFP_ZFMethodUserRegisterForWrapperFuncStatic(resultMethod, OriginalClass, WrapperClass, \
293 ReturnType, methodName \
294 , _ZFP_ZFMP_DUMMY() \
295 , _ZFP_ZFMP_DUMMY() \
296 , _ZFP_ZFMP_DUMMY() \
297 , _ZFP_ZFMP_DUMMY() \
298 , _ZFP_ZFMP_DUMMY() \
299 , _ZFP_ZFMP_DUMMY() \
300 , _ZFP_ZFMP_DUMMY() \
301 , _ZFP_ZFMP_DUMMY() \
304#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC_0(OriginalClass, WrapperClass, \
305 ReturnType, methodName \
307 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC(OriginalClass, WrapperClass, \
308 ReturnType, methodName \
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() \
316 , _ZFP_ZFMP_DUMMY() \
322#define ZFMethodUserRegisterForWrapperFunc_1(resultMethod, WrapperClass, \
323 ReturnType, methodName \
326 _ZFP_ZFMethodUserRegisterForWrapperFunc(resultMethod, WrapperClass, \
327 ReturnType, methodName \
328 , _ZFP_mP_EXPAND(ZFMP_0) \
329 , _ZFP_ZFMP_DUMMY() \
330 , _ZFP_ZFMP_DUMMY() \
331 , _ZFP_ZFMP_DUMMY() \
332 , _ZFP_ZFMP_DUMMY() \
333 , _ZFP_ZFMP_DUMMY() \
334 , _ZFP_ZFMP_DUMMY() \
335 , _ZFP_ZFMP_DUMMY() \
338#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_1(WrapperClass, \
339 ReturnType, methodName \
342 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC(WrapperClass, ZF_CALLER_LINE, \
343 ReturnType, methodName \
344 , _ZFP_mP_EXPAND(ZFMP_0) \
345 , _ZFP_ZFMP_DUMMY() \
346 , _ZFP_ZFMP_DUMMY() \
347 , _ZFP_ZFMP_DUMMY() \
348 , _ZFP_ZFMP_DUMMY() \
349 , _ZFP_ZFMP_DUMMY() \
350 , _ZFP_ZFMP_DUMMY() \
351 , _ZFP_ZFMP_DUMMY() \
354#define ZFMethodUserRegisterForWrapperFuncStatic_1(resultMethod, OriginalClass, WrapperClass, \
355 ReturnType, methodName \
358 _ZFP_ZFMethodUserRegisterForWrapperFuncStatic(resultMethod, OriginalClass, WrapperClass, \
359 ReturnType, methodName \
360 , _ZFP_mP_EXPAND(ZFMP_0) \
361 , _ZFP_ZFMP_DUMMY() \
362 , _ZFP_ZFMP_DUMMY() \
363 , _ZFP_ZFMP_DUMMY() \
364 , _ZFP_ZFMP_DUMMY() \
365 , _ZFP_ZFMP_DUMMY() \
366 , _ZFP_ZFMP_DUMMY() \
367 , _ZFP_ZFMP_DUMMY() \
370#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC_1(OriginalClass, WrapperClass, \
371 ReturnType, methodName \
374 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC(OriginalClass, WrapperClass, \
375 ReturnType, methodName \
376 , _ZFP_mP_EXPAND(ZFMP_0) \
377 , _ZFP_ZFMP_DUMMY() \
378 , _ZFP_ZFMP_DUMMY() \
379 , _ZFP_ZFMP_DUMMY() \
380 , _ZFP_ZFMP_DUMMY() \
381 , _ZFP_ZFMP_DUMMY() \
382 , _ZFP_ZFMP_DUMMY() \
383 , _ZFP_ZFMP_DUMMY() \
389#define ZFMethodUserRegisterForWrapperFunc_2(resultMethod, WrapperClass, \
390 ReturnType, methodName \
394 _ZFP_ZFMethodUserRegisterForWrapperFunc(resultMethod, WrapperClass, \
395 ReturnType, methodName \
396 , _ZFP_mP_EXPAND(ZFMP_0) \
397 , _ZFP_mP_EXPAND(ZFMP_1) \
398 , _ZFP_ZFMP_DUMMY() \
399 , _ZFP_ZFMP_DUMMY() \
400 , _ZFP_ZFMP_DUMMY() \
401 , _ZFP_ZFMP_DUMMY() \
402 , _ZFP_ZFMP_DUMMY() \
403 , _ZFP_ZFMP_DUMMY() \
406#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_2(WrapperClass, \
407 ReturnType, methodName \
411 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC(WrapperClass, ZF_CALLER_LINE, \
412 ReturnType, methodName \
413 , _ZFP_mP_EXPAND(ZFMP_0) \
414 , _ZFP_mP_EXPAND(ZFMP_1) \
415 , _ZFP_ZFMP_DUMMY() \
416 , _ZFP_ZFMP_DUMMY() \
417 , _ZFP_ZFMP_DUMMY() \
418 , _ZFP_ZFMP_DUMMY() \
419 , _ZFP_ZFMP_DUMMY() \
420 , _ZFP_ZFMP_DUMMY() \
423#define ZFMethodUserRegisterForWrapperFuncStatic_2(resultMethod, OriginalClass, WrapperClass, \
424 ReturnType, methodName \
428 _ZFP_ZFMethodUserRegisterForWrapperFuncStatic(resultMethod, OriginalClass, WrapperClass, \
429 ReturnType, methodName \
430 , _ZFP_mP_EXPAND(ZFMP_0) \
431 , _ZFP_mP_EXPAND(ZFMP_1) \
432 , _ZFP_ZFMP_DUMMY() \
433 , _ZFP_ZFMP_DUMMY() \
434 , _ZFP_ZFMP_DUMMY() \
435 , _ZFP_ZFMP_DUMMY() \
436 , _ZFP_ZFMP_DUMMY() \
437 , _ZFP_ZFMP_DUMMY() \
440#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC_2(OriginalClass, WrapperClass, \
441 ReturnType, methodName \
445 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC(OriginalClass, WrapperClass, \
446 ReturnType, methodName \
447 , _ZFP_mP_EXPAND(ZFMP_0) \
448 , _ZFP_mP_EXPAND(ZFMP_1) \
449 , _ZFP_ZFMP_DUMMY() \
450 , _ZFP_ZFMP_DUMMY() \
451 , _ZFP_ZFMP_DUMMY() \
452 , _ZFP_ZFMP_DUMMY() \
453 , _ZFP_ZFMP_DUMMY() \
454 , _ZFP_ZFMP_DUMMY() \
460#define ZFMethodUserRegisterForWrapperFunc_3(resultMethod, WrapperClass, \
461 ReturnType, methodName \
466 _ZFP_ZFMethodUserRegisterForWrapperFunc(resultMethod, WrapperClass, \
467 ReturnType, methodName \
468 , _ZFP_mP_EXPAND(ZFMP_0) \
469 , _ZFP_mP_EXPAND(ZFMP_1) \
470 , _ZFP_mP_EXPAND(ZFMP_2) \
471 , _ZFP_ZFMP_DUMMY() \
472 , _ZFP_ZFMP_DUMMY() \
473 , _ZFP_ZFMP_DUMMY() \
474 , _ZFP_ZFMP_DUMMY() \
475 , _ZFP_ZFMP_DUMMY() \
478#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_3(WrapperClass, \
479 ReturnType, methodName \
484 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC(WrapperClass, ZF_CALLER_LINE, \
485 ReturnType, methodName \
486 , _ZFP_mP_EXPAND(ZFMP_0) \
487 , _ZFP_mP_EXPAND(ZFMP_1) \
488 , _ZFP_mP_EXPAND(ZFMP_2) \
489 , _ZFP_ZFMP_DUMMY() \
490 , _ZFP_ZFMP_DUMMY() \
491 , _ZFP_ZFMP_DUMMY() \
492 , _ZFP_ZFMP_DUMMY() \
493 , _ZFP_ZFMP_DUMMY() \
496#define ZFMethodUserRegisterForWrapperFuncStatic_3(resultMethod, OriginalClass, WrapperClass, \
497 ReturnType, methodName \
502 _ZFP_ZFMethodUserRegisterForWrapperFuncStatic(resultMethod, OriginalClass, WrapperClass, \
503 ReturnType, methodName \
504 , _ZFP_mP_EXPAND(ZFMP_0) \
505 , _ZFP_mP_EXPAND(ZFMP_1) \
506 , _ZFP_mP_EXPAND(ZFMP_2) \
507 , _ZFP_ZFMP_DUMMY() \
508 , _ZFP_ZFMP_DUMMY() \
509 , _ZFP_ZFMP_DUMMY() \
510 , _ZFP_ZFMP_DUMMY() \
511 , _ZFP_ZFMP_DUMMY() \
514#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC_3(OriginalClass, WrapperClass, \
515 ReturnType, methodName \
520 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC(OriginalClass, WrapperClass, \
521 ReturnType, methodName \
522 , _ZFP_mP_EXPAND(ZFMP_0) \
523 , _ZFP_mP_EXPAND(ZFMP_1) \
524 , _ZFP_mP_EXPAND(ZFMP_2) \
525 , _ZFP_ZFMP_DUMMY() \
526 , _ZFP_ZFMP_DUMMY() \
527 , _ZFP_ZFMP_DUMMY() \
528 , _ZFP_ZFMP_DUMMY() \
529 , _ZFP_ZFMP_DUMMY() \
535#define ZFMethodUserRegisterForWrapperFunc_4(resultMethod, WrapperClass, \
536 ReturnType, methodName \
542 _ZFP_ZFMethodUserRegisterForWrapperFunc(resultMethod, WrapperClass, \
543 ReturnType, methodName \
544 , _ZFP_mP_EXPAND(ZFMP_0) \
545 , _ZFP_mP_EXPAND(ZFMP_1) \
546 , _ZFP_mP_EXPAND(ZFMP_2) \
547 , _ZFP_mP_EXPAND(ZFMP_3) \
548 , _ZFP_ZFMP_DUMMY() \
549 , _ZFP_ZFMP_DUMMY() \
550 , _ZFP_ZFMP_DUMMY() \
551 , _ZFP_ZFMP_DUMMY() \
554#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_4(WrapperClass, \
555 ReturnType, methodName \
561 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC(WrapperClass, ZF_CALLER_LINE, \
562 ReturnType, methodName \
563 , _ZFP_mP_EXPAND(ZFMP_0) \
564 , _ZFP_mP_EXPAND(ZFMP_1) \
565 , _ZFP_mP_EXPAND(ZFMP_2) \
566 , _ZFP_mP_EXPAND(ZFMP_3) \
567 , _ZFP_ZFMP_DUMMY() \
568 , _ZFP_ZFMP_DUMMY() \
569 , _ZFP_ZFMP_DUMMY() \
570 , _ZFP_ZFMP_DUMMY() \
573#define ZFMethodUserRegisterForWrapperFuncStatic_4(resultMethod, OriginalClass, WrapperClass, \
574 ReturnType, methodName \
580 _ZFP_ZFMethodUserRegisterForWrapperFuncStatic(resultMethod, OriginalClass, WrapperClass, \
581 ReturnType, methodName \
582 , _ZFP_mP_EXPAND(ZFMP_0) \
583 , _ZFP_mP_EXPAND(ZFMP_1) \
584 , _ZFP_mP_EXPAND(ZFMP_2) \
585 , _ZFP_mP_EXPAND(ZFMP_3) \
586 , _ZFP_ZFMP_DUMMY() \
587 , _ZFP_ZFMP_DUMMY() \
588 , _ZFP_ZFMP_DUMMY() \
589 , _ZFP_ZFMP_DUMMY() \
592#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC_4(OriginalClass, WrapperClass, \
593 ReturnType, methodName \
599 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC(OriginalClass, WrapperClass, \
600 ReturnType, methodName \
601 , _ZFP_mP_EXPAND(ZFMP_0) \
602 , _ZFP_mP_EXPAND(ZFMP_1) \
603 , _ZFP_mP_EXPAND(ZFMP_2) \
604 , _ZFP_mP_EXPAND(ZFMP_3) \
605 , _ZFP_ZFMP_DUMMY() \
606 , _ZFP_ZFMP_DUMMY() \
607 , _ZFP_ZFMP_DUMMY() \
608 , _ZFP_ZFMP_DUMMY() \
614#define ZFMethodUserRegisterForWrapperFunc_5(resultMethod, WrapperClass, \
615 ReturnType, methodName \
622 _ZFP_ZFMethodUserRegisterForWrapperFunc(resultMethod, WrapperClass, \
623 ReturnType, methodName \
624 , _ZFP_mP_EXPAND(ZFMP_0) \
625 , _ZFP_mP_EXPAND(ZFMP_1) \
626 , _ZFP_mP_EXPAND(ZFMP_2) \
627 , _ZFP_mP_EXPAND(ZFMP_3) \
628 , _ZFP_mP_EXPAND(ZFMP_4) \
629 , _ZFP_ZFMP_DUMMY() \
630 , _ZFP_ZFMP_DUMMY() \
631 , _ZFP_ZFMP_DUMMY() \
634#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_5(WrapperClass, \
635 ReturnType, methodName \
642 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC(WrapperClass, ZF_CALLER_LINE, \
643 ReturnType, methodName \
644 , _ZFP_mP_EXPAND(ZFMP_0) \
645 , _ZFP_mP_EXPAND(ZFMP_1) \
646 , _ZFP_mP_EXPAND(ZFMP_2) \
647 , _ZFP_mP_EXPAND(ZFMP_3) \
648 , _ZFP_mP_EXPAND(ZFMP_4) \
649 , _ZFP_ZFMP_DUMMY() \
650 , _ZFP_ZFMP_DUMMY() \
651 , _ZFP_ZFMP_DUMMY() \
654#define ZFMethodUserRegisterForWrapperFuncStatic_5(resultMethod, OriginalClass, WrapperClass, \
655 ReturnType, methodName \
662 _ZFP_ZFMethodUserRegisterForWrapperFuncStatic(resultMethod, OriginalClass, WrapperClass, \
663 ReturnType, methodName \
664 , _ZFP_mP_EXPAND(ZFMP_0) \
665 , _ZFP_mP_EXPAND(ZFMP_1) \
666 , _ZFP_mP_EXPAND(ZFMP_2) \
667 , _ZFP_mP_EXPAND(ZFMP_3) \
668 , _ZFP_mP_EXPAND(ZFMP_4) \
669 , _ZFP_ZFMP_DUMMY() \
670 , _ZFP_ZFMP_DUMMY() \
671 , _ZFP_ZFMP_DUMMY() \
674#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC_5(OriginalClass, WrapperClass, \
675 ReturnType, methodName \
682 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC(OriginalClass, WrapperClass, \
683 ReturnType, methodName \
684 , _ZFP_mP_EXPAND(ZFMP_0) \
685 , _ZFP_mP_EXPAND(ZFMP_1) \
686 , _ZFP_mP_EXPAND(ZFMP_2) \
687 , _ZFP_mP_EXPAND(ZFMP_3) \
688 , _ZFP_mP_EXPAND(ZFMP_4) \
689 , _ZFP_ZFMP_DUMMY() \
690 , _ZFP_ZFMP_DUMMY() \
691 , _ZFP_ZFMP_DUMMY() \
697#define ZFMethodUserRegisterForWrapperFunc_6(resultMethod, WrapperClass, \
698 ReturnType, methodName \
706 _ZFP_ZFMethodUserRegisterForWrapperFunc(resultMethod, WrapperClass, \
707 ReturnType, methodName \
708 , _ZFP_mP_EXPAND(ZFMP_0) \
709 , _ZFP_mP_EXPAND(ZFMP_1) \
710 , _ZFP_mP_EXPAND(ZFMP_2) \
711 , _ZFP_mP_EXPAND(ZFMP_3) \
712 , _ZFP_mP_EXPAND(ZFMP_4) \
713 , _ZFP_mP_EXPAND(ZFMP_5) \
714 , _ZFP_ZFMP_DUMMY() \
715 , _ZFP_ZFMP_DUMMY() \
718#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_6(WrapperClass, \
719 ReturnType, methodName \
727 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC(WrapperClass, ZF_CALLER_LINE, \
728 ReturnType, methodName \
729 , _ZFP_mP_EXPAND(ZFMP_0) \
730 , _ZFP_mP_EXPAND(ZFMP_1) \
731 , _ZFP_mP_EXPAND(ZFMP_2) \
732 , _ZFP_mP_EXPAND(ZFMP_3) \
733 , _ZFP_mP_EXPAND(ZFMP_4) \
734 , _ZFP_mP_EXPAND(ZFMP_5) \
735 , _ZFP_ZFMP_DUMMY() \
736 , _ZFP_ZFMP_DUMMY() \
739#define ZFMethodUserRegisterForWrapperFuncStatic_6(resultMethod, OriginalClass, WrapperClass, \
740 ReturnType, methodName \
748 _ZFP_ZFMethodUserRegisterForWrapperFuncStatic(resultMethod, OriginalClass, WrapperClass, \
749 ReturnType, methodName \
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 ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC_6(OriginalClass, WrapperClass, \
761 ReturnType, methodName \
769 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC(OriginalClass, WrapperClass, \
770 ReturnType, methodName \
771 , _ZFP_mP_EXPAND(ZFMP_0) \
772 , _ZFP_mP_EXPAND(ZFMP_1) \
773 , _ZFP_mP_EXPAND(ZFMP_2) \
774 , _ZFP_mP_EXPAND(ZFMP_3) \
775 , _ZFP_mP_EXPAND(ZFMP_4) \
776 , _ZFP_mP_EXPAND(ZFMP_5) \
777 , _ZFP_ZFMP_DUMMY() \
778 , _ZFP_ZFMP_DUMMY() \
784#define ZFMethodUserRegisterForWrapperFunc_7(resultMethod, WrapperClass, \
785 ReturnType, methodName \
794 _ZFP_ZFMethodUserRegisterForWrapperFunc(resultMethod, WrapperClass, \
795 ReturnType, methodName \
796 , _ZFP_mP_EXPAND(ZFMP_0) \
797 , _ZFP_mP_EXPAND(ZFMP_1) \
798 , _ZFP_mP_EXPAND(ZFMP_2) \
799 , _ZFP_mP_EXPAND(ZFMP_3) \
800 , _ZFP_mP_EXPAND(ZFMP_4) \
801 , _ZFP_mP_EXPAND(ZFMP_5) \
802 , _ZFP_mP_EXPAND(ZFMP_6) \
803 , _ZFP_ZFMP_DUMMY() \
806#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_7(WrapperClass, \
807 ReturnType, methodName \
816 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC(WrapperClass, ZF_CALLER_LINE, \
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_mP_EXPAND(ZFMP_6) \
825 , _ZFP_ZFMP_DUMMY() \
828#define ZFMethodUserRegisterForWrapperFuncStatic_7(resultMethod, OriginalClass, WrapperClass, \
829 ReturnType, methodName \
838 _ZFP_ZFMethodUserRegisterForWrapperFuncStatic(resultMethod, OriginalClass, WrapperClass, \
839 ReturnType, methodName \
840 , _ZFP_mP_EXPAND(ZFMP_0) \
841 , _ZFP_mP_EXPAND(ZFMP_1) \
842 , _ZFP_mP_EXPAND(ZFMP_2) \
843 , _ZFP_mP_EXPAND(ZFMP_3) \
844 , _ZFP_mP_EXPAND(ZFMP_4) \
845 , _ZFP_mP_EXPAND(ZFMP_5) \
846 , _ZFP_mP_EXPAND(ZFMP_6) \
847 , _ZFP_ZFMP_DUMMY() \
850#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC_7(OriginalClass, WrapperClass, \
851 ReturnType, methodName \
860 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC(OriginalClass, WrapperClass, \
861 ReturnType, methodName \
862 , _ZFP_mP_EXPAND(ZFMP_0) \
863 , _ZFP_mP_EXPAND(ZFMP_1) \
864 , _ZFP_mP_EXPAND(ZFMP_2) \
865 , _ZFP_mP_EXPAND(ZFMP_3) \
866 , _ZFP_mP_EXPAND(ZFMP_4) \
867 , _ZFP_mP_EXPAND(ZFMP_5) \
868 , _ZFP_mP_EXPAND(ZFMP_6) \
869 , _ZFP_ZFMP_DUMMY() \
875#define ZFMethodUserRegisterForWrapperFunc_8(resultMethod, WrapperClass, \
876 ReturnType, methodName \
886 _ZFP_ZFMethodUserRegisterForWrapperFunc(resultMethod, WrapperClass, \
887 ReturnType, methodName \
888 , _ZFP_mP_EXPAND(ZFMP_0) \
889 , _ZFP_mP_EXPAND(ZFMP_1) \
890 , _ZFP_mP_EXPAND(ZFMP_2) \
891 , _ZFP_mP_EXPAND(ZFMP_3) \
892 , _ZFP_mP_EXPAND(ZFMP_4) \
893 , _ZFP_mP_EXPAND(ZFMP_5) \
894 , _ZFP_mP_EXPAND(ZFMP_6) \
895 , _ZFP_mP_EXPAND(ZFMP_7) \
898#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_8(WrapperClass, \
899 ReturnType, methodName \
909 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC(WrapperClass, ZF_CALLER_LINE, \
910 ReturnType, methodName \
911 , _ZFP_mP_EXPAND(ZFMP_0) \
912 , _ZFP_mP_EXPAND(ZFMP_1) \
913 , _ZFP_mP_EXPAND(ZFMP_2) \
914 , _ZFP_mP_EXPAND(ZFMP_3) \
915 , _ZFP_mP_EXPAND(ZFMP_4) \
916 , _ZFP_mP_EXPAND(ZFMP_5) \
917 , _ZFP_mP_EXPAND(ZFMP_6) \
918 , _ZFP_mP_EXPAND(ZFMP_7) \
921#define ZFMethodUserRegisterForWrapperFuncStatic_8(resultMethod, OriginalClass, WrapperClass, \
922 ReturnType, methodName \
932 _ZFP_ZFMethodUserRegisterForWrapperFuncStatic(resultMethod, OriginalClass, WrapperClass, \
933 ReturnType, methodName \
934 , _ZFP_mP_EXPAND(ZFMP_0) \
935 , _ZFP_mP_EXPAND(ZFMP_1) \
936 , _ZFP_mP_EXPAND(ZFMP_2) \
937 , _ZFP_mP_EXPAND(ZFMP_3) \
938 , _ZFP_mP_EXPAND(ZFMP_4) \
939 , _ZFP_mP_EXPAND(ZFMP_5) \
940 , _ZFP_mP_EXPAND(ZFMP_6) \
941 , _ZFP_mP_EXPAND(ZFMP_7) \
944#define ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC_8(OriginalClass, WrapperClass, \
945 ReturnType, methodName \
955 _ZFP_ZFMETHOD_USER_REGISTER_FOR_WRAPPER_FUNC_STATIC(OriginalClass, WrapperClass, \
956 ReturnType, methodName \
957 , _ZFP_mP_EXPAND(ZFMP_0) \
958 , _ZFP_mP_EXPAND(ZFMP_1) \
959 , _ZFP_mP_EXPAND(ZFMP_2) \
960 , _ZFP_mP_EXPAND(ZFMP_3) \
961 , _ZFP_mP_EXPAND(ZFMP_4) \
962 , _ZFP_mP_EXPAND(ZFMP_5) \
963 , _ZFP_mP_EXPAND(ZFMP_6) \
964 , _ZFP_mP_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