ZFFramework
 
Loading...
Searching...
No Matches
ZFCallback_lambda.h File Reference

header for ZFCallback More...

#include "ZFCallback.h"

Go to the source code of this file.

Macros

#define ZFLAMBDA_END()
 see ZFLAMBDA
 
#define ZFLAMBDA(name, ReturnType, ...)
 create a callback that simulate lambda function, which can capture params outside of scope
 
#define ZFLAMBDA_0(name, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_1(name, CaptureParam0, capture0, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_2(name, CaptureParam0, capture0, CaptureParam1, capture1, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_3(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_4(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_5(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_6(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_7(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_8(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_9(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_10(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_11(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_12(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_13(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_14(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_15(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_16(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_17(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_18(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, CaptureParam17, capture17, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_19(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, CaptureParam17, capture17, CaptureParam18, capture18, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_20(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, CaptureParam17, capture17, CaptureParam18, capture18, CaptureParam19, capture19, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_21(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, CaptureParam17, capture17, CaptureParam18, capture18, CaptureParam19, capture19, CaptureParam20, capture20, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_22(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, CaptureParam17, capture17, CaptureParam18, capture18, CaptureParam19, capture19, CaptureParam20, capture20, CaptureParam21, capture21, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_23(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, CaptureParam17, capture17, CaptureParam18, capture18, CaptureParam19, capture19, CaptureParam20, capture20, CaptureParam21, capture21, CaptureParam22, capture22, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_24(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, CaptureParam17, capture17, CaptureParam18, capture18, CaptureParam19, capture19, CaptureParam20, capture20, CaptureParam21, capture21, CaptureParam22, capture22, CaptureParam23, capture23, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_25(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, CaptureParam17, capture17, CaptureParam18, capture18, CaptureParam19, capture19, CaptureParam20, capture20, CaptureParam21, capture21, CaptureParam22, capture22, CaptureParam23, capture23, CaptureParam24, capture24, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_26(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, CaptureParam17, capture17, CaptureParam18, capture18, CaptureParam19, capture19, CaptureParam20, capture20, CaptureParam21, capture21, CaptureParam22, capture22, CaptureParam23, capture23, CaptureParam24, capture24, CaptureParam25, capture25, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_27(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, CaptureParam17, capture17, CaptureParam18, capture18, CaptureParam19, capture19, CaptureParam20, capture20, CaptureParam21, capture21, CaptureParam22, capture22, CaptureParam23, capture23, CaptureParam24, capture24, CaptureParam25, capture25, CaptureParam26, capture26, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_28(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, CaptureParam17, capture17, CaptureParam18, capture18, CaptureParam19, capture19, CaptureParam20, capture20, CaptureParam21, capture21, CaptureParam22, capture22, CaptureParam23, capture23, CaptureParam24, capture24, CaptureParam25, capture25, CaptureParam26, capture26, CaptureParam27, capture27, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_29(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, CaptureParam17, capture17, CaptureParam18, capture18, CaptureParam19, capture19, CaptureParam20, capture20, CaptureParam21, capture21, CaptureParam22, capture22, CaptureParam23, capture23, CaptureParam24, capture24, CaptureParam25, capture25, CaptureParam26, capture26, CaptureParam27, capture27, CaptureParam28, capture28, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_30(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, CaptureParam17, capture17, CaptureParam18, capture18, CaptureParam19, capture19, CaptureParam20, capture20, CaptureParam21, capture21, CaptureParam22, capture22, CaptureParam23, capture23, CaptureParam24, capture24, CaptureParam25, capture25, CaptureParam26, capture26, CaptureParam27, capture27, CaptureParam28, capture28, CaptureParam29, capture29, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_31(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, CaptureParam17, capture17, CaptureParam18, capture18, CaptureParam19, capture19, CaptureParam20, capture20, CaptureParam21, capture21, CaptureParam22, capture22, CaptureParam23, capture23, CaptureParam24, capture24, CaptureParam25, capture25, CaptureParam26, capture26, CaptureParam27, capture27, CaptureParam28, capture28, CaptureParam29, capture29, CaptureParam30, capture30, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_32(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, CaptureParam8, capture8, CaptureParam9, capture9, CaptureParam10, capture10, CaptureParam11, capture11, CaptureParam12, capture12, CaptureParam13, capture13, CaptureParam14, capture14, CaptureParam15, capture15, CaptureParam16, capture16, CaptureParam17, capture17, CaptureParam18, capture18, CaptureParam19, capture19, CaptureParam20, capture20, CaptureParam21, capture21, CaptureParam22, capture22, CaptureParam23, capture23, CaptureParam24, capture24, CaptureParam25, capture25, CaptureParam26, capture26, CaptureParam27, capture27, CaptureParam28, capture28, CaptureParam29, capture29, CaptureParam30, capture30, CaptureParam31, capture31, ReturnType, ...)
 see ZFLAMBDA
 

Detailed Description

header for ZFCallback

Macro Definition Documentation

◆ ZFLAMBDA

#define ZFLAMBDA ( name,
ReturnType,
... )

create a callback that simulate lambda function, which can capture params outside of scope

usage:

CaptureParam0 capture0;
CaptureParam1 capture1;
CaptureParam2 capture2;
ZFLAMBDA_3(myCallback
, CaptureParam0, capture0
, CaptureParam1 &, capture1
, CaptureParam2 const &, capture2
, ReturnType
, ZFMP_IN(ParamType0, param0)
, ZFMP_IN_OPT(ParamType1, param1, zfnull)
) {
capture1 = param1;
ZFLogTrim() << capture0 << " " << capture1 << " " << capture2;
myCallback.executeExact<ReturnType, ParamType0, ParamType1>(p0, p1);
#define ZFLAMBDA_3(name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, ReturnType,...)
see ZFLAMBDA
Definition ZFCallback_lambda.h:123
#define ZFLAMBDA_END()
see ZFLAMBDA
Definition ZFCallback_lambda.h:16
#define zfnull
same as NULL, defined for future use
Definition ZFCoreTypeDef_CoreType.h:88
#define ZFLogTrim(...)
see ZFLog
Definition ZFLog.h:80
#define ZFMP_IN_OPT(ParamType, paramName, DefaultValue)
see ZFMP_IN
Definition ZFMethod.h:108
#define ZFMP_IN(ParamType, paramName)
macro to wrap param types for ZFMETHOD_INLINE_0 series
Definition ZFMethod.h:105