Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | List of all members
ObjexxFCL::Observer Class Referenceabstract

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

#include <Observer.hh>

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

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...
 
Observeroperator= (Observer const &)
 Copy Assignment. More...
 

Detailed Description

Observer: Combined Subject + Observer Abstract Base Class.

Constructor & Destructor Documentation

ObjexxFCL::Observer::Observer ( )
inlineprotected

Default Constructor.

ObjexxFCL::Observer::Observer ( Observer const &  )
inlineprotected

Copy Constructor.

virtual ObjexxFCL::Observer::~Observer ( )
inlinevirtual

Destructor.

Member Function Documentation

bool ObjexxFCL::Observer::acyclic ( Observer observer) const
virtual void ObjexxFCL::Observer::destructed ( Subject const &  )
pure virtual
virtual bool ObjexxFCL::Observer::has_observer ( ) const
pure virtual

Has At Least One Observer?

Implemented in ObjexxFCL::ObserverSingle, and ObjexxFCL::ObserverMulti.

Referenced by notify().

virtual void ObjexxFCL::Observer::insert_observer ( Observer ) const
pure virtual
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::FArray2D< double >::dimension_assign(), ObjexxFCL::FArray3D< typename >::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().

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

Copy Assignment.

virtual void ObjexxFCL::Observer::remove_observer ( Observer ) const
pure virtual
virtual void ObjexxFCL::Observer::update ( )
pure virtual

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