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(T_ZFCallback, name, ReturnType, ...)
 create a callback that simulate lambda function, which can capture params outside of scope
 
#define ZFLAMBDA_0(T_ZFCallback, name, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_1(T_ZFCallback, name, CaptureParam0, capture0, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_2(T_ZFCallback, name, CaptureParam0, capture0, CaptureParam1, capture1, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_3(T_ZFCallback, name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_4(T_ZFCallback, name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_5(T_ZFCallback, name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_6(T_ZFCallback, name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_7(T_ZFCallback, name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_8(T_ZFCallback, name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, CaptureParam3, capture3, CaptureParam4, capture4, CaptureParam5, capture5, CaptureParam6, capture6, CaptureParam7, capture7, ReturnType, ...)
 see ZFLAMBDA
 
#define ZFLAMBDA_9(T_ZFCallback, 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(T_ZFCallback, 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(T_ZFCallback, 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(T_ZFCallback, 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(T_ZFCallback, 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(T_ZFCallback, 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(T_ZFCallback, 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(T_ZFCallback, 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
 

Detailed Description

header for ZFCallback

Macro Definition Documentation

◆ ZFLAMBDA

#define ZFLAMBDA ( T_ZFCallback,
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(T_ZFCallback, 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(T_ZFCallback, name, CaptureParam0, capture0, CaptureParam1, capture1, CaptureParam2, capture2, ReturnType,...)
see ZFLAMBDA
Definition ZFCallback_lambda.h:139
#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:79
#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