libsigc++ 2.3.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | List of all members
sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 > Class Template Reference
Slots

Convenience wrapper for the numbered sigc::slot# templates. More...

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

Inheritance diagram for sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >:
[legend]

## Public Types
typedef slot7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 > | 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 T_return | result_type
typedef type_trait< T_arg1 >::take | arg1_type_
typedef type_trait< T_arg2 >::take | arg2_type_
typedef type_trait< T_arg3 >::take | arg3_type_
typedef type_trait< T_arg4 >::take | arg4_type_
typedef type_trait< T_arg5 >::take | arg5_type_
typedef type_trait< T_arg6 >::take | arg6_type_
typedef type_trait< T_arg7 >::take | arg7_type_
Public Types inherited from sigc::slot_base
typedef trackable::func_destroy_notify | func_destroy_notify

## Public Member Functions
template<class T_functor >
| slot (const T_functor& _A_func)
| Constructs a slot from an arbitrary functor.
| slot (const slot& src)
Public Member Functions inherited from sigc::slot7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
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.
template<class T_functor >
| slot7 (const T_functor& _A_func)
| Constructs a slot from an arbitrary functor.
| slot7 (const slot7& src)
slot7& | operator= (const slot7& src)
| Overrides this slot making a copy from another slot.
Public Member Functions inherited from sigc::slot_base
| slot_base ()
| Constructs an empty slot.
| slot_base (rep_type* rep)
| Constructs a slot from an existing slot_rep object.
| slot_base (const slot_base& src)
| Constructs a slot, copying an existing one.
| operator bool () const
| Tests whether a slot is null, because the default constructor was used.
void | set_parent (void* parent, void*(* cleanup)(void*)) const
| Sets the parent of this slot.
void | add_destroy_notify_callback (void* data, func_destroy_notify func) const
| Add a callback that is executed (notified) when the slot is detroyed.
void | remove_destroy_notify_callback (void* data) const
| Remove a callback previously installed with add_destroy_notify_callback().
bool | empty () const
| Returns whether the slot is invalid.
bool | blocked () const
| Returns whether the slot is blocked.
bool | block (bool should_block=true)
| Sets the blocking state.
bool | unblock ()
| Unsets the blocking state.
void | disconnect ()
| Disconnects the slot.
slot_base& | operator= (const slot_base& src)
| Overrides this slot making a copy from another slot.

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

## Detailed Description

### template<class T_return, class T_arg1 = nil, class T_arg2 = nil, class T_arg3 = nil, class T_arg4 = nil, class T_arg5 = nil, class T_arg6 = nil, class T_arg7 = nil>
class sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >

Convenience wrapper for the numbered sigc::slot# templates.

Slots convert arbitrary functors to unified types which are opaque. sigc::slot itself is a functor or to be more precise a closure. It contains a single, arbitrary functor (or closure) that is executed in operator()().

The template arguments determine the function signature of operator()():

- T_return The return type of operator()().
- T_arg1 Argument type used in the definition of operator()(). The default `nil` means no argument.
- T_arg2 Argument type used in the definition of operator()(). The default `nil` means no argument.
- T_arg3 Argument type used in the definition of operator()(). The default `nil` means no argument.
- T_arg4 Argument type used in the definition of operator()(). The default `nil` means no argument.
- T_arg5 Argument type used in the definition of operator()(). The default `nil` means no argument.
- T_arg6 Argument type used in the definition of operator()(). The default `nil` means no argument.
- T_arg7 Argument type used in the definition of operator()(). The default `nil` means no argument.

To use, simply assign the slot to the desired functor. If the functor is not compatible with the parameter list defined with the template arguments, compiler errors are triggered. When called, the slot will invoke the functor with minimal copies. block() and unblock() can be used to temporarily block the functor's invocation from operator()().

Example:
  void foo(int) {}
  sigc::slot<void, long> s = sigc::ptr_fun(&foo);
  s(19);

## Constructor & Destructor Documentation

template <class T_return, class T_arg1 = nil, class T_arg2 = nil, class T_arg3 = nil, class T_arg4 = nil, class T_arg5 = nil, class T_arg6 = nil, class T_arg7 = nil>
template <class T_functor >

sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::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.