CMS 3D CMS Logo

IgDispatcher< Message > Class Template Reference

#include <Iguana/Framework/interface/IgDispatcher.h>

List of all members.

Public Types

typedef lat::Callback1< MessageObserver

Public Member Functions

void add (const Observer &listener)
void broadcast (Message event) const
 IgDispatcher (void)
void remove (const Observer &listener)

Private Types

typedef List::const_iterator const_iterator
typedef List::iterator iterator
typedef std::vector< ObserverList

Private Attributes

List m_list


Detailed Description

template<class Message>
class IgDispatcher< Message >

Definition at line 20 of file IgDispatcher.h.


Member Typedef Documentation

template<class Message>
typedef List::const_iterator IgDispatcher< Message >::const_iterator [private]

Definition at line 37 of file IgDispatcher.h.

template<class Message>
typedef List::iterator IgDispatcher< Message >::iterator [private]

Definition at line 36 of file IgDispatcher.h.

template<class Message>
typedef std::vector<Observer> IgDispatcher< Message >::List [private]

Definition at line 35 of file IgDispatcher.h.

template<class Message>
typedef lat::Callback1<Message> IgDispatcher< Message >::Observer

Definition at line 23 of file IgDispatcher.h.


Constructor & Destructor Documentation

template<class Message>
IgDispatcher< Message >::IgDispatcher ( void   )  [inline]

Definition at line 47 of file IgDispatcher.h.

00048 {}


Member Function Documentation

template<class Message>
void IgDispatcher< Message >::add ( const Observer listener  )  [inline]

Definition at line 52 of file IgDispatcher.h.

References IgDispatcher< Message >::m_list.

Referenced by VisRootBrowser::VisRootBrowser().

00053 { m_list.push_back (listener); }

template<class Message>
void IgDispatcher< Message >::broadcast ( Message  event  )  const [inline]

Definition at line 66 of file IgDispatcher.h.

References IgDispatcher< Message >::m_list.

Referenced by VisRootModel::changed(), and VisQueueProcessor::doNextEvent().

00067 {
00068     for (const_iterator pos = m_list.begin (); pos != m_list.end (); ++pos)
00069         (*pos) (event);
00070 }

template<class Message>
void IgDispatcher< Message >::remove ( const Observer listener  )  [inline]

Definition at line 57 of file IgDispatcher.h.

References ASSERT, find(), and IgDispatcher< Message >::m_list.

00058 {
00059     iterator pos = std::find (m_list.begin (), m_list.end(), listener);
00060     ASSERT (pos != m_list.end ());
00061     m_list.erase (pos);
00062 }


Member Data Documentation

template<class Message>
List IgDispatcher< Message >::m_list [private]

Definition at line 39 of file IgDispatcher.h.

Referenced by IgDispatcher< Message >::add(), IgDispatcher< Message >::broadcast(), and IgDispatcher< Message >::remove().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:25:10 2009 for CMSSW by  doxygen 1.5.4