libsigc++  2.3.1
Public Types | Public Member Functions | List of all members
sigc::slot1< T_return, T_arg1 > Class Template Reference

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

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

Inheritance diagram for sigc::slot1< T_return, T_arg1 >:
Inheritance graph
[legend]

Public Types

typedef T_return result_type
 
typedef type_trait< T_arg1 >::take arg1_type_
 
- Public Types inherited from sigc::slot_base
typedef
trackable::func_destroy_notify 
func_destroy_notify
 

Public Member Functions

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

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()():

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 , class T_arg1 >
template <class T_functor >
sigc::slot1< T_return, T_arg1 >::slot1 ( const T_functor &  _A_func)
inline

Constructs a slot from an arbitrary functor.

Parameters
_A_funcThe desired functor the new slot should be assigned to.

Member Function Documentation

template <class T_return , class T_arg1 >
T_return sigc::slot1< T_return, T_arg1 >::operator() ( arg1_type_  _A_a1) const
inline

Invoke the contained functor unless slot is in blocking state.

Parameters
_A_a1Argument to be passed on to the functor.
Returns
The return value of the functor invocation.
template <class T_return , class T_arg1 >
slot1& sigc::slot1< T_return, T_arg1 >::operator= ( const slot1< T_return, T_arg1 >&  src)
inline

Overrides this slot making a copy from another slot.

Parameters
srcThe slot from which to make a copy.
Returns
this.