libsigc++
2.3.1
|
Signal declaration. More...
#include <sigc++/signal.h>
Public Types | |
typedef internal::signal_emit3 < T_return, T_arg1, T_arg2, T_arg3, T_accumulator > | emitter_type |
typedef emitter_type::result_type | result_type |
typedef slot< T_return, T_arg1, T_arg2, T_arg3 > | 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 |
![]() | |
typedef std::size_t | size_type |
![]() | |
typedef internal::func_destroy_notify | func_destroy_notify |
Public Member Functions | |
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) 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) 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) const |
Triggers the emission of the signal (see emit()). | |
bound_const_mem_functor3 < result_type, signal3, typename type_trait< T_arg1 > ::take, typename type_trait < T_arg2 >::take, typename type_trait< T_arg3 >::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. | |
signal3 (const signal3& src) | |
![]() | |
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. | |
bool | blocked () const |
Returns whether all slots in the list are blocked. | |
void | block (bool should_block=true) |
Sets the blocking state of all slots in the list. | |
void | unblock () |
Unsets the blocking state of all slots in the list. | |
![]() | |
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 | |
![]() | |
typedef internal::signal_impl::iterator_type | iterator_type |
![]() | |
iterator_type | connect (const slot_base& slot_) |
Adds a slot at the end of the list of slots. | |
iterator_type | insert (iterator_type i, const slot_base& slot_) |
Adds a slot at the given position into the list of slots. | |
iterator_type | erase (iterator_type i) |
Removes the slot at the given position from the list of slots. | |
internal::signal_impl* | impl () const |
Returns the signal_impl object encapsulating the list of slots. | |
![]() | |
internal::signal_impl* | impl_ |
The signal_impl object encapsulating the slot list. | |
Signal declaration.
signal3 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 following template arguments are used:
nil
means that no accumulator should be used, for example if signal emission returns the return value of the last slot invoked.You should use the more convenient unnumbered sigc::signal template.
|
inline |
Add a slot to the list of slots.
Any functor or slot may be passed into connect(). It will be converted into a slot implicitely. The returned iterator may be stored for disconnection of the slot at some later point. It stays valid until the slot is removed from the list of slots. The iterator can also be implicitely converted into a sigc::connection object that may be used safely beyond the life time of the slot.
slot_ | The slot to add to the list of slots. |
|
inline |
Triggers the emission of the signal.
During signal emission all slots that have been connected to the signal are invoked unless they are manually set into a blocking state. The parameters are passed on to the slots. If T_accumulated is not nil
, an accumulator of this type is used to process the return values of the slot invocations. Otherwise, the return value of the last slot invoked is returned.
_A_a1 | Argument to be passed on to the slots. |
_A_a2 | Argument to be passed on to the slots. |
_A_a3 | Argument to be passed on to the slots. |
|
inline |
Triggers the emission of the signal in reverse order (see emit()).
|
inline |
Creates a functor that calls emit() on this signal.
yields the same result.
|
inline |
Triggers the emission of the signal (see emit()).
|
inline |
Creates an STL-style interface for the signal's list of slots.
This interface supports iteration, insertion and removal of slots.
|
inline |
Creates an STL-style interface for the signal's list of slots.
This interface supports iteration, insertion and removal of slots.