Main Page Groups Namespaces

# sigc::internal::slot_iterator_buf<T_emitter, T_result> Struct Template Reference

Special iterator over sigc::internal::signal_impl's slot list that holds extra data. More...

List of all members.

## Public Types

typedef size_t | size_type
typedef ptrdiff_t | difference_type
typedef std::bidirectional_iterator_tag | iterator_category
typedef T_result | value_type
typedef T_result& | reference
typedef T_result* | pointer
typedef T_emitter | emitter_type
typedef T_result | result_type
typedef T_emitter::slot_type | slot_type
typedef signal_impl::const_iterator_type | iterator_type

## Public Member Functions

| slot_iterator_buf ()
| slot_iterator_buf (const iterator_type& i, const emitter_type* c)
result_type | operator* () const
slot_iterator_buf& | operator++ ()
slot_iterator_buf | operator++ (int)
slot_iterator_buf& | operator-- ()
slot_iterator_buf | operator-- (int)
bool | operator== (const slot_iterator_buf&other) const
bool | operator!= (const slot_iterator_buf&other) const

## Detailed Description

### template <class T_emitter, class T_result = typename T_emitter::result_type>
struct sigc::internal::slot_iterator_buf< T_emitter, T_result >

Special iterator over sigc::internal::signal_impl's slot list that holds extra data.

This iterators is for use in accumulators. operator*() executes the slot. The return value is buffered, so that in an expression like

     a = (* i)* (* i);

the slot is executed only once.

## Member Typedef Documentation

template <class T_emitter, class T_result = typename T_emitter::result_type>

typedef size_t sigc::internal::slot_iterator_buf<T_emitter, T_result>::size_type

template <class T_emitter, class T_result = typename T_emitter::result_type>

typedef ptrdiff_t sigc::internal::slot_iterator_buf<T_emitter, T_result>::difference_type

template <class T_emitter, class T_result = typename T_emitter::result_type>

typedef std::bidirectional_iterator_tag sigc::internal::slot_iterator_buf<T_emitter, T_result>::iterator_category

template <class T_emitter, class T_result = typename T_emitter::result_type>

typedef T_result sigc::internal::slot_iterator_buf<T_emitter, T_result>::value_type

template <class T_emitter, class T_result = typename T_emitter::result_type>

typedef T_result& sigc::internal::slot_iterator_buf<T_emitter, T_result>::reference

template <class T_emitter, class T_result = typename T_emitter::result_type>

typedef T_result* sigc::internal::slot_iterator_buf<T_emitter, T_result>::pointer

template <class T_emitter, class T_result = typename T_emitter::result_type>

typedef T_emitter sigc::internal::slot_iterator_buf<T_emitter, T_result>::emitter_type

template <class T_emitter, class T_result = typename T_emitter::result_type>

typedef T_result sigc::internal::slot_iterator_buf<T_emitter, T_result>::result_type

template <class T_emitter, class T_result = typename T_emitter::result_type>

typedef T_emitter::slot_type sigc::internal::slot_iterator_buf<T_emitter, T_result>::slot_type

template <class T_emitter, class T_result = typename T_emitter::result_type>

typedef signal_impl::const_iterator_type sigc::internal::slot_iterator_buf<T_emitter, T_result>::iterator_type

## Constructor & Destructor Documentation

template <class T_emitter, class T_result = typename T_emitter::result_type>

sigc::internal::slot_iterator_buf<T_emitter, T_result>::slot_iterator_buf | ( |  | ) | `[inline]`

template <class T_emitter, class T_result = typename T_emitter::result_type>

sigc::internal::slot_iterator_buf<T_emitter, T_result>::slot_iterator_buf | ( | const iterator_type& | i,
|  | const emitter_type* | c |
| ) |  |  | `[inline]`

## Member Function Documentation

template <class T_emitter, class T_result = typename T_emitter::result_type>

result_type sigc::internal::slot_iterator_buf<T_emitter, T_result>::operator* | ( |  | ) | const`[inline]`

template <class T_emitter, class T_result = typename T_emitter::result_type>

slot_iterator_buf& sigc::internal::slot_iterator_buf<T_emitter, T_result>::operator++ | ( |  | ) | `[inline]`

template <class T_emitter, class T_result = typename T_emitter::result_type>

slot_iterator_buf sigc::internal::slot_iterator_buf<T_emitter, T_result>::operator++ | ( | int |  | ) | `[inline]`

template <class T_emitter, class T_result = typename T_emitter::result_type>

slot_iterator_buf& sigc::internal::slot_iterator_buf<T_emitter, T_result>::operator-- | ( |  | ) | `[inline]`

template <class T_emitter, class T_result = typename T_emitter::result_type>

slot_iterator_buf sigc::internal::slot_iterator_buf<T_emitter, T_result>::operator-- | ( | int |  | ) | `[inline]`

template <class T_emitter, class T_result = typename T_emitter::result_type>

bool sigc::internal::slot_iterator_buf<T_emitter, T_result>::operator== | ( | const slot_iterator_buf<T_emitter, T_result>& | other | ) | const`[inline]`

template <class T_emitter, class T_result = typename T_emitter::result_type>

bool sigc::internal::slot_iterator_buf<T_emitter, T_result>::operator!= | ( | const slot_iterator_buf<T_emitter, T_result>& | other | ) | const`[inline]`

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

- signal.h