Struct Signal

Multiple listeners; implicitly specified return and parameter types

struct Signal(T1)
  
if (is(T1 == interface) && (__traits(allMembers, T1).length == 1));
struct Signal(RETURN_T, T1...);

Constructors

NameDescription
this (v)

Fields

NameTypeDescription
_listeners Collection!slot_t

Methods

NameDescription
assigned () returns true if listener is assigned
clear () disconnect all listeners
connect (listener) add listener
connect (listener) add listener - as interface member
disconnect (listener) remove listener
disconnect (listener) add listener - as interface member
emit (params) call all listeners; for signals having non-void return type, stop iterating when first return value is nonzero
opAssign (listener) replace all previously assigned listeners with new one (if null passed, remove all listeners)
opCall (params) call all listeners; for signals having non-void return type, stop iterating when first return value is nonzero
opOpAssign (listener) Provides ~= syntax for connecting to this Signal

Aliases

NameDescription
params_t
return_t
slot_t

Fields

NameTypeDescription
_listeners Collection!slot_t

Methods

NameDescription
assigned () returns true if listener is assigned
clear () disconnect all listeners
connect (listener) add listener
disconnect (listener) remove listener
emit (params) call all listeners; for signals having non-void return type, stop iterating when first return value is nonzero
opAssign (listener) replace all previously assigned listeners with new one (if null passed, remove all listeners)
opCall (params) call all listeners; for signals having non-void return type, stop iterating when first return value is nonzero
opOpAssign (listener) Provides ~= syntax for connecting to this Signal

Aliases

NameDescription
slot_t