6#ifndef _ZFI_ZFMethodFuncDeclare_h_
7#define _ZFI_ZFMethodFuncDeclare_h_
74#define _ZFP_ZFMethodFuncAccess(MethodNamespace, MethodName) \
75 _ZFP_ZFMethodFuncAccess_(MethodNamespace, MethodName)
76#define _ZFP_ZFMethodFuncAccess_(MethodNamespace, MethodName) \
77 ((MethodNamespace::_ZFP_MtdFA_##MethodName)(zfnull))
79#define ZFMethodFuncAccess(MethodName) \
80 _ZFP_ZFMethodFuncAccess(ZF_NAMESPACE_GLOBAL_ID, MethodName)
82#define _ZFP_ZFMethodFuncAccessDetail(...) \
83 _ZFP_MtdD_EXPAND(_ZFP_ZFMethodFuncAccessDetail_(__VA_ARGS__))
84#define _ZFP_ZFMethodFuncAccessDetail_(MethodNamespace, MethodName \
85 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
86 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
87 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
88 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
89 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
90 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
91 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
92 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
94 (((const ZFMethod * (*)(void (*)( \
95 ParamExpandOrEmpty0(ZFM_EMPTY() ParamType0) \
96 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1) \
97 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2) \
98 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3) \
99 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4) \
100 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5) \
101 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6) \
102 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7) \
103 )))(MethodNamespace::_ZFP_MtdFA_##MethodName))(zfnull))
105#define ZFMethodFuncAccessDetail_0(MethodNamespace, MethodName \
107 _ZFP_ZFMethodFuncAccessDetail(MethodNamespace, MethodName \
108 , _ZFP_ZFMP_DUMMY() \
109 , _ZFP_ZFMP_DUMMY() \
110 , _ZFP_ZFMP_DUMMY() \
111 , _ZFP_ZFMP_DUMMY() \
112 , _ZFP_ZFMP_DUMMY() \
113 , _ZFP_ZFMP_DUMMY() \
114 , _ZFP_ZFMP_DUMMY() \
115 , _ZFP_ZFMP_DUMMY() \
118#define ZFMethodFuncAccessDetail_1(MethodNamespace, MethodName \
121 _ZFP_ZFMethodFuncAccessDetail(MethodNamespace, MethodName \
122 , _ZFP_MtdP_EXPAND(ZFMP_0) \
123 , _ZFP_ZFMP_DUMMY() \
124 , _ZFP_ZFMP_DUMMY() \
125 , _ZFP_ZFMP_DUMMY() \
126 , _ZFP_ZFMP_DUMMY() \
127 , _ZFP_ZFMP_DUMMY() \
128 , _ZFP_ZFMP_DUMMY() \
129 , _ZFP_ZFMP_DUMMY() \
132#define ZFMethodFuncAccessDetail_2(MethodNamespace, MethodName \
136 _ZFP_ZFMethodFuncAccessDetail(MethodNamespace, MethodName \
137 , _ZFP_MtdP_EXPAND(ZFMP_0) \
138 , _ZFP_MtdP_EXPAND(ZFMP_1) \
139 , _ZFP_ZFMP_DUMMY() \
140 , _ZFP_ZFMP_DUMMY() \
141 , _ZFP_ZFMP_DUMMY() \
142 , _ZFP_ZFMP_DUMMY() \
143 , _ZFP_ZFMP_DUMMY() \
144 , _ZFP_ZFMP_DUMMY() \
147#define ZFMethodFuncAccessDetail_3(MethodNamespace, MethodName \
152 _ZFP_ZFMethodFuncAccessDetail(MethodNamespace, MethodName \
153 , _ZFP_MtdP_EXPAND(ZFMP_0) \
154 , _ZFP_MtdP_EXPAND(ZFMP_1) \
155 , _ZFP_MtdP_EXPAND(ZFMP_2) \
156 , _ZFP_ZFMP_DUMMY() \
157 , _ZFP_ZFMP_DUMMY() \
158 , _ZFP_ZFMP_DUMMY() \
159 , _ZFP_ZFMP_DUMMY() \
160 , _ZFP_ZFMP_DUMMY() \
163#define ZFMethodFuncAccessDetail_4(MethodNamespace, MethodName \
169 _ZFP_ZFMethodFuncAccessDetail(MethodNamespace, MethodName \
170 , _ZFP_MtdP_EXPAND(ZFMP_0) \
171 , _ZFP_MtdP_EXPAND(ZFMP_1) \
172 , _ZFP_MtdP_EXPAND(ZFMP_2) \
173 , _ZFP_MtdP_EXPAND(ZFMP_3) \
174 , _ZFP_ZFMP_DUMMY() \
175 , _ZFP_ZFMP_DUMMY() \
176 , _ZFP_ZFMP_DUMMY() \
177 , _ZFP_ZFMP_DUMMY() \
180#define ZFMethodFuncAccessDetail_5(MethodNamespace, MethodName \
187 _ZFP_ZFMethodFuncAccessDetail(MethodNamespace, MethodName \
188 , _ZFP_MtdP_EXPAND(ZFMP_0) \
189 , _ZFP_MtdP_EXPAND(ZFMP_1) \
190 , _ZFP_MtdP_EXPAND(ZFMP_2) \
191 , _ZFP_MtdP_EXPAND(ZFMP_3) \
192 , _ZFP_MtdP_EXPAND(ZFMP_4) \
193 , _ZFP_ZFMP_DUMMY() \
194 , _ZFP_ZFMP_DUMMY() \
195 , _ZFP_ZFMP_DUMMY() \
198#define ZFMethodFuncAccessDetail_6(MethodNamespace, MethodName \
206 _ZFP_ZFMethodFuncAccessDetail(MethodNamespace, MethodName \
207 , _ZFP_MtdP_EXPAND(ZFMP_0) \
208 , _ZFP_MtdP_EXPAND(ZFMP_1) \
209 , _ZFP_MtdP_EXPAND(ZFMP_2) \
210 , _ZFP_MtdP_EXPAND(ZFMP_3) \
211 , _ZFP_MtdP_EXPAND(ZFMP_4) \
212 , _ZFP_MtdP_EXPAND(ZFMP_5) \
213 , _ZFP_ZFMP_DUMMY() \
214 , _ZFP_ZFMP_DUMMY() \
217#define ZFMethodFuncAccessDetail_7(MethodNamespace, MethodName \
226 _ZFP_ZFMethodFuncAccessDetail(MethodNamespace, MethodName \
227 , _ZFP_MtdP_EXPAND(ZFMP_0) \
228 , _ZFP_MtdP_EXPAND(ZFMP_1) \
229 , _ZFP_MtdP_EXPAND(ZFMP_2) \
230 , _ZFP_MtdP_EXPAND(ZFMP_3) \
231 , _ZFP_MtdP_EXPAND(ZFMP_4) \
232 , _ZFP_MtdP_EXPAND(ZFMP_5) \
233 , _ZFP_MtdP_EXPAND(ZFMP_6) \
234 , _ZFP_ZFMP_DUMMY() \
237#define ZFMethodFuncAccessDetail_8(MethodNamespace, MethodName \
247 _ZFP_ZFMethodFuncAccessDetail(MethodNamespace, MethodName \
248 , _ZFP_MtdP_EXPAND(ZFMP_0) \
249 , _ZFP_MtdP_EXPAND(ZFMP_1) \
250 , _ZFP_MtdP_EXPAND(ZFMP_2) \
251 , _ZFP_MtdP_EXPAND(ZFMP_3) \
252 , _ZFP_MtdP_EXPAND(ZFMP_4) \
253 , _ZFP_MtdP_EXPAND(ZFMP_5) \
254 , _ZFP_MtdP_EXPAND(ZFMP_6) \
255 , _ZFP_MtdP_EXPAND(ZFMP_7) \
259#define _ZFP_ZFMethodFuncIsInline isInline
260#define _ZFP_ZFMethodFuncNotInline notInline
262#define _ZFP_ZFMETHOD_FUNC_DECLARE_inlinePrefix_isInline(ZFLIB_) inline
263#define _ZFP_ZFMETHOD_FUNC_DECLARE_inlinePrefix_notInline(ZFLIB_) extern ZFLIB_
264#define _ZFP_ZFMETHOD_FUNC_DECLARE_inlinePrefix(ZFLIB_, isInlineOrNot) _ZFP_ZFMETHOD_FUNC_DECLARE_inlinePrefix_##isInlineOrNot(ZFM_EXPAND(ZFLIB_))
266#define _ZFP_ZFMETHOD_FUNC_DECLARE_inlinePostfix_isInline()
267#define _ZFP_ZFMETHOD_FUNC_DECLARE_inlinePostfix_notInline() ;
268#define _ZFP_ZFMETHOD_FUNC_DECLARE_inlinePostfix(isInlineOrNot) _ZFP_ZFMETHOD_FUNC_DECLARE_inlinePostfix_##isInlineOrNot()
270#define _ZFP_ZFMETHOD_FUNC_DEFINE_inlinePrefix_isInline() inline
271#define _ZFP_ZFMETHOD_FUNC_DEFINE_inlinePrefix_notInline() extern
272#define _ZFP_ZFMETHOD_FUNC_DEFINE_inlinePrefix(isInlineOrNot) _ZFP_ZFMETHOD_FUNC_DEFINE_inlinePrefix_##isInlineOrNot()
274#define _ZFP_ZFMETHOD_FUNC_DEFINE_inlinePostfix_isInline() ;
275#define _ZFP_ZFMETHOD_FUNC_DEFINE_inlinePostfix_notInline()
276#define _ZFP_ZFMETHOD_FUNC_DEFINE_inlinePostfix(isInlineOrNot) _ZFP_ZFMETHOD_FUNC_DEFINE_inlinePostfix_##isInlineOrNot()
279 #define _ZFP_ZFMETHOD_FUNC_NAME(MethodName) MethodName
281 #define _ZFP_ZFMETHOD_FUNC_NAME(MethodName) (MethodName)
285#define _ZFP_ZFMETHOD_FUNC_DECLARE(...) \
286 _ZFP_MtdD_EXPAND(_ZFP_ZFMETHOD_FUNC_DECLARE_(__VA_ARGS__))
287#define _ZFP_ZFMETHOD_FUNC_DECLARE_(ZFLIB_, \
289 ReturnType, MethodName \
290 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
291 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
292 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
293 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
294 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
295 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
296 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
297 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
300 extern ZFLIB_ const ZFMethod *_ZFP_MtdFA_##MethodName(void (*)( \
301 ParamExpandOrEmpty0(ZFM_EMPTY() ParamType0) \
302 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1) \
303 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2) \
304 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3) \
305 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4) \
306 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5) \
307 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6) \
308 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7) \
311 _ZFP_ZFMETHOD_FUNC_DECLARE_inlinePrefix(ZFLIB_, isInlineOrNot) ReturnType _ZFP_ZFMETHOD_FUNC_NAME(MethodName)( \
312 ParamExpandOrEmpty0( ParamType0 param0 DefaultValueFix0()) \
313 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1 param1 DefaultValueFix1()) \
314 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2 param2 DefaultValueFix2()) \
315 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3 param3 DefaultValueFix3()) \
316 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4 param4 DefaultValueFix4()) \
317 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5 param5 DefaultValueFix5()) \
318 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6 param6 DefaultValueFix6()) \
319 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7 param7 DefaultValueFix7()) \
320 ) _ZFP_ZFMETHOD_FUNC_DECLARE_inlinePostfix(isInlineOrNot)
322#define _ZFP_ZFMETHOD_FUNC_DEFINE(...) \
323 _ZFP_MtdD_EXPAND(_ZFP_ZFMETHOD_FUNC_DEFINE_(__VA_ARGS__))
324#define _ZFP_ZFMETHOD_FUNC_DEFINE_( \
325 isInlineOrNot, RegSig, \
326 ReturnType, MethodName \
327 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
328 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
329 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
330 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
331 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
332 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
333 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
334 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
336 _ZFP_ZFMETHOD_FUNC_DEFINE_inlinePrefix(isInlineOrNot) ReturnType _ZFP_ZFMETHOD_FUNC_NAME(MethodName)( \
337 ParamExpandOrEmpty0( ParamType0 param0) \
338 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1 param1) \
339 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2 param2) \
340 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3 param3) \
341 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4 param4) \
342 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5 param5) \
343 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6 param6) \
344 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7 param7) \
346 zfclassNotPOD _ZFP_MtdFH_##MethodName##_##RegSig { \
348 _ZFP_ZFMETHOD_GENERIC_INVOKER_DECLARE( \
350 , ParamExpandOrEmpty0, ParamType0, param0, DefaultExpandOrEmpty0, DefaultValueFix0 \
351 , ParamExpandOrEmpty1, ParamType1, param1, DefaultExpandOrEmpty1, DefaultValueFix1 \
352 , ParamExpandOrEmpty2, ParamType2, param2, DefaultExpandOrEmpty2, DefaultValueFix2 \
353 , ParamExpandOrEmpty3, ParamType3, param3, DefaultExpandOrEmpty3, DefaultValueFix3 \
354 , ParamExpandOrEmpty4, ParamType4, param4, DefaultExpandOrEmpty4, DefaultValueFix4 \
355 , ParamExpandOrEmpty5, ParamType5, param5, DefaultExpandOrEmpty5, DefaultValueFix5 \
356 , ParamExpandOrEmpty6, ParamType6, param6, DefaultExpandOrEmpty6, DefaultValueFix6 \
357 , ParamExpandOrEmpty7, ParamType7, param7, DefaultExpandOrEmpty7, DefaultValueFix7 \
359 static ReturnType methodInvoker( \
360 ZF_IN const ZFMethod *invokerMethod, \
361 ZF_IN zfany const &invokerObject \
362 ParamExpandOrEmpty0(ZFM_COMMA() ParamType0 param0) \
363 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1 param1) \
364 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2 param2) \
365 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3 param3) \
366 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4 param4) \
367 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5 param5) \
368 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6 param6) \
369 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7 param7) \
371 return (MethodName)( \
372 ParamExpandOrEmpty0( param0) \
373 ParamExpandOrEmpty1(ZFM_COMMA() param1) \
374 ParamExpandOrEmpty2(ZFM_COMMA() param2) \
375 ParamExpandOrEmpty3(ZFM_COMMA() param3) \
376 ParamExpandOrEmpty4(ZFM_COMMA() param4) \
377 ParamExpandOrEmpty5(ZFM_COMMA() param5) \
378 ParamExpandOrEmpty6(ZFM_COMMA() param6) \
379 ParamExpandOrEmpty7(ZFM_COMMA() param7) \
383 const ZFMethod *_ZFP_MtdFA_##MethodName(void (*)( \
384 ParamExpandOrEmpty0(ZFM_EMPTY() ParamType0) \
385 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1) \
386 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2) \
387 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3) \
388 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4) \
389 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5) \
390 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6) \
391 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7) \
393 static _ZFP_ZFMethodRegisterHolder _methodHolder(zffalse \
396 , reinterpret_cast<ZFFuncAddrType>(&_ZFP_MtdFH_##MethodName##_##RegSig::methodInvoker) \
397 , _ZFP_ZFMETHOD_GENERIC_INVOKER_ADDR(_ZFP_MtdFH_##MethodName##_##RegSig) \
398 , ZFMethodTypeStatic \
400 , ZFMethodAccessTypePublic \
401 , ZF_NAMESPACE_CURRENT() \
402 , zftext(#MethodName) \
403 , ZFTypeId<zftTraits<ReturnType>::TrNoRef>::TypeId() \
404 , _ZFP_ZFMethodMP() \
405 ParamExpandOrEmpty0(.add( \
406 ZFTypeId<zftTraits<ParamType0>::TrNoRef>::TypeId() \
408 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(_ZFP_MtdFH_##MethodName##_##RegSig, DefaultExpandOrEmpty0, 0) \
410 ParamExpandOrEmpty1(.add( \
411 ZFTypeId<zftTraits<ParamType1>::TrNoRef>::TypeId() \
413 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(_ZFP_MtdFH_##MethodName##_##RegSig, DefaultExpandOrEmpty1, 1) \
415 ParamExpandOrEmpty2(.add( \
416 ZFTypeId<zftTraits<ParamType2>::TrNoRef>::TypeId() \
418 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(_ZFP_MtdFH_##MethodName##_##RegSig, DefaultExpandOrEmpty2, 2) \
420 ParamExpandOrEmpty3(.add( \
421 ZFTypeId<zftTraits<ParamType3>::TrNoRef>::TypeId() \
423 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(_ZFP_MtdFH_##MethodName##_##RegSig, DefaultExpandOrEmpty3, 3) \
425 ParamExpandOrEmpty4(.add( \
426 ZFTypeId<zftTraits<ParamType4>::TrNoRef>::TypeId() \
428 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(_ZFP_MtdFH_##MethodName##_##RegSig, DefaultExpandOrEmpty4, 4) \
430 ParamExpandOrEmpty5(.add( \
431 ZFTypeId<zftTraits<ParamType5>::TrNoRef>::TypeId() \
433 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(_ZFP_MtdFH_##MethodName##_##RegSig, DefaultExpandOrEmpty5, 5) \
435 ParamExpandOrEmpty6(.add( \
436 ZFTypeId<zftTraits<ParamType6>::TrNoRef>::TypeId() \
438 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(_ZFP_MtdFH_##MethodName##_##RegSig, DefaultExpandOrEmpty6, 6) \
440 ParamExpandOrEmpty7(.add( \
441 ZFTypeId<zftTraits<ParamType7>::TrNoRef>::TypeId() \
443 , _ZFP_ZFMETHOD_GENERIC_PARAM_DEFAULT_ACCESS_ADDR(_ZFP_MtdFH_##MethodName##_##RegSig, DefaultExpandOrEmpty7, 7) \
446 return _methodHolder.method; \
448 ZF_STATIC_REGISTER_INIT(MtdFR_##MethodName##_##RegSig) { \
449 (((const ZFMethod * (*)(void (*)( \
450 ParamExpandOrEmpty0(ZFM_EMPTY() ParamType0) \
451 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1) \
452 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2) \
453 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3) \
454 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4) \
455 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5) \
456 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6) \
457 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7) \
458 )))(_ZFP_MtdFA_##MethodName))(zfnull)); \
460 ZF_STATIC_REGISTER_END(MtdFR_##MethodName##_##RegSig) \
461 _ZFP_ZFMETHOD_FUNC_DEFINE_inlinePrefix(isInlineOrNot) ReturnType _ZFP_ZFMETHOD_FUNC_NAME(MethodName)( \
462 ParamExpandOrEmpty0( ParamType0 param0) \
463 ParamExpandOrEmpty1(ZFM_COMMA() ParamType1 param1) \
464 ParamExpandOrEmpty2(ZFM_COMMA() ParamType2 param2) \
465 ParamExpandOrEmpty3(ZFM_COMMA() ParamType3 param3) \
466 ParamExpandOrEmpty4(ZFM_COMMA() ParamType4 param4) \
467 ParamExpandOrEmpty5(ZFM_COMMA() ParamType5 param5) \
468 ParamExpandOrEmpty6(ZFM_COMMA() ParamType6 param6) \
469 ParamExpandOrEmpty7(ZFM_COMMA() ParamType7 param7) \
470 ) _ZFP_ZFMETHOD_FUNC_DEFINE_inlinePostfix(isInlineOrNot)
493#define ZFMETHOD_FUNC_DECLARE_0(ZFLIB_, \
494 ReturnType, MethodName \
496 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
497 _ZFP_ZFMethodFuncNotInline, \
498 ReturnType, MethodName \
499 , _ZFP_ZFMP_DUMMY() \
500 , _ZFP_ZFMP_DUMMY() \
501 , _ZFP_ZFMP_DUMMY() \
502 , _ZFP_ZFMP_DUMMY() \
503 , _ZFP_ZFMP_DUMMY() \
504 , _ZFP_ZFMP_DUMMY() \
505 , _ZFP_ZFMP_DUMMY() \
506 , _ZFP_ZFMP_DUMMY() \
509#define ZFMETHOD_FUNC_DECLARE_DETAIL_0(ZFLIB_, \
510 ReturnType, MethodName \
512 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
513 _ZFP_ZFMethodFuncNotInline, \
514 ReturnType, MethodName \
515 , _ZFP_ZFMP_DUMMY() \
516 , _ZFP_ZFMP_DUMMY() \
517 , _ZFP_ZFMP_DUMMY() \
518 , _ZFP_ZFMP_DUMMY() \
519 , _ZFP_ZFMP_DUMMY() \
520 , _ZFP_ZFMP_DUMMY() \
521 , _ZFP_ZFMP_DUMMY() \
522 , _ZFP_ZFMP_DUMMY() \
525#define ZFMETHOD_FUNC_DEFINE_0( \
526 ReturnType, MethodName \
528 _ZFP_ZFMETHOD_FUNC_DEFINE( \
529 _ZFP_ZFMethodFuncNotInline, ZF_CALLER_LINE, \
530 ReturnType, MethodName \
531 , _ZFP_ZFMP_DUMMY() \
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 , _ZFP_ZFMP_DUMMY() \
541#define ZFMETHOD_FUNC_DEFINE_DETAIL_0(RegSig, \
542 ReturnType, MethodName \
544 _ZFP_ZFMETHOD_FUNC_DEFINE( \
545 _ZFP_ZFMethodFuncNotInline, RegSig, \
546 ReturnType, MethodName \
547 , _ZFP_ZFMP_DUMMY() \
548 , _ZFP_ZFMP_DUMMY() \
549 , _ZFP_ZFMP_DUMMY() \
550 , _ZFP_ZFMP_DUMMY() \
551 , _ZFP_ZFMP_DUMMY() \
552 , _ZFP_ZFMP_DUMMY() \
553 , _ZFP_ZFMP_DUMMY() \
554 , _ZFP_ZFMP_DUMMY() \
557#define ZFMETHOD_FUNC_INLINE_DECLARE_0(ZFLIB_, \
558 ReturnType, MethodName \
560 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
561 _ZFP_ZFMethodFuncIsInline, \
562 ReturnType, MethodName \
563 , _ZFP_ZFMP_DUMMY() \
564 , _ZFP_ZFMP_DUMMY() \
565 , _ZFP_ZFMP_DUMMY() \
566 , _ZFP_ZFMP_DUMMY() \
567 , _ZFP_ZFMP_DUMMY() \
568 , _ZFP_ZFMP_DUMMY() \
569 , _ZFP_ZFMP_DUMMY() \
570 , _ZFP_ZFMP_DUMMY() \
573#define ZFMETHOD_FUNC_INLINE_DECLARE_DETAIL_0(ZFLIB_, RegSig, \
574 ReturnType, MethodName \
576 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
577 _ZFP_ZFMethodFuncIsInline, \
578 ReturnType, MethodName \
579 , _ZFP_ZFMP_DUMMY() \
580 , _ZFP_ZFMP_DUMMY() \
581 , _ZFP_ZFMP_DUMMY() \
582 , _ZFP_ZFMP_DUMMY() \
583 , _ZFP_ZFMP_DUMMY() \
584 , _ZFP_ZFMP_DUMMY() \
585 , _ZFP_ZFMP_DUMMY() \
586 , _ZFP_ZFMP_DUMMY() \
589#define ZFMETHOD_FUNC_INLINE_DEFINE_0( \
590 ReturnType, MethodName \
592 _ZFP_ZFMETHOD_FUNC_DEFINE( \
593 _ZFP_ZFMethodFuncIsInline, ZF_CALLER_LINE, \
594 ReturnType, MethodName \
595 , _ZFP_ZFMP_DUMMY() \
596 , _ZFP_ZFMP_DUMMY() \
597 , _ZFP_ZFMP_DUMMY() \
598 , _ZFP_ZFMP_DUMMY() \
599 , _ZFP_ZFMP_DUMMY() \
600 , _ZFP_ZFMP_DUMMY() \
601 , _ZFP_ZFMP_DUMMY() \
602 , _ZFP_ZFMP_DUMMY() \
605#define ZFMETHOD_FUNC_INLINE_DEFINE_DETAIL_0(RegSig, \
606 ReturnType, MethodName \
608 _ZFP_ZFMETHOD_FUNC_DEFINE( \
609 _ZFP_ZFMethodFuncIsInline, RegSig, \
610 ReturnType, MethodName \
611 , _ZFP_ZFMP_DUMMY() \
612 , _ZFP_ZFMP_DUMMY() \
613 , _ZFP_ZFMP_DUMMY() \
614 , _ZFP_ZFMP_DUMMY() \
615 , _ZFP_ZFMP_DUMMY() \
616 , _ZFP_ZFMP_DUMMY() \
617 , _ZFP_ZFMP_DUMMY() \
618 , _ZFP_ZFMP_DUMMY() \
624#define ZFMETHOD_FUNC_DECLARE_1(ZFLIB_, \
625 ReturnType, MethodName \
628 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
629 _ZFP_ZFMethodFuncNotInline, \
630 ReturnType, MethodName \
631 , _ZFP_MtdP_EXPAND(ZFMP_0) \
632 , _ZFP_ZFMP_DUMMY() \
633 , _ZFP_ZFMP_DUMMY() \
634 , _ZFP_ZFMP_DUMMY() \
635 , _ZFP_ZFMP_DUMMY() \
636 , _ZFP_ZFMP_DUMMY() \
637 , _ZFP_ZFMP_DUMMY() \
638 , _ZFP_ZFMP_DUMMY() \
641#define ZFMETHOD_FUNC_DECLARE_DETAIL_1(ZFLIB_, \
642 ReturnType, MethodName \
645 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
646 _ZFP_ZFMethodFuncNotInline, \
647 ReturnType, MethodName \
648 , _ZFP_MtdP_EXPAND(ZFMP_0) \
649 , _ZFP_ZFMP_DUMMY() \
650 , _ZFP_ZFMP_DUMMY() \
651 , _ZFP_ZFMP_DUMMY() \
652 , _ZFP_ZFMP_DUMMY() \
653 , _ZFP_ZFMP_DUMMY() \
654 , _ZFP_ZFMP_DUMMY() \
655 , _ZFP_ZFMP_DUMMY() \
658#define ZFMETHOD_FUNC_DEFINE_1( \
659 ReturnType, MethodName \
662 _ZFP_ZFMETHOD_FUNC_DEFINE( \
663 _ZFP_ZFMethodFuncNotInline, ZF_CALLER_LINE, \
664 ReturnType, MethodName \
665 , _ZFP_MtdP_EXPAND(ZFMP_0) \
666 , _ZFP_ZFMP_DUMMY() \
667 , _ZFP_ZFMP_DUMMY() \
668 , _ZFP_ZFMP_DUMMY() \
669 , _ZFP_ZFMP_DUMMY() \
670 , _ZFP_ZFMP_DUMMY() \
671 , _ZFP_ZFMP_DUMMY() \
672 , _ZFP_ZFMP_DUMMY() \
675#define ZFMETHOD_FUNC_DEFINE_DETAIL_1(RegSig, \
676 ReturnType, MethodName \
679 _ZFP_ZFMETHOD_FUNC_DEFINE( \
680 _ZFP_ZFMethodFuncNotInline, RegSig, \
681 ReturnType, MethodName \
682 , _ZFP_MtdP_EXPAND(ZFMP_0) \
683 , _ZFP_ZFMP_DUMMY() \
684 , _ZFP_ZFMP_DUMMY() \
685 , _ZFP_ZFMP_DUMMY() \
686 , _ZFP_ZFMP_DUMMY() \
687 , _ZFP_ZFMP_DUMMY() \
688 , _ZFP_ZFMP_DUMMY() \
689 , _ZFP_ZFMP_DUMMY() \
692#define ZFMETHOD_FUNC_INLINE_DECLARE_1(ZFLIB_, \
693 ReturnType, MethodName \
696 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
697 _ZFP_ZFMethodFuncIsInline, \
698 ReturnType, MethodName \
699 , _ZFP_MtdP_EXPAND(ZFMP_0) \
700 , _ZFP_ZFMP_DUMMY() \
701 , _ZFP_ZFMP_DUMMY() \
702 , _ZFP_ZFMP_DUMMY() \
703 , _ZFP_ZFMP_DUMMY() \
704 , _ZFP_ZFMP_DUMMY() \
705 , _ZFP_ZFMP_DUMMY() \
706 , _ZFP_ZFMP_DUMMY() \
709#define ZFMETHOD_FUNC_INLINE_DECLARE_DETAIL_1(ZFLIB_, RegSig, \
710 ReturnType, MethodName \
713 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
714 _ZFP_ZFMethodFuncIsInline, \
715 ReturnType, MethodName \
716 , _ZFP_MtdP_EXPAND(ZFMP_0) \
717 , _ZFP_ZFMP_DUMMY() \
718 , _ZFP_ZFMP_DUMMY() \
719 , _ZFP_ZFMP_DUMMY() \
720 , _ZFP_ZFMP_DUMMY() \
721 , _ZFP_ZFMP_DUMMY() \
722 , _ZFP_ZFMP_DUMMY() \
723 , _ZFP_ZFMP_DUMMY() \
726#define ZFMETHOD_FUNC_INLINE_DEFINE_1( \
727 ReturnType, MethodName \
730 _ZFP_ZFMETHOD_FUNC_DEFINE( \
731 _ZFP_ZFMethodFuncIsInline, ZF_CALLER_LINE, \
732 ReturnType, MethodName \
733 , _ZFP_MtdP_EXPAND(ZFMP_0) \
734 , _ZFP_ZFMP_DUMMY() \
735 , _ZFP_ZFMP_DUMMY() \
736 , _ZFP_ZFMP_DUMMY() \
737 , _ZFP_ZFMP_DUMMY() \
738 , _ZFP_ZFMP_DUMMY() \
739 , _ZFP_ZFMP_DUMMY() \
740 , _ZFP_ZFMP_DUMMY() \
743#define ZFMETHOD_FUNC_INLINE_DEFINE_DETAIL_1(RegSig, \
744 ReturnType, MethodName \
747 _ZFP_ZFMETHOD_FUNC_DEFINE( \
748 _ZFP_ZFMethodFuncIsInline, RegSig, \
749 ReturnType, MethodName \
750 , _ZFP_MtdP_EXPAND(ZFMP_0) \
751 , _ZFP_ZFMP_DUMMY() \
752 , _ZFP_ZFMP_DUMMY() \
753 , _ZFP_ZFMP_DUMMY() \
754 , _ZFP_ZFMP_DUMMY() \
755 , _ZFP_ZFMP_DUMMY() \
756 , _ZFP_ZFMP_DUMMY() \
757 , _ZFP_ZFMP_DUMMY() \
763#define ZFMETHOD_FUNC_DECLARE_2(ZFLIB_, \
764 ReturnType, MethodName \
768 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
769 _ZFP_ZFMethodFuncNotInline, \
770 ReturnType, MethodName \
771 , _ZFP_MtdP_EXPAND(ZFMP_0) \
772 , _ZFP_MtdP_EXPAND(ZFMP_1) \
773 , _ZFP_ZFMP_DUMMY() \
774 , _ZFP_ZFMP_DUMMY() \
775 , _ZFP_ZFMP_DUMMY() \
776 , _ZFP_ZFMP_DUMMY() \
777 , _ZFP_ZFMP_DUMMY() \
778 , _ZFP_ZFMP_DUMMY() \
781#define ZFMETHOD_FUNC_DECLARE_DETAIL_2(ZFLIB_, \
782 ReturnType, MethodName \
786 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
787 _ZFP_ZFMethodFuncNotInline, \
788 ReturnType, MethodName \
789 , _ZFP_MtdP_EXPAND(ZFMP_0) \
790 , _ZFP_MtdP_EXPAND(ZFMP_1) \
791 , _ZFP_ZFMP_DUMMY() \
792 , _ZFP_ZFMP_DUMMY() \
793 , _ZFP_ZFMP_DUMMY() \
794 , _ZFP_ZFMP_DUMMY() \
795 , _ZFP_ZFMP_DUMMY() \
796 , _ZFP_ZFMP_DUMMY() \
799#define ZFMETHOD_FUNC_DEFINE_2( \
800 ReturnType, MethodName \
804 _ZFP_ZFMETHOD_FUNC_DEFINE( \
805 _ZFP_ZFMethodFuncNotInline, ZF_CALLER_LINE, \
806 ReturnType, MethodName \
807 , _ZFP_MtdP_EXPAND(ZFMP_0) \
808 , _ZFP_MtdP_EXPAND(ZFMP_1) \
809 , _ZFP_ZFMP_DUMMY() \
810 , _ZFP_ZFMP_DUMMY() \
811 , _ZFP_ZFMP_DUMMY() \
812 , _ZFP_ZFMP_DUMMY() \
813 , _ZFP_ZFMP_DUMMY() \
814 , _ZFP_ZFMP_DUMMY() \
817#define ZFMETHOD_FUNC_DEFINE_DETAIL_2(RegSig, \
818 ReturnType, MethodName \
822 _ZFP_ZFMETHOD_FUNC_DEFINE( \
823 _ZFP_ZFMethodFuncNotInline, RegSig, \
824 ReturnType, MethodName \
825 , _ZFP_MtdP_EXPAND(ZFMP_0) \
826 , _ZFP_MtdP_EXPAND(ZFMP_1) \
827 , _ZFP_ZFMP_DUMMY() \
828 , _ZFP_ZFMP_DUMMY() \
829 , _ZFP_ZFMP_DUMMY() \
830 , _ZFP_ZFMP_DUMMY() \
831 , _ZFP_ZFMP_DUMMY() \
832 , _ZFP_ZFMP_DUMMY() \
835#define ZFMETHOD_FUNC_INLINE_DECLARE_2(ZFLIB_, \
836 ReturnType, MethodName \
840 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
841 _ZFP_ZFMethodFuncIsInline, \
842 ReturnType, MethodName \
843 , _ZFP_MtdP_EXPAND(ZFMP_0) \
844 , _ZFP_MtdP_EXPAND(ZFMP_1) \
845 , _ZFP_ZFMP_DUMMY() \
846 , _ZFP_ZFMP_DUMMY() \
847 , _ZFP_ZFMP_DUMMY() \
848 , _ZFP_ZFMP_DUMMY() \
849 , _ZFP_ZFMP_DUMMY() \
850 , _ZFP_ZFMP_DUMMY() \
853#define ZFMETHOD_FUNC_INLINE_DECLARE_DETAIL_2(ZFLIB_, RegSig, \
854 ReturnType, MethodName \
858 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
859 _ZFP_ZFMethodFuncIsInline, \
860 ReturnType, MethodName \
861 , _ZFP_MtdP_EXPAND(ZFMP_0) \
862 , _ZFP_MtdP_EXPAND(ZFMP_1) \
863 , _ZFP_ZFMP_DUMMY() \
864 , _ZFP_ZFMP_DUMMY() \
865 , _ZFP_ZFMP_DUMMY() \
866 , _ZFP_ZFMP_DUMMY() \
867 , _ZFP_ZFMP_DUMMY() \
868 , _ZFP_ZFMP_DUMMY() \
871#define ZFMETHOD_FUNC_INLINE_DEFINE_2( \
872 ReturnType, MethodName \
876 _ZFP_ZFMETHOD_FUNC_DEFINE( \
877 _ZFP_ZFMethodFuncIsInline, ZF_CALLER_LINE, \
878 ReturnType, MethodName \
879 , _ZFP_MtdP_EXPAND(ZFMP_0) \
880 , _ZFP_MtdP_EXPAND(ZFMP_1) \
881 , _ZFP_ZFMP_DUMMY() \
882 , _ZFP_ZFMP_DUMMY() \
883 , _ZFP_ZFMP_DUMMY() \
884 , _ZFP_ZFMP_DUMMY() \
885 , _ZFP_ZFMP_DUMMY() \
886 , _ZFP_ZFMP_DUMMY() \
889#define ZFMETHOD_FUNC_INLINE_DEFINE_DETAIL_2(RegSig, \
890 ReturnType, MethodName \
894 _ZFP_ZFMETHOD_FUNC_DEFINE( \
895 _ZFP_ZFMethodFuncIsInline, RegSig, \
896 ReturnType, MethodName \
897 , _ZFP_MtdP_EXPAND(ZFMP_0) \
898 , _ZFP_MtdP_EXPAND(ZFMP_1) \
899 , _ZFP_ZFMP_DUMMY() \
900 , _ZFP_ZFMP_DUMMY() \
901 , _ZFP_ZFMP_DUMMY() \
902 , _ZFP_ZFMP_DUMMY() \
903 , _ZFP_ZFMP_DUMMY() \
904 , _ZFP_ZFMP_DUMMY() \
910#define ZFMETHOD_FUNC_DECLARE_3(ZFLIB_, \
911 ReturnType, MethodName \
916 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
917 _ZFP_ZFMethodFuncNotInline, \
918 ReturnType, MethodName \
919 , _ZFP_MtdP_EXPAND(ZFMP_0) \
920 , _ZFP_MtdP_EXPAND(ZFMP_1) \
921 , _ZFP_MtdP_EXPAND(ZFMP_2) \
922 , _ZFP_ZFMP_DUMMY() \
923 , _ZFP_ZFMP_DUMMY() \
924 , _ZFP_ZFMP_DUMMY() \
925 , _ZFP_ZFMP_DUMMY() \
926 , _ZFP_ZFMP_DUMMY() \
929#define ZFMETHOD_FUNC_DECLARE_DETAIL_3(ZFLIB_, \
930 ReturnType, MethodName \
935 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
936 _ZFP_ZFMethodFuncNotInline, \
937 ReturnType, MethodName \
938 , _ZFP_MtdP_EXPAND(ZFMP_0) \
939 , _ZFP_MtdP_EXPAND(ZFMP_1) \
940 , _ZFP_MtdP_EXPAND(ZFMP_2) \
941 , _ZFP_ZFMP_DUMMY() \
942 , _ZFP_ZFMP_DUMMY() \
943 , _ZFP_ZFMP_DUMMY() \
944 , _ZFP_ZFMP_DUMMY() \
945 , _ZFP_ZFMP_DUMMY() \
948#define ZFMETHOD_FUNC_DEFINE_3( \
949 ReturnType, MethodName \
954 _ZFP_ZFMETHOD_FUNC_DEFINE( \
955 _ZFP_ZFMethodFuncNotInline, ZF_CALLER_LINE, \
956 ReturnType, MethodName \
957 , _ZFP_MtdP_EXPAND(ZFMP_0) \
958 , _ZFP_MtdP_EXPAND(ZFMP_1) \
959 , _ZFP_MtdP_EXPAND(ZFMP_2) \
960 , _ZFP_ZFMP_DUMMY() \
961 , _ZFP_ZFMP_DUMMY() \
962 , _ZFP_ZFMP_DUMMY() \
963 , _ZFP_ZFMP_DUMMY() \
964 , _ZFP_ZFMP_DUMMY() \
967#define ZFMETHOD_FUNC_DEFINE_DETAIL_3(RegSig, \
968 ReturnType, MethodName \
973 _ZFP_ZFMETHOD_FUNC_DEFINE( \
974 _ZFP_ZFMethodFuncNotInline, RegSig, \
975 ReturnType, MethodName \
976 , _ZFP_MtdP_EXPAND(ZFMP_0) \
977 , _ZFP_MtdP_EXPAND(ZFMP_1) \
978 , _ZFP_MtdP_EXPAND(ZFMP_2) \
979 , _ZFP_ZFMP_DUMMY() \
980 , _ZFP_ZFMP_DUMMY() \
981 , _ZFP_ZFMP_DUMMY() \
982 , _ZFP_ZFMP_DUMMY() \
983 , _ZFP_ZFMP_DUMMY() \
986#define ZFMETHOD_FUNC_INLINE_DECLARE_3(ZFLIB_, \
987 ReturnType, MethodName \
992 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
993 _ZFP_ZFMethodFuncIsInline, \
994 ReturnType, MethodName \
995 , _ZFP_MtdP_EXPAND(ZFMP_0) \
996 , _ZFP_MtdP_EXPAND(ZFMP_1) \
997 , _ZFP_MtdP_EXPAND(ZFMP_2) \
998 , _ZFP_ZFMP_DUMMY() \
999 , _ZFP_ZFMP_DUMMY() \
1000 , _ZFP_ZFMP_DUMMY() \
1001 , _ZFP_ZFMP_DUMMY() \
1002 , _ZFP_ZFMP_DUMMY() \
1005#define ZFMETHOD_FUNC_INLINE_DECLARE_DETAIL_3(ZFLIB_, RegSig, \
1006 ReturnType, MethodName \
1011 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1012 _ZFP_ZFMethodFuncIsInline, \
1013 ReturnType, MethodName \
1014 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1015 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1016 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1017 , _ZFP_ZFMP_DUMMY() \
1018 , _ZFP_ZFMP_DUMMY() \
1019 , _ZFP_ZFMP_DUMMY() \
1020 , _ZFP_ZFMP_DUMMY() \
1021 , _ZFP_ZFMP_DUMMY() \
1024#define ZFMETHOD_FUNC_INLINE_DEFINE_3( \
1025 ReturnType, MethodName \
1030 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1031 _ZFP_ZFMethodFuncIsInline, ZF_CALLER_LINE, \
1032 ReturnType, MethodName \
1033 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1034 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1035 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1036 , _ZFP_ZFMP_DUMMY() \
1037 , _ZFP_ZFMP_DUMMY() \
1038 , _ZFP_ZFMP_DUMMY() \
1039 , _ZFP_ZFMP_DUMMY() \
1040 , _ZFP_ZFMP_DUMMY() \
1043#define ZFMETHOD_FUNC_INLINE_DEFINE_DETAIL_3(RegSig, \
1044 ReturnType, MethodName \
1049 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1050 _ZFP_ZFMethodFuncIsInline, RegSig, \
1051 ReturnType, MethodName \
1052 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1053 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1054 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1055 , _ZFP_ZFMP_DUMMY() \
1056 , _ZFP_ZFMP_DUMMY() \
1057 , _ZFP_ZFMP_DUMMY() \
1058 , _ZFP_ZFMP_DUMMY() \
1059 , _ZFP_ZFMP_DUMMY() \
1065#define ZFMETHOD_FUNC_DECLARE_4(ZFLIB_, \
1066 ReturnType, MethodName \
1072 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1073 _ZFP_ZFMethodFuncNotInline, \
1074 ReturnType, MethodName \
1075 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1076 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1077 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1078 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1079 , _ZFP_ZFMP_DUMMY() \
1080 , _ZFP_ZFMP_DUMMY() \
1081 , _ZFP_ZFMP_DUMMY() \
1082 , _ZFP_ZFMP_DUMMY() \
1085#define ZFMETHOD_FUNC_DECLARE_DETAIL_4(ZFLIB_, \
1086 ReturnType, MethodName \
1092 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1093 _ZFP_ZFMethodFuncNotInline, \
1094 ReturnType, MethodName \
1095 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1096 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1097 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1098 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1099 , _ZFP_ZFMP_DUMMY() \
1100 , _ZFP_ZFMP_DUMMY() \
1101 , _ZFP_ZFMP_DUMMY() \
1102 , _ZFP_ZFMP_DUMMY() \
1105#define ZFMETHOD_FUNC_DEFINE_4( \
1106 ReturnType, MethodName \
1112 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1113 _ZFP_ZFMethodFuncNotInline, ZF_CALLER_LINE, \
1114 ReturnType, MethodName \
1115 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1116 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1117 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1118 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1119 , _ZFP_ZFMP_DUMMY() \
1120 , _ZFP_ZFMP_DUMMY() \
1121 , _ZFP_ZFMP_DUMMY() \
1122 , _ZFP_ZFMP_DUMMY() \
1125#define ZFMETHOD_FUNC_DEFINE_DETAIL_4(RegSig, \
1126 ReturnType, MethodName \
1132 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1133 _ZFP_ZFMethodFuncNotInline, RegSig, \
1134 ReturnType, MethodName \
1135 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1136 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1137 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1138 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1139 , _ZFP_ZFMP_DUMMY() \
1140 , _ZFP_ZFMP_DUMMY() \
1141 , _ZFP_ZFMP_DUMMY() \
1142 , _ZFP_ZFMP_DUMMY() \
1145#define ZFMETHOD_FUNC_INLINE_DECLARE_4(ZFLIB_, \
1146 ReturnType, MethodName \
1152 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1153 _ZFP_ZFMethodFuncIsInline, \
1154 ReturnType, MethodName \
1155 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1156 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1157 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1158 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1159 , _ZFP_ZFMP_DUMMY() \
1160 , _ZFP_ZFMP_DUMMY() \
1161 , _ZFP_ZFMP_DUMMY() \
1162 , _ZFP_ZFMP_DUMMY() \
1165#define ZFMETHOD_FUNC_INLINE_DECLARE_DETAIL_4(ZFLIB_, RegSig, \
1166 ReturnType, MethodName \
1172 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1173 _ZFP_ZFMethodFuncIsInline, \
1174 ReturnType, MethodName \
1175 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1176 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1177 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1178 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1179 , _ZFP_ZFMP_DUMMY() \
1180 , _ZFP_ZFMP_DUMMY() \
1181 , _ZFP_ZFMP_DUMMY() \
1182 , _ZFP_ZFMP_DUMMY() \
1185#define ZFMETHOD_FUNC_INLINE_DEFINE_4( \
1186 ReturnType, MethodName \
1192 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1193 _ZFP_ZFMethodFuncIsInline, ZF_CALLER_LINE, \
1194 ReturnType, MethodName \
1195 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1196 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1197 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1198 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1199 , _ZFP_ZFMP_DUMMY() \
1200 , _ZFP_ZFMP_DUMMY() \
1201 , _ZFP_ZFMP_DUMMY() \
1202 , _ZFP_ZFMP_DUMMY() \
1205#define ZFMETHOD_FUNC_INLINE_DEFINE_DETAIL_4(RegSig, \
1206 ReturnType, MethodName \
1212 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1213 _ZFP_ZFMethodFuncIsInline, RegSig, \
1214 ReturnType, MethodName \
1215 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1216 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1217 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1218 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1219 , _ZFP_ZFMP_DUMMY() \
1220 , _ZFP_ZFMP_DUMMY() \
1221 , _ZFP_ZFMP_DUMMY() \
1222 , _ZFP_ZFMP_DUMMY() \
1228#define ZFMETHOD_FUNC_DECLARE_5(ZFLIB_, \
1229 ReturnType, MethodName \
1236 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1237 _ZFP_ZFMethodFuncNotInline, \
1238 ReturnType, MethodName \
1239 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1240 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1241 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1242 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1243 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1244 , _ZFP_ZFMP_DUMMY() \
1245 , _ZFP_ZFMP_DUMMY() \
1246 , _ZFP_ZFMP_DUMMY() \
1249#define ZFMETHOD_FUNC_DECLARE_DETAIL_5(ZFLIB_, \
1250 ReturnType, MethodName \
1257 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1258 _ZFP_ZFMethodFuncNotInline, \
1259 ReturnType, MethodName \
1260 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1261 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1262 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1263 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1264 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1265 , _ZFP_ZFMP_DUMMY() \
1266 , _ZFP_ZFMP_DUMMY() \
1267 , _ZFP_ZFMP_DUMMY() \
1270#define ZFMETHOD_FUNC_DEFINE_5( \
1271 ReturnType, MethodName \
1278 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1279 _ZFP_ZFMethodFuncNotInline, ZF_CALLER_LINE, \
1280 ReturnType, MethodName \
1281 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1282 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1283 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1284 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1285 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1286 , _ZFP_ZFMP_DUMMY() \
1287 , _ZFP_ZFMP_DUMMY() \
1288 , _ZFP_ZFMP_DUMMY() \
1291#define ZFMETHOD_FUNC_DEFINE_DETAIL_5(RegSig, \
1292 ReturnType, MethodName \
1299 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1300 _ZFP_ZFMethodFuncNotInline, RegSig, \
1301 ReturnType, MethodName \
1302 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1303 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1304 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1305 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1306 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1307 , _ZFP_ZFMP_DUMMY() \
1308 , _ZFP_ZFMP_DUMMY() \
1309 , _ZFP_ZFMP_DUMMY() \
1312#define ZFMETHOD_FUNC_INLINE_DECLARE_5(ZFLIB_, \
1313 ReturnType, MethodName \
1320 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1321 _ZFP_ZFMethodFuncIsInline, \
1322 ReturnType, MethodName \
1323 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1324 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1325 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1326 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1327 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1328 , _ZFP_ZFMP_DUMMY() \
1329 , _ZFP_ZFMP_DUMMY() \
1330 , _ZFP_ZFMP_DUMMY() \
1333#define ZFMETHOD_FUNC_INLINE_DECLARE_DETAIL_5(ZFLIB_, RegSig, \
1334 ReturnType, MethodName \
1341 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1342 _ZFP_ZFMethodFuncIsInline, \
1343 ReturnType, MethodName \
1344 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1345 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1346 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1347 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1348 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1349 , _ZFP_ZFMP_DUMMY() \
1350 , _ZFP_ZFMP_DUMMY() \
1351 , _ZFP_ZFMP_DUMMY() \
1354#define ZFMETHOD_FUNC_INLINE_DEFINE_5( \
1355 ReturnType, MethodName \
1362 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1363 _ZFP_ZFMethodFuncIsInline, ZF_CALLER_LINE, \
1364 ReturnType, MethodName \
1365 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1366 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1367 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1368 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1369 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1370 , _ZFP_ZFMP_DUMMY() \
1371 , _ZFP_ZFMP_DUMMY() \
1372 , _ZFP_ZFMP_DUMMY() \
1375#define ZFMETHOD_FUNC_INLINE_DEFINE_DETAIL_5(RegSig, \
1376 ReturnType, MethodName \
1383 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1384 _ZFP_ZFMethodFuncIsInline, RegSig, \
1385 ReturnType, MethodName \
1386 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1387 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1388 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1389 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1390 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1391 , _ZFP_ZFMP_DUMMY() \
1392 , _ZFP_ZFMP_DUMMY() \
1393 , _ZFP_ZFMP_DUMMY() \
1399#define ZFMETHOD_FUNC_DECLARE_6(ZFLIB_, \
1400 ReturnType, MethodName \
1408 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1409 _ZFP_ZFMethodFuncNotInline, \
1410 ReturnType, MethodName \
1411 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1412 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1413 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1414 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1415 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1416 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1417 , _ZFP_ZFMP_DUMMY() \
1418 , _ZFP_ZFMP_DUMMY() \
1421#define ZFMETHOD_FUNC_DECLARE_DETAIL_6(ZFLIB_, \
1422 ReturnType, MethodName \
1430 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1431 _ZFP_ZFMethodFuncNotInline, \
1432 ReturnType, MethodName \
1433 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1434 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1435 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1436 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1437 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1438 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1439 , _ZFP_ZFMP_DUMMY() \
1440 , _ZFP_ZFMP_DUMMY() \
1443#define ZFMETHOD_FUNC_DEFINE_6( \
1444 ReturnType, MethodName \
1452 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1453 _ZFP_ZFMethodFuncNotInline, ZF_CALLER_LINE, \
1454 ReturnType, MethodName \
1455 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1456 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1457 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1458 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1459 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1460 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1461 , _ZFP_ZFMP_DUMMY() \
1462 , _ZFP_ZFMP_DUMMY() \
1465#define ZFMETHOD_FUNC_DEFINE_DETAIL_6(RegSig, \
1466 ReturnType, MethodName \
1474 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1475 _ZFP_ZFMethodFuncNotInline, RegSig, \
1476 ReturnType, MethodName \
1477 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1478 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1479 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1480 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1481 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1482 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1483 , _ZFP_ZFMP_DUMMY() \
1484 , _ZFP_ZFMP_DUMMY() \
1487#define ZFMETHOD_FUNC_INLINE_DECLARE_6(ZFLIB_, \
1488 ReturnType, MethodName \
1496 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1497 _ZFP_ZFMethodFuncIsInline, \
1498 ReturnType, MethodName \
1499 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1500 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1501 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1502 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1503 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1504 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1505 , _ZFP_ZFMP_DUMMY() \
1506 , _ZFP_ZFMP_DUMMY() \
1509#define ZFMETHOD_FUNC_INLINE_DECLARE_DETAIL_6(ZFLIB_, RegSig, \
1510 ReturnType, MethodName \
1518 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1519 _ZFP_ZFMethodFuncIsInline, \
1520 ReturnType, MethodName \
1521 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1522 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1523 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1524 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1525 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1526 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1527 , _ZFP_ZFMP_DUMMY() \
1528 , _ZFP_ZFMP_DUMMY() \
1531#define ZFMETHOD_FUNC_INLINE_DEFINE_6( \
1532 ReturnType, MethodName \
1540 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1541 _ZFP_ZFMethodFuncIsInline, ZF_CALLER_LINE, \
1542 ReturnType, MethodName \
1543 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1544 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1545 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1546 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1547 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1548 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1549 , _ZFP_ZFMP_DUMMY() \
1550 , _ZFP_ZFMP_DUMMY() \
1553#define ZFMETHOD_FUNC_INLINE_DEFINE_DETAIL_6(RegSig, \
1554 ReturnType, MethodName \
1562 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1563 _ZFP_ZFMethodFuncIsInline, RegSig, \
1564 ReturnType, MethodName \
1565 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1566 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1567 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1568 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1569 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1570 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1571 , _ZFP_ZFMP_DUMMY() \
1572 , _ZFP_ZFMP_DUMMY() \
1578#define ZFMETHOD_FUNC_DECLARE_7(ZFLIB_, \
1579 ReturnType, MethodName \
1588 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1589 _ZFP_ZFMethodFuncNotInline, \
1590 ReturnType, MethodName \
1591 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1592 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1593 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1594 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1595 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1596 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1597 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1598 , _ZFP_ZFMP_DUMMY() \
1601#define ZFMETHOD_FUNC_DECLARE_DETAIL_7(ZFLIB_, \
1602 ReturnType, MethodName \
1611 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1612 _ZFP_ZFMethodFuncNotInline, \
1613 ReturnType, MethodName \
1614 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1615 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1616 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1617 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1618 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1619 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1620 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1621 , _ZFP_ZFMP_DUMMY() \
1624#define ZFMETHOD_FUNC_DEFINE_7( \
1625 ReturnType, MethodName \
1634 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1635 _ZFP_ZFMethodFuncNotInline, ZF_CALLER_LINE, \
1636 ReturnType, MethodName \
1637 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1638 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1639 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1640 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1641 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1642 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1643 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1644 , _ZFP_ZFMP_DUMMY() \
1647#define ZFMETHOD_FUNC_DEFINE_DETAIL_7(RegSig, \
1648 ReturnType, MethodName \
1657 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1658 _ZFP_ZFMethodFuncNotInline, RegSig, \
1659 ReturnType, MethodName \
1660 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1661 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1662 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1663 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1664 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1665 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1666 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1667 , _ZFP_ZFMP_DUMMY() \
1670#define ZFMETHOD_FUNC_INLINE_DECLARE_7(ZFLIB_, \
1671 ReturnType, MethodName \
1680 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1681 _ZFP_ZFMethodFuncIsInline, \
1682 ReturnType, MethodName \
1683 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1684 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1685 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1686 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1687 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1688 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1689 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1690 , _ZFP_ZFMP_DUMMY() \
1693#define ZFMETHOD_FUNC_INLINE_DECLARE_DETAIL_7(ZFLIB_, RegSig, \
1694 ReturnType, MethodName \
1703 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1704 _ZFP_ZFMethodFuncIsInline, \
1705 ReturnType, MethodName \
1706 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1707 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1708 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1709 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1710 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1711 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1712 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1713 , _ZFP_ZFMP_DUMMY() \
1716#define ZFMETHOD_FUNC_INLINE_DEFINE_7( \
1717 ReturnType, MethodName \
1726 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1727 _ZFP_ZFMethodFuncIsInline, ZF_CALLER_LINE, \
1728 ReturnType, MethodName \
1729 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1730 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1731 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1732 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1733 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1734 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1735 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1736 , _ZFP_ZFMP_DUMMY() \
1739#define ZFMETHOD_FUNC_INLINE_DEFINE_DETAIL_7(RegSig, \
1740 ReturnType, MethodName \
1749 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1750 _ZFP_ZFMethodFuncIsInline, RegSig, \
1751 ReturnType, MethodName \
1752 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1753 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1754 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1755 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1756 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1757 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1758 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1759 , _ZFP_ZFMP_DUMMY() \
1765#define ZFMETHOD_FUNC_DECLARE_8(ZFLIB_, \
1766 ReturnType, MethodName \
1776 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1777 _ZFP_ZFMethodFuncNotInline, \
1778 ReturnType, MethodName \
1779 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1780 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1781 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1782 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1783 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1784 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1785 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1786 , _ZFP_MtdP_EXPAND(ZFMP_7) \
1789#define ZFMETHOD_FUNC_DECLARE_DETAIL_8(ZFLIB_, \
1790 ReturnType, MethodName \
1800 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1801 _ZFP_ZFMethodFuncNotInline, \
1802 ReturnType, MethodName \
1803 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1804 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1805 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1806 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1807 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1808 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1809 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1810 , _ZFP_MtdP_EXPAND(ZFMP_7) \
1813#define ZFMETHOD_FUNC_DEFINE_8( \
1814 ReturnType, MethodName \
1824 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1825 _ZFP_ZFMethodFuncNotInline, ZF_CALLER_LINE, \
1826 ReturnType, MethodName \
1827 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1828 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1829 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1830 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1831 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1832 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1833 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1834 , _ZFP_MtdP_EXPAND(ZFMP_7) \
1837#define ZFMETHOD_FUNC_DEFINE_DETAIL_8(RegSig, \
1838 ReturnType, MethodName \
1848 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1849 _ZFP_ZFMethodFuncNotInline, RegSig, \
1850 ReturnType, MethodName \
1851 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1852 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1853 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1854 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1855 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1856 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1857 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1858 , _ZFP_MtdP_EXPAND(ZFMP_7) \
1861#define ZFMETHOD_FUNC_INLINE_DECLARE_8(ZFLIB_, \
1862 ReturnType, MethodName \
1872 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1873 _ZFP_ZFMethodFuncIsInline, \
1874 ReturnType, MethodName \
1875 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1876 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1877 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1878 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1879 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1880 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1881 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1882 , _ZFP_MtdP_EXPAND(ZFMP_7) \
1885#define ZFMETHOD_FUNC_INLINE_DECLARE_DETAIL_8(ZFLIB_, RegSig, \
1886 ReturnType, MethodName \
1896 _ZFP_ZFMETHOD_FUNC_DECLARE(ZFLIB_, \
1897 _ZFP_ZFMethodFuncIsInline, \
1898 ReturnType, MethodName \
1899 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1900 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1901 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1902 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1903 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1904 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1905 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1906 , _ZFP_MtdP_EXPAND(ZFMP_7) \
1909#define ZFMETHOD_FUNC_INLINE_DEFINE_8( \
1910 ReturnType, MethodName \
1920 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1921 _ZFP_ZFMethodFuncIsInline, ZF_CALLER_LINE, \
1922 ReturnType, MethodName \
1923 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1924 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1925 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1926 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1927 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1928 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1929 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1930 , _ZFP_MtdP_EXPAND(ZFMP_7) \
1933#define ZFMETHOD_FUNC_INLINE_DEFINE_DETAIL_8(RegSig, \
1934 ReturnType, MethodName \
1944 _ZFP_ZFMETHOD_FUNC_DEFINE( \
1945 _ZFP_ZFMethodFuncIsInline, RegSig, \
1946 ReturnType, MethodName \
1947 , _ZFP_MtdP_EXPAND(ZFMP_0) \
1948 , _ZFP_MtdP_EXPAND(ZFMP_1) \
1949 , _ZFP_MtdP_EXPAND(ZFMP_2) \
1950 , _ZFP_MtdP_EXPAND(ZFMP_3) \
1951 , _ZFP_MtdP_EXPAND(ZFMP_4) \
1952 , _ZFP_MtdP_EXPAND(ZFMP_5) \
1953 , _ZFP_MtdP_EXPAND(ZFMP_6) \
1954 , _ZFP_MtdP_EXPAND(ZFMP_7) \
#define ZFLIB_ZFCore
used to export symbols
Definition ZFCoreEnvDef.h:30
_ZFT_t_zfchar zfchar
char wrapper
Definition ZFCoreTypeDef_CharType.h:17
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:180
#define ZF_IN_OPT
dummy macro that shows the param used as optional input
Definition ZFCoreTypeDef_ClassType.h:184
#define ZF_IN_OUT
dummy macro that shows the param used as required input and output
Definition ZFCoreTypeDef_ClassType.h:196
#define zfnull
same as NULL, defined for future use
Definition ZFCoreTypeDef_CoreType.h:88
zft_zfstring< zfchar > zfstring
see zft_zfstring
Definition ZFCoreTypeDef_StringType.h:15
reflectable method definination for ZFFramework
ZFCoreArray< const ZFMethod * > ZFMethodFuncForNameGetAll(const zfstring &methodNamespace, const zfstring &methodName)
see ZFMethodFuncForName
Definition ZFMethodFuncDeclare.h:53
void ZFMethodFuncGetAllT(ZFCoreArray< const ZFMethod * > &ret)
see ZFMethodFuncGetAll
void ZFMethodFuncForNameGetAllT(ZFCoreArray< const ZFMethod * > &ret, const zfstring &methodNamespace, const zfstring &methodName)
see ZFMethodFuncForName
ZFCoreArray< const ZFMethod * > ZFMethodFuncGetAll(void)
get all function type method currently registered, for debug use only
Definition ZFMethodFuncDeclare.h:67
const ZFMethod * ZFMethodFuncForName(const zfstring &methodNamespace, const zfstring &methodName)
get function type method for name
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98
light weight array
Definition ZFCoreArray.h:331
reflectable method for ZFObject
Definition ZFMethod.h:252