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