RestrictedSignal.disconnect

Disconnect an indirect connection.

For this to work properly, dg has to be exactly the same as the one passed to connect. So if you used a lamda you have to keep a reference to it somewhere if you want to disconnect the connection later on. If you want to remove all connections to a particular object, use the overload which only takes an object parameter.

  1. void disconnect(ClassType obj)
  2. void disconnect(ClassType obj, void delegate(ClassType, T1) dg)
    struct RestrictedSignal(Args...)
    void
    disconnect
    @trusted
    (
    ClassType
    )
    (
    ClassType obj
    ,
    void delegate(
    ClassType
    ,
    T1
    )
    dg
    )
    if (
    is(ClassType == class)
    )
    in { assert (obj); assert (dg); }
  3. void disconnect(ClassType obj)
  4. void disconnect(void function(Args) fn)

Meta