![]() |
Rosetta
2020.11
|
ObserverMulti: Combined Subject + Multi Observer Abstract Base Class. More...
#include <ObserverMulti.hh>
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... | |
![]() | |
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... | |
ObserverMulti & | operator= (ObserverMulti const &) |
Copy Assignment. More... | |
![]() | |
Observer () | |
Default Constructor. More... | |
Observer (Observer const &) | |
Copy Constructor. More... | |
Observer & | operator= (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 | |
Observers * | observers_p_ |
Observers of this Subject. More... | |
ObserverMulti: Combined Subject + Multi Observer Abstract Base Class.
|
inlineprotected |
Default Constructor.
|
inlineprotected |
Copy Constructor.
|
override |
Destructor.
References notify_destructed(), and observers_p_.
|
private |
Has At Least One Observer?
References basic::options::OptionKeys::score::empty, and observers_p_.
Referenced by has_observer().
|
private |
Notify Observers That This Subject is Being Destructed.
References observers_p_.
Referenced by notify_destructed().
|
private |
|
inlineoverridevirtual |
Has At Least One Observer?
Implements ObjexxFCL::Observer.
References do_has_observer(), and observers_p_.
|
overridevirtual |
Insert an Observer.
Implements ObjexxFCL::Observer.
References ObjexxFCL::Observer::acyclic(), basic::options::OptionKeys::ufv::insert::insert, and observers_p_.
Referenced by ObjexxFCL::FArray1P< typename >::attach(), ObjexxFCL::FArray2P< typename >::attach(), ObjexxFCL::FArray3P< typename >::attach(), ObjexxFCL::FArray4P< typename >::attach(), ObjexxFCL::FArray5P< typename >::attach(), ObjexxFCL::FArray6P< typename >::attach(), ObjexxFCL::FArray1P< typename >::insert_as_observer(), ObjexxFCL::FArray2P< typename >::insert_as_observer(), ObjexxFCL::DynamicIndexRange::insert_as_observer(), ObjexxFCL::FArray3P< typename >::insert_as_observer(), ObjexxFCL::FArray4P< typename >::insert_as_observer(), ObjexxFCL::FArray5P< typename >::insert_as_observer(), ObjexxFCL::FArray6P< typename >::insert_as_observer(), ObjexxFCL::Dimension::insert_as_observer_of(), ObjexxFCL::DimensionExpressionRef::insert_observer(), ObjexxFCL::DynamicIndexRange::l_insert_as_observer(), and ObjexxFCL::DynamicIndexRange::u_insert_as_observer().
|
inline |
Notify Observers That This Subject is Being Destructed.
References do_notify_destructed(), and observers_p_.
Referenced by ~ObserverMulti().
|
inline |
Observers.
References observers_p_.
|
inline |
Observers Pointer.
References observers_p_.
|
inlineprotected |
Copy Assignment.
|
inlineoverridevirtual |
Remove an Observer.
Implements ObjexxFCL::Observer.
References do_remove_observer(), and observers_p_.
Referenced by ObjexxFCL::FArray1P< typename >::attach(), ObjexxFCL::FArray2P< typename >::attach(), ObjexxFCL::FArray3P< typename >::attach(), ObjexxFCL::FArray4P< typename >::attach(), ObjexxFCL::FArray5P< typename >::attach(), ObjexxFCL::FArray6P< typename >::attach(), ObjexxFCL::FArray1P< typename >::detach(), ObjexxFCL::FArray2P< typename >::detach(), ObjexxFCL::FArray3P< typename >::detach(), ObjexxFCL::FArray4P< typename >::detach(), ObjexxFCL::FArray5P< typename >::detach(), ObjexxFCL::FArray6P< typename >::detach(), ObjexxFCL::DynamicIndexRange::remove_as_observer(), ObjexxFCL::DimensionExpressionRef::remove_observer(), ObjexxFCL::FArray1P< typename >::~FArray1P(), ObjexxFCL::FArray2P< typename >::~FArray2P(), ObjexxFCL::FArray3P< typename >::~FArray3P(), ObjexxFCL::FArray4P< typename >::~FArray4P(), ObjexxFCL::FArray5P< typename >::~FArray5P(), and ObjexxFCL::FArray6P< typename >::~FArray6P().
|
mutableprivate |
Observers of this Subject.
Referenced by do_has_observer(), do_notify_destructed(), do_remove_observer(), has_observer(), insert_observer(), notify_destructed(), observers(), observers_p(), remove_observer(), and ~ObserverMulti().