12.4. C#-like multicast delegate type macro¶
C#-like multicast delegate (multicast callback) via type macro. Generates a struct that holds a list of handlers (lambdas or function pointers) which are all invoked when the delegate is called.
12.4.1. Structures¶
- DelegateReturn¶
struct DelegateReturn
- DelegateReturn.clone(lmb: DelegateLambda): auto¶
def DelegateReturn.clone
- Arguments:
lmb : DelegateLambda
- DelegateReturn.clone(fn: DelegateFunction): auto
def DelegateReturn.clone
- Arguments:
fn : DelegateFunction
- DelegateReturn.(lmb: DelegateLambda): auto¶
def DelegateReturn.
- Arguments:
lmb : DelegateLambda
- DelegateReturn.(fn: DelegateFunction): auto
def DelegateReturn.
- Arguments:
fn : DelegateFunction
- DelegateReturn.each(): auto¶
def DelegateReturn.each
- DelegateReturn(): DelegateReturn
def DelegateReturn () : DelegateReturn
- DelegateReturn(lmb: DelegateLambda): DelegateReturn
def DelegateReturn (var lmb: DelegateLambda) : DelegateReturn
- Arguments:
lmb : DelegateLambda
- DelegateReturn(fn: DelegateFunction): DelegateReturn
def DelegateReturn (var fn: DelegateFunction) : DelegateReturn
- Arguments:
fn : DelegateFunction
- DelegateVoid¶
struct DelegateVoid
- DelegateVoid.clone(lmb: DelegateLambda): auto¶
def DelegateVoid.clone
- Arguments:
lmb : DelegateLambda
- DelegateVoid.clone(fn: DelegateFunction): auto
def DelegateVoid.clone
- Arguments:
fn : DelegateFunction
- DelegateVoid.(lmb: DelegateLambda): auto¶
def DelegateVoid.
- Arguments:
lmb : DelegateLambda
- DelegateVoid.(fn: DelegateFunction): auto
def DelegateVoid.
- Arguments:
fn : DelegateFunction
- DelegateVoid.each(): auto¶
def DelegateVoid.each
- DelegateVoid(): DelegateVoid
def DelegateVoid () : DelegateVoid
- DelegateVoid(lmb: DelegateLambda): DelegateVoid
def DelegateVoid (var lmb: DelegateLambda) : DelegateVoid
- Arguments:
lmb : DelegateLambda
- DelegateVoid(fn: DelegateFunction): DelegateVoid
def DelegateVoid (var fn: DelegateFunction) : DelegateVoid
- Arguments:
fn : DelegateFunction
12.4.2. Delegate type macro¶
- delegate(macroArgument: TypeDeclPtr; passArgument: TypeDeclPtr; FuncType: TypeDeclPtr): TypeDeclPtr¶
Type macro that generates a delegate struct from a function or lambda type.
- Arguments:
macroArgument : TypeDeclPtr
passArgument : TypeDeclPtr
FuncType : TypeDeclPtr