libsigc++: sigc::slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil > Class Template Reference

libsigc++ 2.12.2

Public Types | Public Member Functions | List of all members
sigc::slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil > Class Template Reference

Convenience wrapper for the numbered sigc::slot2 template. More...

`#include <sigc++/functors/slot.h>`

Inheritance diagram for sigc::slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil >:
[legend]

## Public Types
typedef slot2< T_return, T_arg1, T_arg2 > | parent_type
Public Types inherited from sigc::slot7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
typedef type_trait_take_t< T_arg1 > | arg1_type_
typedef type_trait_take_t< T_arg2 > | arg2_type_
typedef type_trait_take_t< T_arg3 > | arg3_type_
typedef type_trait_take_t< T_arg4 > | arg4_type_
typedef type_trait_take_t< T_arg5 > | arg5_type_
typedef type_trait_take_t< T_arg6 > | arg6_type_
typedef type_trait_take_t< T_arg7 > | arg7_type_
typedef T_return | result_type
Public Types inherited from sigc::slot_base
typedef trackable::func_destroy_notify | func_destroy_notify
Public Types inherited from sigc::slot2< T_return, T_arg1, T_arg2 >
typedef type_trait_take_t< T_arg1 > | arg1_type_
typedef type_trait_take_t< T_arg2 > | arg2_type_
typedef T_return | result_type

## Public Member Functions
| slot ()
| slot (const slot & src)
| Constructs a slot, copying an existing one.
template<class T_functor>
| slot (const T_functor & _A_func)
| Constructs a slot from an arbitrary functor.
| slot (slot && src)
| Constructs a slot, moving an existing one.
slot & | operator= (const slot & src)
| Overrides this slot, making a copy from another slot.
slot & | operator= (slot && src)
| Overrides this slot, making a move from another slot.
Public Member Functions inherited from sigc::slot7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
| slot7 ()
| slot7 (const slot7 & src)
| Constructs a slot, copying an existing one.
template<class T_functor>
| slot7 (const T_functor & _A_func)
| Constructs a slot from an arbitrary functor.
| slot7 (slot7 && src)
| Constructs a slot, moving an existing one.
T_return | operator() (arg1_type_ _A_a1, arg2_type_ _A_a2, arg3_type_ _A_a3, arg4_type_ _A_a4, arg5_type_ _A_a5, arg6_type_ _A_a6, arg7_type_ _A_a7) const
| Invoke the contained functor unless slot is in blocking state.
slot7 & | operator= (const slot7 & src)
| Overrides this slot, making a copy from another slot.
slot7 & | operator= (slot7 && src)
| Overrides this slot, making a move from another slot.
Public Member Functions inherited from sigc::slot_base
| slot_base () noexcept
| Constructs an empty slot.
| slot_base (const slot_base & src)
| Constructs a slot, copying an existing one.
| slot_base (rep_type * rep) noexcept
| Constructs a slot from an existing slot_rep object.
| slot_base (slot_base && src)
| Constructs a slot, moving an existing one.
| ~slot_base ()
void | add_destroy_notify_callback (void * data, func_destroy_notify func) const
| Add a callback that is executed (notified) when the slot is detroyed.
bool | block (bool should_block=true) noexcept
| Sets the blocking state.
bool | blocked () const noexcept
| Returns whether the slot is blocked.
void | disconnect ()
| Disconnects the slot.
bool | empty () const noexcept
| Returns whether the slot is invalid.
| operator bool () const noexcept
| Tests whether a slot is null, because the default constructor was used.
slot_base & | operator= (const slot_base & src)
| Overrides this slot, making a copy from another slot.
slot_base & | operator= (slot_base && src)
| Overrides this slot, making a move from another slot.
void | remove_destroy_notify_callback (void * data) const
| Remove a callback previously installed with add_destroy_notify_callback().
void | set_parent (void * parent, void *(* cleanup)(void *)) const noexcept
| Sets the parent of this slot.
bool | unblock () noexcept
| Unsets the blocking state.
Public Member Functions inherited from sigc::slot2< T_return, T_arg1, T_arg2 >
| slot2 ()
| slot2 (const slot2 & src)
| Constructs a slot, copying an existing one.
template<class T_functor>
| slot2 (const T_functor & _A_func)
| Constructs a slot from an arbitrary functor.
| slot2 (slot2 && src)
| Constructs a slot, moving an existing one.
T_return | operator() (arg1_type_ _A_a1, arg2_type_ _A_a2) const
| Invoke the contained functor unless slot is in blocking state.
slot2 & | operator= (const slot2 & src)
| Overrides this slot, making a copy from another slot.
slot2 & | operator= (slot2 && src)
| Overrides this slot, making a move from another slot.

## Additional Inherited Members
Public Attributes inherited from sigc::slot_base
bool | blocked_
| Indicates whether the slot is blocked.
rep_type * | rep_
| Typed slot_rep object that contains a functor.

## Detailed Description

template <class T_return, class T_arg1, class T_arg2>
class sigc::slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil >

Convenience wrapper for the numbered sigc::slot2 template.

See the base class for useful methods. This is the template specialization of the unnumbered sigc::slot template for 2 argument(s), specialized for different numbers of arguments This is possible because the template has default (nil) template types.

Deprecated
  Please use the syntax similar to that used by std::function<>:

sigc::slot<void(bool, int)> some_slot;
sigc::slot
Convenience wrapper for the numbered sigc::slot# templates.
Definition slot.h:1685

## Member Typedef Documentation

## ◆ parent_type

template <class T_return, class T_arg1, class T_arg2>

typedef slot2<T_return, T_arg1, T_arg2> sigc::slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil >::parent_type

## Constructor & Destructor Documentation

## ◆ slot() [1/4]

template <class T_return, class T_arg1, class T_arg2>

sigc::slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil >::slot | ( |  | ) |
| inline

## ◆ slot() [2/4]

template <class T_return, class T_arg1, class T_arg2>
template <class T_functor>

sigc::slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil >::slot | ( | const T_functor & | _A_func | ) |
| inline

Constructs a slot from an arbitrary functor.

Parameters

  _A_func | The desired functor the new slot should be assigned to.

## ◆ slot() [3/4]

template <class T_return, class T_arg1, class T_arg2>

sigc::slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil >::slot | ( | const slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil > & | src | ) |
| inline

Constructs a slot, copying an existing one.

Parameters

  src | The existing slot to copy.

## ◆ slot() [4/4]

template <class T_return, class T_arg1, class T_arg2>

sigc::slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil >::slot | ( | slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil > && | src | ) |
| inline

Constructs a slot, moving an existing one.

If `src` is connected to a parent (e.g. a signal), it is copied, not moved.

Parameters

  src | The existing slot to move or copy.

## Member Function Documentation

## ◆ operator=() [1/2]

template <class T_return, class T_arg1, class T_arg2>

slot & sigc::slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil >::operator= | ( | const slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil > & | src | ) |
| inline

Overrides this slot, making a copy from another slot.

Parameters

  src | The slot from which to make a copy.

Returns
  `this`.

## ◆ operator=() [2/2]

template <class T_return, class T_arg1, class T_arg2>

slot & sigc::slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil >::operator= | ( | slot< T_return, T_arg1, T_arg2, nil, nil, nil, nil, nil > && | src | ) |
| inline

Overrides this slot, making a move from another slot.

If `src` is connected to a parent (e.g. a signal), it is copied, not moved.

Parameters

  src | The slot from which to move or copy.

Returns
  `this`.