logo top
Main Page   Groups   Namespaces  

sigc::signal_base Struct Reference
[Signals]

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

Inheritance diagram for sigc::signal_base:

Inheritance graph
[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_baseoperator= (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_implimpl () const
 Returns the signal_impl object encapsulating the list of slots.

Protected Attributes

internal::signal_implimpl_
 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:
Generated for libsigc++ 2.0 by Doxygen 1.3.9.1 © 1997-2001