BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
IObservable Class Reference
Collaboration diagram for IObservable:

Public Types

typedef std::shared_ptr< IObserverobserver_t
 

Public Member Functions

virtual ~IObservable ()
 
virtual void attachObserver (observer_t obj)
 
virtual void notifyObservers ()
 

Private Attributes

std::list< observer_tm_observers
 

Detailed Description

Observable interface from Observer pattern.

Definition at line 38 of file IObserver.h.

Member Typedef Documentation

◆ observer_t

typedef std::shared_ptr<IObserver> IObservable::observer_t

Shared pointer is used when passing these objects from Python to C++.

Definition at line 42 of file IObserver.h.

Constructor & Destructor Documentation

◆ ~IObservable()

IObservable::~IObservable ( )
virtualdefault

Member Function Documentation

◆ attachObserver()

void IObservable::attachObserver ( observer_t  obj)
virtual

attach observer to the list of observers

Definition at line 17 of file IObserver.cpp.

18 {
19  m_observers.push_back(obj);
20 }
std::list< observer_t > m_observers
Definition: IObserver.h:53

References m_observers.

◆ notifyObservers()

void IObservable::notifyObservers ( )
virtual

notify observers about change in status

Definition at line 22 of file IObserver.cpp.

23 {
24  for (auto it : m_observers)
25  it->notify(this);
26 }

References m_observers.

Member Data Documentation

◆ m_observers

std::list<observer_t> IObservable::m_observers
private

Definition at line 53 of file IObserver.h.

Referenced by attachObserver(), and notifyObservers().


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