MNE-CPP  0.1.9
A Framework for Electrophysiology
observerpattern.cpp
Go to the documentation of this file.
1 //=============================================================================================================
36 //=============================================================================================================
37 // INCLUDES
38 //=============================================================================================================
39 
40 #include "observerpattern.h"
41 
42 using namespace UTILSLIB;
43 
44 //=============================================================================================================
45 // DEFINE MEMBER METHODS
46 //=============================================================================================================
47 
49 {
50 }
51 
52 //=============================================================================================================
53 
54 void Subject::attach(IObserver* pObserver)
55 {
56  m_Observers.insert(pObserver);
57 }
58 
59 //=============================================================================================================
60 
61 void Subject::detach(IObserver* pObserver)
62 {
63  m_Observers.erase(m_Observers.find(pObserver));
64  //m_Observers.erase(observer); //C++ <set> STL implementation
65 }
66 
67 //=============================================================================================================
68 
70 {
71  if(notifyEnabled)
72  {
73  t_Observers::const_iterator it = m_Observers.begin();
74  for( ; it != m_Observers.end(); ++it)
75  (*it)->update(this);
76 // for(auto observer : m_Observers){
77 // observer->update(this);
78 // }
79  }
80 }
81 
82 //=============================================================================================================
83 // STATIC DEFINITIONS
84 //=============================================================================================================
85 
86 bool Subject::notifyEnabled = true;
void attach(IObserver *pObserver)
Contains declarations of the observer design pattern: Subject class and IObserver interface...
The IObserver interface provides the base class of every observer of the observer design pattern...
static bool notifyEnabled
void detach(IObserver *pObserver)