libsigc++: sigc::slot3< T_return, T_arg1, T_arg2, T_arg3 > Class Template Reference
Converts an arbitrary functor to a unified type which is opaque. More...
#include <sigc++/functors/slot.h>

Public Types | |
| typedef type_trait_take_t< T_arg1 > | arg1_type_ |
| typedef type_trait_take_t< T_arg2 > | arg2_type_ |
| typedef type_trait_take_t< T_arg3 > | arg3_type_ |
| typedef T_return | result_type |
Public Types inherited from sigc::slot_base | |
| typedef trackable::func_destroy_notify | func_destroy_notify |
Public Member Functions | |
| slot3 () | |
| template<class T_functor > | |
| slot3 (const T_functor& _A_func) | |
| Constructs a slot from an arbitrary functor. More... | |
| slot3 (const slot3& src) | |
| slot3 (slot3&& src) noexcept | |
| T_return | operator() (arg1_type_ _A_a1, arg2_type_ _A_a2, arg3_type_ _A_a3) const |
| Invoke the contained functor unless slot is in blocking state. More... | |
| slot3& | operator= (const slot3& src) |
| Overrides this slot making a copy from another slot. More... | |
| slot3& | operator= (slot3&& src) noexcept |
Public Member Functions inherited from sigc::slot_base | |
| 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 (slot_base&& src) noexcept | |
| ~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... | |
| slot_base& | operator= (slot_base&& src) noexcept |
| 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 | |
Public Attributes inherited from sigc::slot_base | |
| bool | blocked_ |
| Indicates whether the slot is blocked. More... | |
| rep_type* | rep_ |
| Typed slot_rep object that contains a functor. More... | |
Detailed Description
template<class T_return, class T_arg1, class T_arg2, class T_arg3>
class sigc::slot3< T_return, T_arg1, T_arg2, T_arg3 >
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()().
- T_arg1 Argument type used in the definition of operator()(). The default
nilmeans no argument. - T_arg2 Argument type used in the definition of operator()(). The default
nilmeans no argument. - T_arg3 Argument type used in the definition of operator()(). The default
nilmeans 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 block the functor's invocation from operator()() temporarily.
You should use the more convenient unnumbered sigc::slot template.
Member Typedef Documentation
| typedef type_trait_take_t<T_arg1> sigc::slot3< T_return, T_arg1, T_arg2, T_arg3 >::arg1_type_ |
| typedef type_trait_take_t<T_arg2> sigc::slot3< T_return, T_arg1, T_arg2, T_arg3 >::arg2_type_ |
| typedef type_trait_take_t<T_arg3> sigc::slot3< T_return, T_arg1, T_arg2, T_arg3 >::arg3_type_ |
| typedef T_return sigc::slot3< T_return, T_arg1, T_arg2, T_arg3 >::result_type |
Constructor & Destructor Documentation
|
inline |
|
inline |
Constructs a slot from an arbitrary functor.
- Parameters
-
_A_func The desired functor the new slot should be assigned to.
|
inline |
|
inlinenoexcept |
Member Function Documentation
|
inline |
Invoke the contained functor unless slot is in blocking state.
- Parameters
-
_A_a1 Argument to be passed on to the functor. _A_a2 Argument to be passed on to the functor. _A_a3 Argument to be passed on to the functor.
- Returns
- The return value of the functor invocation.
|
inline |
Overrides this slot making a copy from another slot.
- Parameters
-
src The slot from which to make a copy.
- Returns
this.
|
inlinenoexcept |

Public Types inherited from