Main Page Groups Namespaces

# sigc::internal::signal_emit5< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator > Struct Template Reference

Abstracts signal emission. More...

List of all members.

## Public Types

typedef signal_emit5< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator > | self_type
typedef T_accumulator::result_type | result_type
typedef slot< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5 > | slot_type
typedef internal::slot_iterator_buf< self_type > | slot_iterator_buf_type
typedef signal_impl::const_iterator_type | iterator_type

## Public Member Functions

| signal_emit5 (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)
| Instantiates the class.
T_return | operator() (const slot_type& _A_slot) const
| Invokes a slot using the buffered parameter values.

## Static Public Member Functions

result_type | emit (signal_impl* impl, 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)
| Executes a list of slots using an accumulator of type T_accumulator.

## Public Attributes

type_trait<T_arg1>::take | _A_a1_
type_trait<T_arg2>::take | _A_a2_
type_trait<T_arg3>::take | _A_a3_
type_trait<T_arg4>::take | _A_a4_
type_trait<T_arg5>::take | _A_a5_

## Detailed Description

### template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_accumulator>
struct sigc::internal::signal_emit5< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator >

Abstracts signal emission.

This template implements the emit() function of signal5. Template specializations are available to optimize signal emission when no accumulator is used, i.e. the template argument T_accumulator is `nil`.

## Member Typedef Documentation

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_accumulator>
typedef signal_impl::const_iterator_type sigc::internal::signal_emit5<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator>::iterator_type

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_accumulator>
typedef T_accumulator::result_type sigc::internal::signal_emit5<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator>::result_type

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_accumulator>
typedef signal_emit5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5, T_accumulator> sigc::internal::signal_emit5<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator>::self_type

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_accumulator>
typedef internal::slot_iterator_buf<self_type> sigc::internal::signal_emit5<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator>::slot_iterator_buf_type

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_accumulator>
typedef slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> sigc::internal::signal_emit5<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator>::slot_type

## Constructor & Destructor Documentation

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_accumulator>
sigc::internal::signal_emit5<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator>::signal_emit5 | ( | 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
| ) | `[inline]`

| Instantiates the class. The parameters are stored in member variables. operator()() passes the values on to some slot.

## Member Function Documentation

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_accumulator>
result_type sigc::internal::signal_emit5<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator>::emit | ( | signal_impl* | impl,
|  | 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
| ) | `[inline, static]`

Executes a list of slots using an accumulator of type T_accumulator.

The arguments are buffered in a temporary instance of signal_emit5.

Parameters:

  | _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.
  | _A_a4 | Argument to be passed on to the slots.
  | _A_a5 | Argument to be passed on to the slots.

Returns:
  The accumulated return values of the slot invocations as processed by the accumulator.

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_accumulator>
T_return sigc::internal::signal_emit5<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator>::operator() | ( | const slot_type& | _A_slot | ) | const`[inline]`

Invokes a slot using the buffered parameter values.

Parameters:

  | _A_slot | Some slot to invoke.

Returns:
  The slot's return value.

## Member Data Documentation

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_accumulator>
type_trait<T_arg1>::take sigc::internal::signal_emit5<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator>::_A_a1_

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_accumulator>
type_trait<T_arg2>::take sigc::internal::signal_emit5<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator>::_A_a2_

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_accumulator>
type_trait<T_arg3>::take sigc::internal::signal_emit5<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator>::_A_a3_

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_accumulator>
type_trait<T_arg4>::take sigc::internal::signal_emit5<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator>::_A_a4_

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_arg5, class T_accumulator>
type_trait<T_arg5>::take sigc::internal::signal_emit5<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_accumulator>::_A_a5_

The documentation for this struct was generated from the following file:

- signal.h