#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. | |
| 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 Symbols | |
(Note that these are not member symbols.) | |
| 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 ConstMethodSlot< R, ClassT, As >, DelegateSlot< R, As >, FunctionSlot< R, As >, LambdaSlot< L, R, A >, LambdaSlot< C, R, As... >, MethodSlot< R, ClassT, As >, and SignalSlot< As >.