Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Types | Private Types | Private Member Functions | Private Attributes | List of all members
core::pose::datacache::ObserverCache Class Reference

A DataCache storing Pose/Conformation observers derived from core::pose::datacache::CacheableObserver. More...

#include <ObserverCache.hh>

Inheritance diagram for core::pose::datacache::ObserverCache:
Inheritance graph
[legend]
Collaboration diagram for core::pose::datacache::ObserverCache:
Collaboration graph
[legend]

Public Types

typedef Super::Size Size
 

Public Member Functions

 ObserverCache (Size const n_slots, Pose &pose)
 constructor More...
 
virtual ~ObserverCache ()
 default destructor More...
 
ObserverCacheoperator= (ObserverCache const &rval)
 copy assignment More...
 
void clear ()
 clear all the observers More...
 
void clear (Size const slot)
 clear the observer in a selected slot More...
 
void set (Size const slot, CacheableObserverOP observer)
 store a copy of the observer in the given slot and attach it to the Pose More...
 
void set (Size const slot, CacheableObserverOP observer, bool const auto_attach)
 store a copy of the observer in the given slot More...
 
bool is_attached (Size const slot) const
 is the observer in the slot attached to the Pose? More...
 
void attach ()
 attach all stored observers to the Pose More...
 
void detach ()
 detach all observers from the Pose More...
 
void attach (Size const slot)
 attach an observer in a particular slot to the Pose More...
 
void detach (Size const slot)
 detach an observer in a particular slot to the Pose More...
 

Protected Types

typedef Super::DataOPs ObserverOPs
 

Private Types

typedef
basic::datacache::DataCache
< CacheableObserver
Super
 

Private Member Functions

 ObserverCache ()
 default constructor More...
 
 ObserverCache (ObserverCache const &rval)
 copy constructor More...
 

Private Attributes

Posepose_
 The Pose being watched by the observers in this cache. More...
 

Detailed Description

A DataCache storing Pose/Conformation observers derived from core::pose::datacache::CacheableObserver.

Member Typedef Documentation

typedef Super::DataOPs core::pose::datacache::ObserverCache::ObserverOPs
protected
typedef basic::datacache::DataCache< CacheableObserver > core::pose::datacache::ObserverCache::Super
private

Constructor & Destructor Documentation

core::pose::datacache::ObserverCache::ObserverCache ( Size const  n_slots,
Pose pose 
)

constructor

Parameters
[in]n_typesThe number of slots for this ObserverCache.
[in]poseThe Pose that will be watched by the Observers in this cache.
core::pose::datacache::ObserverCache::~ObserverCache ( )
virtual

default destructor

References detach().

core::pose::datacache::ObserverCache::ObserverCache ( )
private

default constructor

core::pose::datacache::ObserverCache::ObserverCache ( ObserverCache const &  rval)
private

copy constructor

Member Function Documentation

void core::pose::datacache::ObserverCache::attach ( )

attach all stored observers to the Pose

References core::io::serialization::size().

Referenced by operator=(), and set().

void core::pose::datacache::ObserverCache::attach ( Size const  slot)

attach an observer in a particular slot to the Pose

Parameters
[in]slotAttach the observer in this slot.

References pose_.

void core::pose::datacache::ObserverCache::clear ( )

clear all the observers

References detach().

void core::pose::datacache::ObserverCache::clear ( Size const  slot)

clear the observer in a selected slot

References detach().

void core::pose::datacache::ObserverCache::detach ( )

detach all observers from the Pose

References core::io::serialization::size().

Referenced by clear(), operator=(), set(), and ~ObserverCache().

void core::pose::datacache::ObserverCache::detach ( Size const  slot)

detach an observer in a particular slot to the Pose

Parameters
[in]slotDetach the observer in this slot.
bool core::pose::datacache::ObserverCache::is_attached ( Size const  slot) const

is the observer in the slot attached to the Pose?

Returns
true if attached, false if not attached or no observer exists in the slot

Referenced by operator=().

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

copy assignment

References attach(), detach(), and is_attached().

void core::pose::datacache::ObserverCache::set ( Size const  slot,
CacheableObserverOP  observer 
)

store a copy of the observer in the given slot and attach it to the Pose

Parameters
[in]Theslot to use.
[in]observerThe Observer to clone() and store.
Remarks
this function exists to ensure the base class version is overridden

Referenced by protocols::forge::remodel::RemodelMover::apply(), protocols::forge::components::VarLengthBuild::centroid_build(), protocols::toolbox::match_enzdes_util::get_enzdes_observer(), protocols::enzdes::EnzdesJobInputter::pose_from_job(), and protocols::seeded_abinitio::GrowPeptides::setup_cached_observers().

void core::pose::datacache::ObserverCache::set ( Size const  slot,
CacheableObserverOP  observer,
bool const  auto_attach 
)

store a copy of the observer in the given slot

Parameters
[in]Theslot to use.
[in]observerThe Observer to clone() and store.
[in]auto_attachAttach the observer to the Pose?

References attach(), and detach().

Member Data Documentation

Pose* core::pose::datacache::ObserverCache::pose_
private

The Pose being watched by the observers in this cache.

Remarks
This must be a pointer and not an owning pointer in case the Pose is on the stack.

Referenced by attach().


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