METSlib
0.6
|
template class for subjects (cfr. Observer Design Pattern). More...
#include <observer.hh>
Public Member Functions | |
virtual void | attach (observer< observed_subject > &o) |
Attach a new observer to this subject. More... | |
virtual void | detach (observer< observed_subject > &o) |
Detach a new observer to this subject. More... | |
virtual void | notify () |
Notify all attached observers. More... | |
Protected Attributes | |
std::set< observer < observed_subject > * > | observers_m |
template class for subjects (cfr. Observer Design Pattern).
You must declare the subject of the observations with:
class my_observed_sbj : public subject<my_observed_sbj>
Than you should call notify() manually or automatically from every method that changes the subject status.
Only attached observers (cfr. attach() and detach() methods) will be notified.
|
virtual |
Attach a new observer to this subject.
o,: | a new observer for this subject. if the observer was already present nothing happens. |
|
virtual |
Detach a new observer to this subject.
o,: | observer to detach from this subject. if the observer "o" was not present nothing happens. |
|
virtual |
Notify all attached observers.
When this method is called every observed_subject::update method is called and "this" subject is passed as a param.
Return to METSlib home page