#include <Pt/Slot.h>
Base type for various "slot" types.
Inherits Slot.
Public Member Functions | |
| virtual Slot * | clone () const =0 |
| Clone this object with new. | |
| virtual const Callback * | callable () const =0 |
| Returns the callable converted to the type-erased Callback interface. More... | |
| virtual void | onConnect (const Connection &c)=0 |
| Notifies of connects. | |
| virtual void | onDisconnect (const Connection &c)=0 |
| Notifies of disconnects. | |
| virtual bool | equals (const Slot &slot) const =0 |
| Returns true if two slots are equal in value. | |
Related Functions | |
| template<typename R , typename BaseT , typename ClassT , typename... As> | |
| ConstMethodSlot< R, ClassT, As... > | slot (ClassT &object, R(BaseT::*method)(As...) const) |
| Returns a slot object for the given object/member pair. | |
| template<typename R , typename... As> | |
| DelegateSlot< R, As... > | slot (Delegate< R, As... > &delegate) |
| Returns a slot object for the given delegate. | |
| template<typename R , typename... As> | |
| FunctionSlot< R, As... > | slot (R(*function)(As...)) |
| Returns a slot object for the given free/static function. | |
| template<typename L , typename SlotT = typename LambdaSlotTraits<L>::Slot> | |
| SlotT | slot (L &&lambda) |
| Returns a deduced slot object for the given lambda. | |
| template<typename L , typename SlotT = typename LambdaSlotTraits<L>::Slot> | |
| SlotT | slot (Connectable &context, L &&lambda) |
| Returns a deduced slot object for the given lambda. | |
| template<typename R , typename... A, typename T , typename L = typename TypeTraits<T>::Value> | |
| LambdaSlot< L, R, A... > | slot (T &&lambda) |
| Returns a slot object for the given lambda. | |
| template<typename R , typename... A, typename T , typename L = typename TypeTraits<T>::Value> | |
| LambdaSlot< L, R, A... > | slot (Connectable &context, T &&lambda) |
| Returns a slot object for the given lambda. | |
| template<typename R , typename BaseT , typename ClassT , typename... As> | |
| MethodSlot< R, ClassT, As... > | slot (ClassT &object, R(BaseT::*method)(As...)) |
| Returns a slot object for the given object/member pair. | |
| template<typename... As> | |
| SignalSlot< As... > | slot (Signal< As... > &signal) |
| Returns a slot object for the given signal. | |
|
pure virtualinherited |
The concrete slot returns its stored callable converted to Callback via a derived-to-base conversion. Callers downcast the result to Callable<R, As...> or Invokable<As...> to invoke it.
Implemented in SignalSlot< As >, MethodSlot< R, ClassT, As >, LambdaSlot< L, R, A >, FunctionSlot< R, As >, DelegateSlot< R, As >, and ConstMethodSlot< R, ClassT, As >.