libsigc++ 2.2.11

- Main Page
- Modules
- Namespaces
- Classes

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

Public Types | Public Member Functions
sigc::slot0< T_return > Class Template Reference
Slots

Converts an arbitrary functor to a unified type which is opaque. More...

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

Inheritance diagram for sigc::slot0< T_return >:
[legend]

List of all members.

## Public Types

typedef T_return | result_type
Public Types inherited from sigc::slot_base
typedef trackable::func_destroy_notify | func_destroy_notify

## Public Member Functions

T_return | operator() () const
| Invoke the contained functor unless slot is in blocking state.
template<class T_functor >
| slot0 (const T_functor& _A_func)
| Constructs a slot from an arbitrary functor.
| slot0 (const slot0& src)
slot0& | operator= (const slot0& 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 sigc::slot0< T_return >

Converts an arbitrary functor to a unified type which is 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()().

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 block the functor's invocation from operator()() temporarily.

You should use the more convenient unnumbered sigc::slot template.

## Constructor & Destructor Documentation

template <class T_return >
template <class T_functor >

sigc::slot0< T_return >::slot0 | ( | 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.

## Member Function Documentation

template <class T_return >

T_return sigc::slot0< T_return >::operator() | ( |  | ) | const

inline

Invoke the contained functor unless slot is in blocking state.

Returns:
  The return value of the functor invocation.

template <class T_return >

slot0& sigc::slot0< T_return >::operator= | ( | const slot0< T_return >& | src | ) |

inline

Overrides this slot making a copy from another slot.

Parameters:

  src | The slot from which to make a copy.

Returns:
  `this`.