PSCF v1.1
Signal.cpp
1/*
2* Util Package - C++ Utilities for Scientific Computation
3*
4* Copyright 2010 - 2017, The Regents of the University of Minnesota
5* Distributed under the terms of the GNU General Public License.
6*/
7
8#include "Signal.h"
9
10namespace Util
11{
12
13 /*
14 * Destructor.
15 */
17 { clear(); }
18
19 /*
20 * Notify observers (call associated methods).
21 */
23 {
24 std::list< IFunctor<>* >::iterator pos;
25 pos = functorPtrs_.begin();
26 while (pos != functorPtrs_.end())
27 {
28 (**pos)();
29 ++pos;
30 }
31 }
32
33 /*
34 * Notify observers (call associated methods).
35 */
37 {
38 std::list< IFunctor<>* >::iterator pos;
39 pos = functorPtrs_.begin();
40 while (pos != functorPtrs_.end())
41 {
42 delete *pos;
43 ++pos;
44 }
45 functorPtrs_.clear();
46 }
47
48 /*
49 * Get number of registered observers.
50 */
52 { return functorPtrs_.size(); }
53
54}
~Signal()
Destructor.
Definition: Signal.cpp:16
void clear()
Clear all observerse from list.
Definition: Signal.cpp:36
int nObserver() const
Get number of registered observers.
Definition: Signal.cpp:51
void notify(const T &t)
Notify all observers.
Definition: Signal.cpp:22
Utility classes for scientific computation.
Definition: accumulators.mod:1