Simpatico  v1.10
List of all members | Public Member Functions
Util::Signal< T > Class Template Reference

Detailed Description

template<typename T = void>
class Util::Signal< T >

Notifier (or subject) in the Observer design pattern.

A Signal manages a list of registered functor objects, and provides a void Signal<T>::notify(const T&) method that calls them all with the same argument.

The explicit specialization Signal<void>, or Signal<>, has a notify method void Signal<>::notify() that takes no parameters, which calls a method of each observer that takes no parameters.

Definition at line 38 of file Signal.h.

#include <Signal.h>

Public Member Functions

 Signal ()
 Default constructor. More...
 
 ~Signal ()
 Destructor. More...
 
template<class Observer >
void addObserver (Observer &observer, void(Observer::*methodPtr)(const T &))
 Register an observer. More...
 
void clear ()
 Clear all observerse from list. More...
 
int nObserver () const
 Get number of registered observers. More...
 
void notify (const T &t)
 Notify all observers. More...
 

Constructor & Destructor Documentation

template<typename T = void>
Util::Signal< T >::Signal ( )
inline
template<typename T >
Util::Signal< T >::~Signal ( )

Destructor.

Definition at line 16 of file Signal.cpp.

Referenced by Util::Signal< T >::Signal(), and Util::Signal< void >::Signal().

Member Function Documentation

template<typename T >
template<class Observer >
void Util::Signal< T >::addObserver ( Observer observer,
void(Observer::*)(const T &)  methodPtr 
)

Register an observer.

Parameters
observerobserver object (invokes method)
methodPtrpointer to relevant method

Definition at line 111 of file Signal.h.

References Util::Signal< T >::clear(), Util::Signal< T >::nObserver(), and Util::Signal< T >::notify().

Referenced by McMd::McSystem::McSystem(), McMd::MdSystem::MdSystem(), Util::Signal< T >::Signal(), and Util::Signal< void >::Signal().

template<typename T >
void Util::Signal< T >::clear ( )

Clear all observerse from list.

Definition at line 36 of file Signal.cpp.

Referenced by Util::Signal< T >::addObserver(), Util::Signal< T >::Signal(), and Util::Signal< void >::Signal().

template<typename T >
int Util::Signal< T >::nObserver ( ) const

Get number of registered observers.

Definition at line 51 of file Signal.cpp.

Referenced by Util::Signal< T >::addObserver(), Util::Signal< T >::Signal(), and Util::Signal< void >::Signal().

template<typename T >
void Util::Signal< T >::notify ( const T &  t)

The documentation for this class was generated from the following files: