LambdaSlot< L, R, A > Class Template Reference

#include <Pt/Lambda.h>

Adapts a Lambda for use as a slot. More...

Inherits BasicSlot< R, A... >.

Public Member Functions

template<typename T>
 LambdaSlot (T &&lambda, Connectable *context=0)
 Constructs from a lambda and optional lifetime context.
virtual const Callback * callable () const
 Returns the callable converted to the type-erased Callback interface.
Slotclone () const
 Clone this object with new.
virtual void onConnect (const Connection &connection)
 Notifies of connects.
virtual void onDisconnect (const Connection &connection)
 Notifies of disconnects.
virtual bool equals (const Slot &) const
 Returns true if two slots are equal in value.

(Note that these are not member symbols.)

ConstMethodSlot< R, ClassT, As... > slot (ClassT &object, R(BaseT::*method)(As...) const)
 Returns a slot object for the given object/member pair.
DelegateSlot< R, As... > slot (Delegate< R, As... > &delegate)
 Returns a slot object for the given delegate.
FunctionSlot< R, As... > slot (R(*function)(As...))
 Returns a slot object for the given free/static function.
SlotT slot (L &&lambda)
 Returns a deduced slot object for the given lambda.
SlotT slot (Connectable &context, L &&lambda)
 Returns a deduced slot object for the given lambda.
LambdaSlot< L, R, A... > slot (T &&lambda)
 Returns a slot object for the given lambda.
LambdaSlot< L, R, A... > slot (Connectable &context, T &&lambda)
 Returns a slot object for the given lambda.
MethodSlot< R, ClassT, As... > slot (ClassT &object, R(BaseT::*method)(As...))
 Returns a slot object for the given object/member pair.
SignalSlot< As... > slot (Signal< As... > &signal)
 Returns a slot object for the given signal.

Detailed Description

template<typename L, typename R, typename... A>
class Pt::LambdaSlot< L, R, A >

Lambda slots cannot be compared because captured lambda values have no general equality operation. Retain and close the returned Connection to disconnect a slot, or bind it to a Connectable context.

Member Function Documentation

◆ callable()

template<typename L, typename R, typename... A>
virtual const Callback * callable ( ) const
virtual

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.

Implements Slot.