![]() |
Rosetta
2016.11
|
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.
Acyclic After Adding an Observer of This Subject?
References ObjexxFCL::internal::ObserverMediator::acyclic().
Referenced by ObjexxFCL::ObserverSingle::insert_observer(), and ObjexxFCL::ObserverMulti::insert_observer().
|
pure virtual |
Update for Destruction of a Subject.
Implemented in ObjexxFCL::FArray6P< typename >, ObjexxFCL::FArray5P< typename >, ObjexxFCL::FArray4P< typename >, ObjexxFCL::FArray3P< typename >, ObjexxFCL::DynamicIndexRange, ObjexxFCL::FArray2P< typename >, ObjexxFCL::KeyFArray6D< typename >, ObjexxFCL::FArray6D< typename >, ObjexxFCL::FArray1P< typename >, ObjexxFCL::KeyFArray5D< typename >, ObjexxFCL::FArray5D< typename >, ObjexxFCL::KeyFArray4D< typename >, ObjexxFCL::FArray4D< typename >, ObjexxFCL::KeyFArray3D< typename >, ObjexxFCL::FArray3D< typename >, ObjexxFCL::KeyFArray2D< typename >, ObjexxFCL::FArray2D< typename >, ObjexxFCL::FArray2D< double >, ObjexxFCL::KeyFArray1D< typename >, ObjexxFCL::FArray1D< typename >, ObjexxFCL::FArray1D< double >, and ObjexxFCL::Dimension.
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::ObserverMulti, and ObjexxFCL::ObserverSingle.
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::FArray1D< double >::clear(), ObjexxFCL::KeyFArray1D< typename >::clear(), ObjexxFCL::FArray2D< double >::clear(), ObjexxFCL::KeyFArray2D< typename >::clear(), ObjexxFCL::FArray3D< typename >::clear(), ObjexxFCL::KeyFArray3D< typename >::clear(), ObjexxFCL::FArray4D< typename >::clear(), ObjexxFCL::KeyFArray4D< typename >::clear(), ObjexxFCL::FArray5D< typename >::clear(), ObjexxFCL::KeyFArray5D< typename >::clear(), ObjexxFCL::FArray6D< typename >::clear(), ObjexxFCL::KeyFArray6D< typename >::clear(), ObjexxFCL::DynamicIndexRange::clear(), ObjexxFCL::DynamicIndexRange::contain(), ObjexxFCL::DynamicIndexRange::contain_nic(), ObjexxFCL::FArray1D< double >::dimension(), ObjexxFCL::KeyFArray1D< typename >::dimension(), ObjexxFCL::FArray2D< double >::dimension(), ObjexxFCL::KeyFArray2D< typename >::dimension(), ObjexxFCL::FArray3D< typename >::dimension(), ObjexxFCL::KeyFArray3D< typename >::dimension(), ObjexxFCL::FArray4D< typename >::dimension(), ObjexxFCL::KeyFArray4D< typename >::dimension(), ObjexxFCL::FArray5D< typename >::dimension(), ObjexxFCL::KeyFArray5D< typename >::dimension(), ObjexxFCL::FArray6D< typename >::dimension(), ObjexxFCL::KeyFArray6D< typename >::dimension(), ObjexxFCL::FArray1D< double >::dimension_assign(), ObjexxFCL::KeyFArray1D< typename >::dimension_assign(), ObjexxFCL::FArray3D< typename >::dimension_assign(), ObjexxFCL::FArray2D< double >::dimension_assign(), ObjexxFCL::KeyFArray3D< typename >::dimension_assign(), ObjexxFCL::KeyFArray2D< typename >::dimension_assign(), ObjexxFCL::FArray4D< typename >::dimension_assign(), ObjexxFCL::KeyFArray4D< typename >::dimension_assign(), ObjexxFCL::FArray5D< typename >::dimension_assign(), ObjexxFCL::KeyFArray5D< typename >::dimension_assign(), ObjexxFCL::FArray6D< typename >::dimension_assign(), ObjexxFCL::KeyFArray6D< typename >::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::FArray1D< double >::swap(), ObjexxFCL::KeyFArray1D< typename >::swap(), ObjexxFCL::FArray2D< double >::swap(), ObjexxFCL::KeyFArray2D< typename >::swap(), ObjexxFCL::FArray3D< typename >::swap(), ObjexxFCL::KeyFArray3D< typename >::swap(), ObjexxFCL::FArray4D< typename >::swap(), ObjexxFCL::KeyFArray4D< typename >::swap(), ObjexxFCL::FArray5D< typename >::swap(), ObjexxFCL::KeyFArray5D< typename >::swap(), ObjexxFCL::FArray6D< typename >::swap(), ObjexxFCL::KeyFArray6D< typename >::swap(), ObjexxFCL::DynamicIndexRange::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::FArray6P< typename >, ObjexxFCL::FArray5P< typename >, ObjexxFCL::FArray4P< typename >, ObjexxFCL::FArray3P< typename >, ObjexxFCL::DynamicIndexRange, ObjexxFCL::FArray2P< typename >, ObjexxFCL::KeyFArray6D< typename >, ObjexxFCL::FArray6D< typename >, ObjexxFCL::FArray1P< typename >, ObjexxFCL::KeyFArray5D< typename >, ObjexxFCL::FArray5D< typename >, ObjexxFCL::KeyFArray4D< typename >, ObjexxFCL::FArray4D< typename >, ObjexxFCL::KeyFArray3D< typename >, ObjexxFCL::FArray3D< typename >, ObjexxFCL::KeyFArray2D< typename >, ObjexxFCL::FArray2D< typename >, ObjexxFCL::FArray2D< double >, ObjexxFCL::KeyFArray1D< typename >, ObjexxFCL::FArray1D< typename >, ObjexxFCL::FArray1D< double >, and ObjexxFCL::Dimension.
Referenced by yaml.reader.Reader::determine_encoding(), yaml.reader.Reader::forward(), yaml.reader.Reader::peek(), and yaml.reader.Reader::prefix().