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