libsigc++: sigc::signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 > Class Template Reference
Convenience wrapper for the numbered sigc::signal# templates. More...
#include <sigc++/signal.h>

Classes | |
| class | accumulated |
| Convenience wrapper for the numbered sigc::signal# templates. More... | |
Public Member Functions | |
| signal (const signal& src) | |
Public Member Functions inherited from sigc::signal7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, nil > | |
| iterator | connect (const slot_type& slot_) |
| Add a slot to the list of slots. | |
| result_type | emit (typename type_trait< T_arg1 >::take _A_a1, typename type_trait< T_arg2 >::take _A_a2, typename type_trait< T_arg3 >::take _A_a3, typename type_trait< T_arg4 >::take _A_a4, typename type_trait< T_arg5 >::take _A_a5, typename type_trait< T_arg6 >::take _A_a6, typename type_trait< T_arg7 >::take _A_a7) const |
| Triggers the emission of the signal. | |
| result_type | emit_reverse (typename type_trait< T_arg1 >::take _A_a1, typename type_trait< T_arg2 >::take _A_a2, typename type_trait< T_arg3 >::take _A_a3, typename type_trait< T_arg4 >::take _A_a4, typename type_trait< T_arg5 >::take _A_a5, typename type_trait< T_arg6 >::take _A_a6, typename type_trait< T_arg7 >::take _A_a7) const |
| Triggers the emission of the signal in reverse order (see emit()). | |
| result_type | operator() (typename type_trait< T_arg1 >::take _A_a1, typename type_trait< T_arg2 >::take _A_a2, typename type_trait< T_arg3 >::take _A_a3, typename type_trait< T_arg4 >::take _A_a4, typename type_trait< T_arg5 >::take _A_a5, typename type_trait< T_arg6 >::take _A_a6, typename type_trait< T_arg7 >::take _A_a7) const |
| Triggers the emission of the signal (see emit()). | |
| bound_const_mem_functor7 < result_type, signal7, typename type_trait< T_arg1 > ::take, typename type_trait < T_arg2 >::take, typename type_trait< T_arg3 >::take, typename type_trait< T_arg4 > ::take, typename type_trait < T_arg5 >::take, typename type_trait< T_arg6 >::take, typename type_trait< T_arg7 > ::take > | make_slot () const |
| Creates a functor that calls emit() on this signal. | |
| slot_list_type | slots () |
| Creates an STL-style interface for the signal's list of slots. | |
| const slot_list_type | slots () const |
| Creates an STL-style interface for the signal's list of slots. | |
| signal7 (const signal7& src) | |
Public Member Functions inherited from sigc::signal_base | |
| signal_base (const signal_base& src) | |
| signal_base& | operator= (const signal_base& src) |
| bool | empty () const |
| Returns whether the list of slots is empty. | |
| void | clear () |
| Empties the list of slots. | |
| size_type | size () const |
| Returns the number of slots in the list. | |
Public Member Functions inherited from sigc::trackable | |
| trackable (const trackable& src) | |
| trackable& | operator= (const trackable& src) |
| void | add_destroy_notify_callback (void* data, func_destroy_notify func) const |
| Add a callback that is executed (notified) when the trackable object is detroyed. | |
| void | remove_destroy_notify_callback (void* data) const |
| Remove a callback previously installed with add_destroy_notify_callback(). | |
| void | notify_callbacks () |
| Execute and remove all previously installed callbacks. | |
Additional Inherited Members | |
Public Types inherited from sigc::signal7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, nil > | |
|
typedef internal::signal_emit7 < T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, nil > | emitter_type |
| typedef emitter_type::result_type | result_type |
|
typedef slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 > | slot_type |
| typedef slot_list< slot_type > | slot_list_type |
| typedef slot_list_type::iterator | iterator |
|
typedef slot_list_type::const_iterator | const_iterator |
|
typedef slot_list_type::reverse_iterator | reverse_iterator |
|
typedef slot_list_type::const_reverse_iterator | const_reverse_iterator |
Public Types inherited from sigc::signal_base | |
| typedef std::size_t | size_type |
Public Types inherited from sigc::trackable | |
|
typedef internal::func_destroy_notify | func_destroy_notify |
Detailed Description
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::signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >
Convenience wrapper for the numbered sigc::signal# templates.
signal can be used to connect() slots that are invoked during subsequent calls to emit(). Any functor or slot can be passed into connect(). It is converted into a slot implicitly.
If you want to connect one signal to another, use make_slot() to retrieve a functor that emits the signal when invoked.
Be careful if you directly pass one signal into the connect() method of another: a shallow copy of the signal is made and the signal's slots are not disconnected until both the signal and its clone are destroyed, which is probably not what you want!
An STL-style list interface for the signal's list of slots can be retrieved with slots(). This interface supports iteration, insertion and removal of slots.
The template arguments determine the function signature of the emit() function:
- T_return The desired return type of the emit() function.
- T_arg1 Argument type used in the definition of emit(). The default
nilmeans no argument. - T_arg2 Argument type used in the definition of emit(). The default
nilmeans no argument. - T_arg3 Argument type used in the definition of emit(). The default
nilmeans no argument. - T_arg4 Argument type used in the definition of emit(). The default
nilmeans no argument. - T_arg5 Argument type used in the definition of emit(). The default
nilmeans no argument. - T_arg6 Argument type used in the definition of emit(). The default
nilmeans no argument. - T_arg7 Argument type used in the definition of emit(). The default
nilmeans no argument.
To specify an accumulator type the nested class signal::accumulated can be used.
- Example:

Public Member Functions inherited from