Main Page Groups Namespaces

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

Abstracts signal emission. More...

List of all members.

## Public Types

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

## Public Member Functions

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

## Static Public Member Functions

static 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)
| Executes a list of slots using an accumulator of type T_accumulator.
static result_type | emit_reverse (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)
| Executes a list of slots using an accumulator of type T_accumulator in reverse order.

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

## Detailed Description

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

Abstracts signal emission.

This template implements the emit() function of signal4. 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_accumulator>

typedef signal_emit4<T_return, T_arg1,T_arg2,T_arg3,T_arg4, T_accumulator> sigc::internal::signal_emit4<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator>::self_type

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator>

typedef T_accumulator::result_type sigc::internal::signal_emit4<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator>::result_type

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator>

typedef slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4> sigc::internal::signal_emit4<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator>::slot_type

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator>

typedef internal::slot_iterator_buf<self_type> sigc::internal::signal_emit4<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator>::slot_iterator_buf_type

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator>

typedef internal::slot_reverse_iterator_buf<self_type> sigc::internal::signal_emit4<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator>::slot_reverse_iterator_buf_type

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator>

typedef signal_impl::const_iterator_type sigc::internal::signal_emit4<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator>::iterator_type

## Constructor & Destructor Documentation

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator>

sigc::internal::signal_emit4<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator>::signal_emit4 | ( | 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 |
| ) |  |  | `[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_accumulator>

T_return sigc::internal::signal_emit4<T_return, T_arg1, T_arg2, T_arg3, T_arg4, 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.

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator>

static result_type sigc::internal::signal_emit4<T_return, T_arg1, T_arg2, T_arg3, T_arg4, 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 |
| ) |  |  | `[inline, static]`

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

The arguments are buffered in a temporary instance of signal_emit4.

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.

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_accumulator>

static result_type sigc::internal::signal_emit4<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator>::emit_reverse | ( | 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 |
| ) |  |  | `[inline, static]`

Executes a list of slots using an accumulator of type T_accumulator in reverse order.

The arguments are buffered in a temporary instance of signal_emit4.

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.

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

## Member Data Documentation

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator>

type_trait<T_arg1>::take sigc::internal::signal_emit4<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator>::_A_a1_

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator>

type_trait<T_arg2>::take sigc::internal::signal_emit4<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator>::_A_a2_

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator>

type_trait<T_arg3>::take sigc::internal::signal_emit4<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator>::_A_a3_

template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator>

type_trait<T_arg4>::take sigc::internal::signal_emit4<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator>::_A_a4_

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

- signal.h