Rosetta Core  2014.35
Public Member Functions | Protected Member Functions | Private Types | List of all members
core::pose::datacache::CacheableObserver Class Referenceabstract

Base class for Pose/Conformation observers that are stored in a Pose's DataCache. More...

#include <CacheableObserver.hh>

Public Member Functions

 CacheableObserver ()
 default constructor More...
 
 CacheableObserver (CacheableObserver const &rval)
 copy constructor More...
 
virtual ~CacheableObserver ()
 default destructor More...
 
CacheableObserveroperator= (CacheableObserver const &rval)
 copy assignment More...
 
virtual CacheableObserverOP clone ()=0
 clone this object More...
 
virtual CacheableObserverOP create ()=0
 create a new instance of this object More...
 
void attach_to (Pose &pose)
 attach to Pose/Conformation Derived classes do not overload this method – see attach_impl() instead. More...
 
void detach_from ()
 detach from Pose/Conformation More...
 
virtual bool is_attached () const =0
 is this observer attached to a Pose/Conformation? More...
 

Protected Member Functions

virtual void attach_impl (Pose &pose)=0
 attach to Pose/Conformation More...
 
virtual void detach_impl ()=0
 detach from Pose/Conformation More...
 

Private Types

typedef
utility::pointer::ReferenceCount 
Super
 

Detailed Description

Base class for Pose/Conformation observers that are stored in a Pose's DataCache.

Classes derived from CacheableObserver whose instances are stored inside a Pose's ObserverCache will be cloned and re-attached to the new Pose instance upon Pose copy construction/assignment. CacheableObservers should not need to attach themselves independently unless necessary – attach/detach should be done through the ObserverCache's interface. For example, the ObserverCache can attach the observer upon calling ObserverCache::set().

Warning
When deriving from this class remember that Links or pointers to subjects stored in classes are not to be copied when copy constructor/assignment is called.

Member Typedef Documentation

Constructor & Destructor Documentation

core::pose::datacache::CacheableObserver::CacheableObserver ( )

default constructor

core::pose::datacache::CacheableObserver::CacheableObserver ( CacheableObserver const &  rval)

copy constructor

Warning
Subject being observed (represented by Link/pointer) is not copied!
core::pose::datacache::CacheableObserver::~CacheableObserver ( )
virtual

default destructor

Warning
Derived classes must remember to detach on destruction!

Member Function Documentation

virtual void core::pose::datacache::CacheableObserver::attach_impl ( Pose pose)
protectedpure virtual

attach to Pose/Conformation

Implemented in core::pose::datacache::SpecialSegmentsObserver, and core::pose::datacache::LengthEventCollector.

Referenced by attach_to().

void core::pose::datacache::CacheableObserver::attach_to ( Pose pose)

attach to Pose/Conformation Derived classes do not overload this method – see attach_impl() instead.

References attach_impl(), and detach_from().

virtual CacheableObserverOP core::pose::datacache::CacheableObserver::clone ( )
pure virtual

clone this object

Warning
Subject (represented by Link/pointer) is not copied!

Implemented in core::pose::datacache::SpecialSegmentsObserver, and core::pose::datacache::LengthEventCollector.

virtual CacheableObserverOP core::pose::datacache::CacheableObserver::create ( )
pure virtual

create a new instance of this object

Implemented in core::pose::datacache::SpecialSegmentsObserver, and core::pose::datacache::LengthEventCollector.

void core::pose::datacache::CacheableObserver::detach_from ( )

detach from Pose/Conformation

Remarks
Derived classes do not overload this method – see detach_impl() instead.

References detach_impl().

Referenced by attach_to(), core::pose::datacache::LengthEventCollector::~LengthEventCollector(), and core::pose::datacache::SpecialSegmentsObserver::~SpecialSegmentsObserver().

virtual void core::pose::datacache::CacheableObserver::detach_impl ( )
protectedpure virtual

detach from Pose/Conformation

Implemented in core::pose::datacache::SpecialSegmentsObserver, and core::pose::datacache::LengthEventCollector.

Referenced by detach_from().

virtual bool core::pose::datacache::CacheableObserver::is_attached ( ) const
pure virtual

is this observer attached to a Pose/Conformation?

Implemented in core::pose::datacache::SpecialSegmentsObserver, and core::pose::datacache::LengthEventCollector.

CacheableObserver & core::pose::datacache::CacheableObserver::operator= ( CacheableObserver const &  rval)

copy assignment

Warning
Subject being observed (represented by Link/pointer) is not copied!

Referenced by core::pose::datacache::LengthEventCollector::operator=(), and core::pose::datacache::SpecialSegmentsObserver::operator=().


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