class instance_name ## _class \
{ \
public: \
GATE_LAMBDA_GET_TYPE cap1 & GATE_LAMBDA_GET_VAR cap1 ; \
GATE_LAMBDA_GET_TYPE cap2 & GATE_LAMBDA_GET_VAR cap2 ; \
GATE_LAMBDA_GET_TYPE cap3 & GATE_LAMBDA_GET_VAR cap3 ; \
instance_name ## _class ( GATE_LAMBDA_GET_TYPE cap1 & arg1, \
GATE_LAMBDA_GET_TYPE cap2 & arg2, \
GATE_LAMBDA_GET_TYPE cap3 & arg3) \
: GATE_LAMBDA_GET_VAR cap1 (arg1), \
GATE_LAMBDA_GET_VAR cap2 (arg2), \
GATE_LAMBDA_GET_VAR cap3 (arg3) \
{} \
return_type operator() arguments code \
}; \
instance_name ## _class instance_name ( GATE_LAMBDA_GET_VAR cap1, \
GATE_LAMBDA_GET_VAR cap2, \
GATE_LAMBDA_GET_VAR cap3)