libsigc++
2.3.2
|
Convenience wrapper for the numbered sigc::slot# templates. More...
#include <sigc++/functors/slot.h>
Public Types | |
typedef slot7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 > | parent_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_ |
typedef T_return | result_type |
![]() | |
typedef trackable::func_destroy_notify | func_destroy_notify |
Public Member Functions | |
slot () | |
template<class T_functor > | |
slot (const T_functor& _A_func) | |
Constructs a slot from an arbitrary functor. More... | |
slot (const slot& src) | |
![]() | |
slot7 () | |
template<class T_functor > | |
slot7 (const T_functor& _A_func) | |
Constructs a slot from an arbitrary functor. More... | |
slot7 (const slot7& src) | |
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. More... | |
slot7& | operator= (const slot7& src) |
Overrides this slot making a copy from another slot. More... | |
![]() | |
slot_base () | |
Constructs an empty slot. More... | |
slot_base (rep_type* rep) | |
Constructs a slot from an existing slot_rep object. More... | |
slot_base (const slot_base& src) | |
Constructs a slot, copying an existing one. More... | |
~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. More... | |
bool | block (bool should_block=true) |
Sets the blocking state. More... | |
bool | blocked () const |
Returns whether the slot is blocked. More... | |
void | disconnect () |
Disconnects the slot. More... | |
bool | empty () const |
Returns whether the slot is invalid. More... | |
operator bool () const | |
Tests whether a slot is null, because the default constructor was used. More... | |
slot_base& | operator= (const slot_base& src) |
Overrides this slot making a copy from another slot. More... | |
void | remove_destroy_notify_callback (void* data) const |
Remove a callback previously installed with add_destroy_notify_callback(). More... | |
void | set_parent (void* parent, void*(* cleanup)(void*)) const |
Sets the parent of this slot. More... | |
bool | unblock () |
Unsets the blocking state. More... | |
Additional Inherited Members | |
![]() | |
bool | blocked_ |
Indicates whether the slot is blocked. More... | |
rep_type* | rep_ |
Typed slot_rep object that contains a functor. More... | |
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()():
nil
means no argument.nil
means no argument.nil
means no argument.nil
means no argument.nil
means no argument.nil
means no argument.nil
means no argument.To use, simply assign the desired functor to the slot. 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()().
sigc::slot<> is similar to std::function<>. If you're going to assign the resulting functor to a sigc::slot or connect it to a sigc::signal, it's better not to use std::function. It would become un unnecessary extra wrapper.
typedef slot7<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7> sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::parent_type |
|
inline |
|
inline |
Constructs a slot from an arbitrary functor.
_A_func | The desired functor the new slot should be assigned to. |
|
inline |