Main Page Groups Namespaces

# sigc::signal_base Struct Reference
[Signals]

Base class for the sigc::signal# templates. More...

Inheritance diagram for sigc::signal_base:

[legend]
List of all members.

## Public Types

typedef size_t | size_type

## Public Member Functions

| signal_base ()
| signal_base (const signal_base& src)
| ~signal_base ()
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.

## Protected Types

typedef internal::signal_impl::iterator_type | iterator_type

## Protected Member Functions

iterator_type | connect (const slot_base& slot_)
| Adds a slot at the bottom 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.

## Protected Attributes

internal::signal_impl* | impl_
| The signal_impl object encapsulating the slot list.

## Detailed Description

Base class for the sigc::signal# templates.

signal_base integrates most of the interface of the derived sigc::signal# templates. The implementation, however, resides in sigc::internal::signal_impl. A sigc::internal::signal_impl object is dynamically allocated from signal_base when first connecting a slot to the signal. This ensures that empty signals don't waste memory.

## Member Typedef Documentation

typedef internal::signal_impl::iterator_type sigc::signal_base::iterator_type `[protected]`

typedef size_t sigc::signal_base::size_type

## Constructor & Destructor Documentation

sigc::signal_base::signal_base | ( |  | ) |

sigc::signal_base::signal_base | ( | const signal_base& | src | ) |

sigc::signal_base::~signal_base | ( |  | ) |

## Member Function Documentation

void sigc::signal_base::clear | ( |  | ) |

| Empties the list of slots.

iterator_type sigc::signal_base::connect | ( | const slot_base& | slot_ | ) | `[protected]`

Adds a slot at the bottom of the list of slots.

Parameters:

  slot_ | The slot to add to the list of slots.

Returns:
  An iterator pointing to the new slot in the list.

bool sigc::signal_base::empty | ( |  | ) | const`[inline]`

Returns whether the list of slots is empty.

Returns:
  `true` if the list of slots is empty.

iterator_type sigc::signal_base::erase | ( | iterator_type | i | ) | `[protected]`

Removes the slot at the given position from the list of slots.

Parameters:

  i | An iterator pointing to the slot to be removed.

Returns:
  An iterator pointing to the slot in the list after the one removed.

internal::signal_impl* sigc::signal_base::impl | ( |  | ) | const`[protected]`

Returns the signal_impl object encapsulating the list of slots.

Returns:
  The signal_impl object encapsulating the list of slots.

iterator_type sigc::signal_base::insert | ( | iterator_type | i,
|  | const slot_base& | slot_
| ) | `[protected]`

Adds a slot at the given position into the list of slots.

Parameters:

  i | An iterator indicating the position where slot_ should be inserted.
  slot_ | The slot to add to the list of slots.

Returns:
  An iterator pointing to the new slot in the list.

signal_base& sigc::signal_base::operator= | ( | const signal_base& | src | ) |

size_type sigc::signal_base::size | ( |  | ) | const

Returns the number of slots in the list.

Returns:
  The number of slots in the list.

## Member Data Documentation

internal::signal_impl* sigc::signal_base::impl_ `[mutable, protected]`

| The signal_impl object encapsulating the slot list.

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

- signal_base.h