METSlib 0.6

- Main Page
- Modules
- Classes

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Attributes | List of all members
mets::subject< observed_subject > Class Template Reference

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

`#include <observer.hh>`

Collaboration diagram for mets::subject< observed_subject >:

## 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

## 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.

## 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.

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.

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.

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

- metslib/observer.hh

Return to METSlib home page