Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
ObjexxFCL::ObserverMulti Class Reference

ObserverMulti: Combined Subject + Multi Observer Abstract Base Class. More...

#include <ObserverMulti.hh>

Inheritance diagram for ObjexxFCL::ObserverMulti:
Inheritance graph
[legend]

Public Types

typedef SetWrapper< Observer * > Observers
 

Public Member Functions

 ~ObserverMulti () override
 Destructor. More...
 
void insert_observer (Observer &observer) const override
 Insert an Observer. More...
 
void remove_observer (Observer &observer) const override
 Remove an Observer. More...
 
bool has_observer () const override
 Has At Least One Observer? More...
 
Observers const * observers_p () const
 Observers Pointer. More...
 
Observers const & observers () const
 Observers. More...
 
void notify_destructed () const
 Notify Observers That This Subject is Being Destructed. More...
 
- Public Member Functions inherited from ObjexxFCL::Observer
virtual ~Observer ()
 Destructor. More...
 
void notify () const
 Notify Observers That This Subject Has Changed. More...
 
bool acyclic (Observer &) const
 Acyclic After Adding an Observer of This Subject? More...
 
virtual void update ()=0
 Update. More...
 
virtual void destructed (Subject const &)=0
 Update for Destruction of a Subject. More...
 

Protected Member Functions

 ObserverMulti ()
 Default Constructor. More...
 
 ObserverMulti (ObserverMulti const &)
 Copy Constructor. More...
 
ObserverMultioperator= (ObserverMulti const &)
 Copy Assignment. More...
 
- Protected Member Functions inherited from ObjexxFCL::Observer
 Observer ()
 Default Constructor. More...
 
 Observer (Observer const &)
 Copy Constructor. More...
 
Observeroperator= (Observer const &)
 Copy Assignment. More...
 

Private Member Functions

void do_remove_observer (Observer &observer) const
 Remove an Observer. More...
 
bool do_has_observer () const
 Has At Least One Observer? More...
 
void do_notify_destructed () const
 Notify Observers That This Subject is Being Destructed. More...
 

Private Attributes

Observersobservers_p_
 Observers of this Subject. More...
 

Detailed Description

ObserverMulti: Combined Subject + Multi Observer Abstract Base Class.

Member Typedef Documentation

Constructor & Destructor Documentation

ObjexxFCL::ObserverMulti::ObserverMulti ( )
inlineprotected

Default Constructor.

ObjexxFCL::ObserverMulti::ObserverMulti ( ObserverMulti const &  )
inlineprotected

Copy Constructor.

ObjexxFCL::ObserverMulti::~ObserverMulti ( )
override

Destructor.

References notify_destructed(), and observers_p_.

Member Function Documentation

bool ObjexxFCL::ObserverMulti::do_has_observer ( ) const
private

Has At Least One Observer?

References basic::options::OptionKeys::score::empty, and observers_p_.

Referenced by has_observer().

void ObjexxFCL::ObserverMulti::do_notify_destructed ( ) const
private

Notify Observers That This Subject is Being Destructed.

References observers_p_.

Referenced by notify_destructed().

void ObjexxFCL::ObserverMulti::do_remove_observer ( Observer observer) const
private

Remove an Observer.

References observers_p_.

Referenced by remove_observer().

bool ObjexxFCL::ObserverMulti::has_observer ( ) const
inlineoverridevirtual

Has At Least One Observer?

Implements ObjexxFCL::Observer.

References do_has_observer(), and observers_p_.

void ObjexxFCL::ObserverMulti::insert_observer ( Observer observer) const
overridevirtual
void ObjexxFCL::ObserverMulti::notify_destructed ( ) const
inline

Notify Observers That This Subject is Being Destructed.

References do_notify_destructed(), and observers_p_.

Referenced by ~ObserverMulti().

Observers const& ObjexxFCL::ObserverMulti::observers ( ) const
inline

Observers.

References observers_p_.

Observers const* ObjexxFCL::ObserverMulti::observers_p ( ) const
inline

Observers Pointer.

References observers_p_.

ObserverMulti& ObjexxFCL::ObserverMulti::operator= ( ObserverMulti const &  )
inlineprotected

Copy Assignment.

void ObjexxFCL::ObserverMulti::remove_observer ( Observer observer) const
inlineoverridevirtual

Member Data Documentation

Observers* ObjexxFCL::ObserverMulti::observers_p_
mutableprivate

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