12#include "MethodFunctor.h"
37 template <
typename T=
void>
61 template <
class Observer>
89 std::list<IFunctor<T>*> functorPtrs_;
102 template <
typename T>
109 template <
typename T>
110 template <
class Observer>
void
117 template <
typename T>
120 typename std::list< IFunctor<T>* >::iterator pos;
121 pos = functorPtrs_.begin();
122 while (pos != functorPtrs_.end())
134 template <
typename T>
137 typename std::list< IFunctor<T>* >::iterator pos;
138 pos = functorPtrs_.begin();
139 while (pos != functorPtrs_.end())
144 functorPtrs_.clear();
150 template <
typename T>
152 {
return functorPtrs_.size(); }
189 template <
class Observer>
210 std::list<IFunctor<>*> functorPtrs_;
223 template <
class Observer>
void
Functor that wraps a one-argument class member function.
Abstract class template for observer in the observer design pattern.
void addObserver(Observer &observer, void(Observer::*methodPtr)())
Register an observer.
void clear()
Clear all observerse from list.
void notify()
Notify all observers.
Signal()
Default constructor.
int nObserver() const
Get number of registered observers.
Notifier (or subject) in the Observer design pattern.
void addObserver(Observer &observer, void(Observer::*methodPtr)(const T &))
Register an observer.
Signal()
Default constructor.
void clear()
Clear all observerse from list.
int nObserver() const
Get number of registered observers.
void notify(const T &t)
Notify all observers.
Utility classes for scientific computation.