template<class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_arg6, class T_arg7>
class sigc::slot7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
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
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 block the functor's invocation from operator()() temporarily.
You should use the more convenient unnumbered sigc::slot template.
template <class T_return , class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 , class T_arg6 , class T_arg7 >
template <class T_functor >
| sigc::slot7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::slot7 |
( |
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 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 , class T_arg6 , class T_arg7 >
| T_return sigc::slot7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::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 |
|
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. |
| _A_a4 | Argument to be passed on to the functor. |
| _A_a5 | Argument to be passed on to the functor. |
| _A_a6 | Argument to be passed on to the functor. |
| _A_a7 | Argument to be passed on to the functor. |
- Returns
- The return value of the functor invocation.
template <class T_return , class T_arg1 , class T_arg2 , class T_arg3 , class T_arg4 , class T_arg5 , class T_arg6 , class T_arg7 >
| slot7& sigc::slot7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::operator= |
( |
const slot7< 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.