libsigc++: sigc::signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 > Class Template Reference

libsigc++ 2.10.1

Classes | Public Member Functions | List of all members
sigc::signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 > Class Template Reference
Signals

Convenience wrapper for the numbered sigc::signal# templates. More...

`#include <sigc++/signal.h>`

Inheritance diagram for sigc::signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >:
[legend]

## Classes
class | accumulated
| Convenience wrapper for the numbered sigc::signal# templates. More...

## Public Member Functions
| signal ()
| signal (const signal& src)
| signal (signal&& src)
signal& | operator= (const signal& src)
signal& | operator= (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 >
| signal7 ()
| signal7 (const signal7& src)
| signal7 (signal7&& src)
iterator | connect (const slot_type& slot_)
| Add a slot to the list of slots. More...
iterator | connect (slot_type&& slot_)
| Add a slot to the list of slots. More...
result_type | emit (type_trait_take_t< T_arg1 > _A_a1, type_trait_take_t< T_arg2 > _A_a2, type_trait_take_t< T_arg3 > _A_a3, type_trait_take_t< T_arg4 > _A_a4, type_trait_take_t< T_arg5 > _A_a5, type_trait_take_t< T_arg6 > _A_a6, type_trait_take_t< T_arg7 > _A_a7) const
| Triggers the emission of the signal. More...
result_type | emit_reverse (type_trait_take_t< T_arg1 > _A_a1, type_trait_take_t< T_arg2 > _A_a2, type_trait_take_t< T_arg3 > _A_a3, type_trait_take_t< T_arg4 > _A_a4, type_trait_take_t< T_arg5 > _A_a5, type_trait_take_t< T_arg6 > _A_a6, type_trait_take_t< T_arg7 > _A_a7) const
| Triggers the emission of the signal in reverse order (see emit()). More...
bound_const_mem_functor7< result_type, signal7, type_trait_take_t< T_arg1 >, type_trait_take_t< T_arg2 >, type_trait_take_t< T_arg3 >, type_trait_take_t< T_arg4 >, type_trait_take_t< T_arg5 >, type_trait_take_t< T_arg6 >, type_trait_take_t< T_arg7 > > | make_slot () const
| Creates a functor that calls emit() on this signal. More...
result_type | operator() (type_trait_take_t< T_arg1 > _A_a1, type_trait_take_t< T_arg2 > _A_a2, type_trait_take_t< T_arg3 > _A_a3, type_trait_take_t< T_arg4 > _A_a4, type_trait_take_t< T_arg5 > _A_a5, type_trait_take_t< T_arg6 > _A_a6, type_trait_take_t< T_arg7 > _A_a7) const
| Triggers the emission of the signal (see emit()). More...
signal7& | operator= (const signal7& src)
signal7& | operator= (signal7&& src)
slot_list_type | slots ()
| Creates an STL-style interface for the signal's list of slots. More...
const slot_list_type | slots () const
| Creates an STL-style interface for the signal's list of slots. More...
Public Member Functions inherited from sigc::signal_base
| signal_base () noexcept
| signal_base (const signal_base& src) noexcept
| signal_base (signal_base&& src)
| ~signal_base ()
void | block (bool should_block=true) noexcept
| Sets the blocking state of all slots in the list. More...
bool | blocked () const noexcept
| Returns whether all slots in the list are blocked. More...
void | clear ()
| Empties the list of slots. More...
bool | empty () const noexcept
| Returns whether the list of slots is empty. More...
signal_base& | operator= (const signal_base& src)
signal_base& | operator= (signal_base&& src)
size_type | size () const noexcept
| Returns the number of slots in the list. More...
void | unblock () noexcept
| Unsets the blocking state of all slots in the list. More...
Public Member Functions inherited from sigc::trackable
| trackable () noexcept
| trackable (const trackable& src) noexcept
| trackable (trackable&& src)
| ~trackable ()
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. More...
void | notify_callbacks ()
| Execute and remove all previously installed callbacks. More...
trackable& | operator= (const trackable& src)
trackable& | operator= (trackable&& src)
void | remove_destroy_notify_callback (void* data) const
| Remove a callback previously installed with add_destroy_notify_callback(). More...

## 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 slot_list_type::const_iterator | const_iterator
typedef slot_list_type::const_reverse_iterator | const_reverse_iterator
typedef internal::signal_emit7< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, nil > | emitter_type
typedef slot_list_type::iterator | iterator
typedef emitter_type::result_type | result_type
typedef slot_list_type::reverse_iterator | reverse_iterator
typedef slot_list< slot_type > | slot_list_type
typedef slot< T_return(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7)> | slot_type
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
Protected Types inherited from sigc::signal_base
typedef internal::signal_impl::iterator_type | iterator_type
Protected Member Functions inherited from sigc::signal_base
iterator_type | connect (const slot_base& slot_)
| Adds a slot at the end of the list of slots. More...
iterator_type | connect (slot_base&& slot_)
| Adds a slot at the end of the list of slots. More...
iterator_type | erase (iterator_type i)
| Removes the slot at the given position from the list of slots. More...
internal::signal_impl* | impl () const
| Returns the signal_impl object encapsulating the list of slots. More...
iterator_type | insert (iterator_type i, const slot_base& slot_)
| Adds a slot at the given position into the list of slots. More...
iterator_type | insert (iterator_type i, slot_base&& slot_)
| Adds a slot at the given position into the list of slots. More...
Protected Attributes inherited from sigc::signal_base
internal::signal_impl* | impl_
| The signal_impl object encapsulating the slot list. More...

## 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!

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 `nil` means no argument.
- T_arg2 Argument type used in the definition of emit(). The default `nil` means no argument.
- T_arg3 Argument type used in the definition of emit(). The default `nil` means no argument.
- T_arg4 Argument type used in the definition of emit(). The default `nil` means no argument.
- T_arg5 Argument type used in the definition of emit(). The default `nil` means no argument.
- T_arg6 Argument type used in the definition of emit(). The default `nil` means no argument.
- T_arg7 Argument type used in the definition of emit(). The default `nil` means no argument.

To specify an accumulator type the nested class signal::accumulated can be used.

Example:
  void foo(int) {}
  sigc::signal<void, long> sig;
  sig.connect(sigc::ptr_fun(&foo));
  sig.emit(19);

Deprecated:
  Please use the syntax similar to that used by std::function<>:

sigc::slot<void(bool, int)> some_slot;

## Constructor & Destructor Documentation

## ◆ signal() [1/3]

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::signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::signal | ( |  | ) |
| inline

## ◆ signal() [2/3]

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::signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::signal | ( | const signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >& | src | ) |
| inline

## ◆ signal() [3/3]

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::signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::signal | ( | signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >&& | src | ) |
| inline

## Member Function Documentation

## ◆ operator=() [1/2]

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>

signal& sigc::signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::operator= | ( | const signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >& | src | ) |
| inline

## ◆ operator=() [2/2]

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>

signal& sigc::signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >::operator= | ( | signal< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 >&& | src | ) |
| inline