|
| slot () |
|
| slot (const slot & src) |
| Constructs a slot, copying an existing one. More...
|
|
template<class T_functor > |
| slot (const T_functor & _A_func) |
| Constructs a slot from an arbitrary functor. More...
|
|
| slot (slot && src) |
| Constructs a slot, moving an existing one. More...
|
|
slot & | operator= (const slot & src) |
| Overrides this slot, making a copy from another slot. More...
|
|
slot & | operator= (slot && src) |
| Overrides this slot, making a move from another slot. More...
|
|
| slot7 () |
|
| slot7 (const slot7 & src) |
| Constructs a slot, copying an existing one. More...
|
|
| slot7 (const T_functor & _A_func) |
| Constructs a slot from an arbitrary functor. More...
|
|
| slot7 (slot7 && src) |
| Constructs a slot, moving an existing one. More...
|
|
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...
|
|
slot7 & | operator= (slot7 && src) |
| Overrides this slot, making a move from another slot. More...
|
|
| slot_base () noexcept |
| Constructs an empty slot. More...
|
|
| slot_base (const slot_base & src) |
| Constructs a slot, copying an existing one. More...
|
|
| slot_base (rep_type * rep) noexcept |
| Constructs a slot from an existing slot_rep object. More...
|
|
| slot_base (slot_base && src) |
| Constructs a slot, moving 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) noexcept |
| Sets the blocking state. More...
|
|
bool | blocked () const noexcept |
| Returns whether the slot is blocked. More...
|
|
void | disconnect () |
| Disconnects the slot. More...
|
|
bool | empty () const noexcept |
| Returns whether the slot is invalid. More...
|
|
| operator bool () const noexcept |
| 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...
|
|
slot_base & | operator= (slot_base && src) |
| Overrides this slot, making a move 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 noexcept |
| Sets the parent of this slot. More...
|
|
bool | unblock () noexcept |
| Unsets the blocking state. More...
|
|
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 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()().
- Example:
void foo(int) {}
s(19);
Convenience wrapper for the numbered sigc::slot# templates.
Definition: slot.h:1645
pointer_functor0< T_return > ptr_fun(T_return(*_A_func)())
Creates a functor of type sigc::pointer_functor0 which wraps an existing non-member function.
Definition: ptr_fun.h:460
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 an unnecessary extra wrapper.
- Deprecated:
- Please use the syntax similar to that used by std::function<>:
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. |
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>
sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::slot |
( |
const slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 > & |
src | ) |
|
|
inline |
Constructs a slot, copying an existing one.
- Parameters
-
src | The existing slot to copy. |
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>
sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::slot |
( |
slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 > && |
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. |
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>
slot& sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::operator= |
( |
const slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 > & |
src | ) |
|
|
inline |
Overrides this slot, making a copy from another slot.
- Parameters
-
src | The slot from which to make a copy. |
- Returns
this
.
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>
slot& sigc::slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::operator= |
( |
slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 > && |
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
.