Rosetta
|
Observer: Combined Subject + Observer Abstract Base Class. More...
#include <Observer.hh>
Public Member Functions | |
virtual | ~Observer () |
Destructor. More... | |
virtual void | insert_observer (Observer &) const =0 |
Insert an Observer. More... | |
virtual void | remove_observer (Observer &) const =0 |
Remove an Observer. More... | |
virtual bool | has_observer () const =0 |
Has At Least One Observer? 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 | |
Observer () | |
Default Constructor. More... | |
Observer (Observer const &) | |
Copy Constructor. More... | |
Observer & | operator= (Observer const &) |
Copy Assignment. More... | |
|
inlineprotected |
Default Constructor.
|
inlineprotected |
Copy Constructor.
|
inlinevirtual |
Destructor.
bool ObjexxFCL::Observer::acyclic | ( | Observer & | observer | ) | const |
Acyclic After Adding an Observer of This Subject?
References ObjexxFCL::internal::ObserverMediator::acyclic(), and test.T150_PyMOL_Integration::observer.
Referenced by ObjexxFCL::ObserverMulti::insert_observer(), and ObjexxFCL::ObserverSingle::insert_observer().
|
pure virtual |
Update for Destruction of a Subject.
Implemented in ObjexxFCL::FArray6P< T >, ObjexxFCL::FArray5P< T >, ObjexxFCL::FArray4P< T >, ObjexxFCL::FArray3P< T >, ObjexxFCL::FArray2P< T >, ObjexxFCL::FArray1P< T >, ObjexxFCL::Dimension, ObjexxFCL::KeyFArray6D< T >, ObjexxFCL::KeyFArray5D< T >, ObjexxFCL::KeyFArray4D< T >, ObjexxFCL::KeyFArray3D< T >, ObjexxFCL::KeyFArray2D< T >, ObjexxFCL::KeyFArray1D< T >, ObjexxFCL::FArray6D< T >, ObjexxFCL::FArray5D< T >, ObjexxFCL::FArray4D< T >, ObjexxFCL::FArray3D< T >, ObjexxFCL::FArray3D< double >, ObjexxFCL::FArray3D< vector1< numeric::xyzVector > >, ObjexxFCL::FArray2D< T >, ObjexxFCL::FArray2D< numeric::xyzVector >, ObjexxFCL::FArray2D< double >, ObjexxFCL::FArray2D< float >, ObjexxFCL::FArray2D< core::Real >, ObjexxFCL::FArray1D< T >, ObjexxFCL::FArray1D< double >, and ObjexxFCL::DynamicIndexRange.
Referenced by ObjexxFCL::ObserverSingle::notify_destructed().
|
pure virtual |
Has At Least One Observer?
Implemented in ObjexxFCL::ObserverSingle, and ObjexxFCL::ObserverMulti.
Referenced by notify().
|
pure virtual |
Insert an Observer.
Implemented in ObjexxFCL::ObserverSingle, and ObjexxFCL::ObserverMulti.
void ObjexxFCL::Observer::notify | ( | ) | const |
Notify Observers That This Subject Has Changed.
References has_observer(), and ObjexxFCL::internal::ObserverMediator::notify().
Referenced by ObjexxFCL::DynamicIndexRange::assign(), ObjexxFCL::Dimension::assign_if(), ObjexxFCL::Dimension::assign_if_bigger(), ObjexxFCL::Dimension::assign_if_half(), ObjexxFCL::Dimension::assign_value_of(), ObjexxFCL::Dimension::clear(), ObjexxFCL::FArray6D< T >::clear(), ObjexxFCL::KeyFArray1D< T >::clear(), ObjexxFCL::KeyFArray2D< T >::clear(), ObjexxFCL::KeyFArray3D< T >::clear(), ObjexxFCL::KeyFArray4D< T >::clear(), ObjexxFCL::KeyFArray5D< T >::clear(), ObjexxFCL::KeyFArray6D< T >::clear(), ObjexxFCL::DynamicIndexRange::clear(), ObjexxFCL::FArray1D< T >::clear(), ObjexxFCL::FArray2D< T >::clear(), ObjexxFCL::FArray3D< T >::clear(), ObjexxFCL::FArray4D< T >::clear(), ObjexxFCL::FArray5D< T >::clear(), ObjexxFCL::DynamicIndexRange::contain(), ObjexxFCL::DynamicIndexRange::contain_nic(), ObjexxFCL::FArray2D< T >::dimension(), ObjexxFCL::KeyFArray2D< T >::dimension(), ObjexxFCL::FArray3D< T >::dimension(), ObjexxFCL::KeyFArray3D< T >::dimension(), ObjexxFCL::FArray4D< T >::dimension(), ObjexxFCL::KeyFArray4D< T >::dimension(), ObjexxFCL::FArray5D< T >::dimension(), ObjexxFCL::KeyFArray5D< T >::dimension(), ObjexxFCL::FArray6D< T >::dimension(), ObjexxFCL::KeyFArray6D< T >::dimension(), ObjexxFCL::FArray1D< T >::dimension(), ObjexxFCL::KeyFArray1D< T >::dimension(), ObjexxFCL::KeyFArray2D< T >::dimension_assign(), ObjexxFCL::FArray2D< T >::dimension_assign(), ObjexxFCL::KeyFArray3D< T >::dimension_assign(), ObjexxFCL::FArray3D< T >::dimension_assign(), ObjexxFCL::KeyFArray4D< T >::dimension_assign(), ObjexxFCL::FArray4D< T >::dimension_assign(), ObjexxFCL::KeyFArray5D< T >::dimension_assign(), ObjexxFCL::FArray5D< T >::dimension_assign(), ObjexxFCL::FArray6D< T >::dimension_assign(), ObjexxFCL::KeyFArray6D< T >::dimension_assign(), ObjexxFCL::KeyFArray1D< T >::dimension_assign(), ObjexxFCL::FArray1D< T >::dimension_assign(), ObjexxFCL::DynamicIndexRange::intersect(), ObjexxFCL::DynamicIndexRange::intersect_nic(), ObjexxFCL::DynamicIndexRange::l(), ObjexxFCL::Dimension::operator*=(), ObjexxFCL::Dimension::operator++(), ObjexxFCL::Dimension::operator+=(), ObjexxFCL::Dimension::operator--(), ObjexxFCL::Dimension::operator-=(), ObjexxFCL::Dimension::operator/=(), ObjexxFCL::Dimension::operator=(), ObjexxFCL::DynamicIndexRange::operator=(), ObjexxFCL::Dimension::swap(), ObjexxFCL::DynamicIndexRange::swap(), ObjexxFCL::FArray1D< T >::swap(), ObjexxFCL::FArray2D< T >::swap(), ObjexxFCL::FArray3D< T >::swap(), ObjexxFCL::FArray4D< T >::swap(), ObjexxFCL::FArray5D< T >::swap(), ObjexxFCL::FArray6D< T >::swap(), ObjexxFCL::KeyFArray1D< T >::swap(), ObjexxFCL::KeyFArray2D< T >::swap(), ObjexxFCL::KeyFArray3D< T >::swap(), ObjexxFCL::KeyFArray4D< T >::swap(), ObjexxFCL::KeyFArray5D< T >::swap(), ObjexxFCL::KeyFArray6D< T >::swap(), ObjexxFCL::DynamicIndexRange::u(), ObjexxFCL::Dimension::update_notify(), and ObjexxFCL::Dimension::update_notify_if_changed().
|
pure virtual |
Remove an Observer.
Implemented in ObjexxFCL::ObserverSingle, and ObjexxFCL::ObserverMulti.
|
pure virtual |
Update.
Implemented in ObjexxFCL::KeyFArray6D< T >, ObjexxFCL::KeyFArray5D< T >, ObjexxFCL::KeyFArray4D< T >, ObjexxFCL::KeyFArray3D< T >, ObjexxFCL::KeyFArray2D< T >, ObjexxFCL::KeyFArray1D< T >, ObjexxFCL::FArray6P< T >, ObjexxFCL::FArray6D< T >, ObjexxFCL::FArray5P< T >, ObjexxFCL::FArray5D< T >, ObjexxFCL::FArray4P< T >, ObjexxFCL::FArray4D< T >, ObjexxFCL::FArray3P< T >, ObjexxFCL::FArray3D< T >, ObjexxFCL::FArray3D< double >, ObjexxFCL::FArray3D< vector1< numeric::xyzVector > >, ObjexxFCL::FArray2P< T >, ObjexxFCL::FArray2D< T >, ObjexxFCL::FArray2D< numeric::xyzVector >, ObjexxFCL::FArray2D< double >, ObjexxFCL::FArray2D< float >, ObjexxFCL::FArray2D< core::Real >, ObjexxFCL::FArray1P< T >, ObjexxFCL::FArray1D< T >, ObjexxFCL::FArray1D< double >, ObjexxFCL::DynamicIndexRange, and ObjexxFCL::Dimension.