Public Member Functions | Protected Member Functions | Protected Attributes
mets::subject< observed_subject > Class Template Reference

template class for subjects (cfr. Observer Design Pattern). More...

#include <observer.hh>

List of all members.

Public Member Functions

virtual void attach (observer< observed_subject > &o)
 Attach a new observer to this subject.
virtual void detach (observer< observed_subject > &o)
 Detach a new observer to this subject.
virtual void notify ()
 Notify all attached observers.
virtual ~subject ()

Protected Member Functions

 subject ()

Protected Attributes

std::set< observer
< observed_subject > * > 
observers_m

Detailed Description

template<typename observed_subject>
class mets::subject< observed_subject >

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.

Definition at line 83 of file observer.hh.


Constructor & Destructor Documentation

template<typename observed_subject>
virtual mets::subject< observed_subject >::~subject ( ) [inline, virtual]

Definition at line 87 of file observer.hh.

template<typename observed_subject >
mets::subject< observed_subject >::subject ( ) [protected]

Definition at line 146 of file observer.hh.


Member Function Documentation

template<typename observed_subject>
void mets::subject< observed_subject >::attach ( observer< observed_subject< observed_subject > > &  o) [virtual]

Attach a new observer to this subject.

Parameters:
o,:a new observer for this subject. if the observer was already present nothing happens.

Definition at line 151 of file observer.hh.

template<typename observed_subject>
void mets::subject< observed_subject >::detach ( observer< observed_subject< observed_subject > > &  o) [virtual]

Detach a new observer to this subject.

Parameters:
o,:observer to detach from this subject. if the observer "o" was not present nothing happens.

Definition at line 156 of file observer.hh.

template<typename observed_subject >
void mets::subject< observed_subject >::notify ( ) [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.

Definition at line 161 of file observer.hh.


Member Data Documentation

template<typename observed_subject>
std::set<observer<observed_subject>*> mets::subject< observed_subject >::observers_m [protected]

Definition at line 112 of file observer.hh.


The documentation for this class was generated from the following file:


pcl
Author(s): Open Perception
autogenerated on Wed Aug 26 2015 15:38:54