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

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

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: