Closed leoetlino closed 4 years ago
IDelegateR<T>
IDelegateR<bool>
AnyDelegateR<bool>::UnbindDummy
LambdaDelegateR<bool>
IDelegate
virtual void invoke()
virtual IDelegate* clone(Heap*) const
void operator()()
IDelegate2<A1, A2>
virtual void invoke(A1, A2)
virtual auto clone(Heap*) const
void operator()(A1, A2)
IDelegate1
R variants (e.g. IDelegate2R) take an extra template argument (at the end) for the return type.
DelegateBase<Class, PTMF, BaseClass>
DelegateBase<FaderTaskBase,void (FaderTaskBase::*)(void),IDelegate>
Delegate2<Class, A1, A2>
DelegateBase<Class, void (Class:*)(A1, A2), IDelegate2<A1, A2>
void invoke(A1, A2) override
Delegate2<...> clone() const override
Delegate1R?
AnyDelegate1(Const) is constructible from Delegate1. And possibly more? LambdaDelegate1?
The design for this system is kind of bonkers.
digraph { IDelegate -> DelegateBase DelegateBase -> Delegate DelegateBase -> Delegate1 DelegateBase -> Delegate2RFunc IDelegate1 -> Delegate1 IDelegate1 -> DelegateBase IDelegate2 -> Delegate2 IDelegate2 -> DelegateBase IDelegate1R IDelegate2R -> DelegateBase IFunction -> LambdaFunction AnyFunction IDelegate -> AnyDelegate IDelegate1 -> "AnyDelegate1?" IDelegate2 -> AnyDelegate2 IDelegate1R -> "AnyDelegate1R?" IDelegate2R -> "AnyDelegate2R?" IDelegate2R -> LambdaDelegate2R "IDelegateR<bool>" -> "AnyDelegateR<bool>::UnbindDummy" "IDelegateR<bool>" -> "LambdaDelegateR<bool>" }
Implemented DelegateFunc.
IDelegateR<T>
(e.g.IDelegateR<bool>
)AnyDelegateR<bool>::UnbindDummy
(dummy invoke, dummy clone)LambdaDelegateR<bool>
(for lambda functions?)DelegateBase and derived classes
(is this the same as Delegate2R?)IDelegates
IDelegate
(non templated)virtual void invoke()
(pure virtual) ?virtual IDelegate* clone(Heap*) const
(returns nullptr)void operator()()
?IDelegate2<A1, A2>
virtual void invoke(A1, A2)
virtual auto clone(Heap*) const
void operator()(A1, A2)
IDelegate1
R variants (e.g. IDelegate2R) take an extra template argument (at the end) for the return type.
DelegateBase
DelegateBase<Class, PTMF, BaseClass>
(example:DelegateBase<FaderTaskBase,void (FaderTaskBase::*)(void),IDelegate>
)Delegates
Delegate2<Class, A1, A2>
:DelegateBase<Class, void (Class:*)(A1, A2), IDelegate2<A1, A2>
void invoke(A1, A2) override
Delegate2<...> clone() const override
Delegate1R?
AnyDelegates
AnyDelegate1(Const) is constructible from Delegate1. And possibly more? LambdaDelegate1?
The design for this system is kind of bonkers.