Rosetta Core  2014.35
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>

Public Types

typedef Super::Size Size
 
- Public Types inherited from basic::datacache::DataCache< CacheableObserver >
typedef
utility::pointer::owning_ptr
< CacheableObserver > 
DataOP
 
typedef
utility::pointer::owning_ptr
< CacheableObserverconst > 
DataCOP
 
typedef
utility::pointer::access_ptr
< CacheableObserver > 
DataAP
 
typedef
utility::pointer::access_ptr
< CacheableObserverconst > 
DataCAP
 

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...
 
- Public Member Functions inherited from basic::datacache::DataCache< CacheableObserver >
 DataCache ()
 
 DataCache (std::size_t const n_slots)
 
 DataCache (DataCache const &src)
 
virtual ~DataCache ()
 
DataCacheoperator= (DataCache const &src)
 
size_t size () const
 
void resize (std::size_t const n_slots)
 
void clear ()
 
void clear (std::size_t const slot)
 
bool has (std::size_t const slot) const
 
CacheableObserverconst & get (std::size_t const slot) const
 
D const & get (std::size_t const slot) const
 
CacheableObserver & get (std::size_t const slot)
 
D & get (std::size_t const slot)
 
DataCOP get_const_ptr (std::size_t const slot) const
 
utility::pointer::owning_ptr
< D const > 
get_const_ptr (std::size_t const slot) const
 
DataOP get_ptr (std::size_t const slot)
 
utility::pointer::owning_ptr< D > get_ptr (std::size_t const slot)
 
CacheableObserverconst * get_raw_const_ptr (std::size_t const slot) const
 
D const * get_raw_const_ptr (std::size_t const slot) const
 
CacheableObserver * get_raw_ptr (std::size_t const slot)
 
D * get_raw_ptr (std::size_t const slot)
 
void set (std::size_t const slot, DataOP new_data)
 

Protected Types

typedef Super::DataOPs ObserverOPs
 
- Protected Types inherited from basic::datacache::DataCache< CacheableObserver >
typedef utility::vector1< DataOPDataOPs
 

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...
 

Additional Inherited Members

- Protected Member Functions inherited from basic::datacache::DataCache< CacheableObserver >
DataOPs const & data () const
 
DataOPsdata ()
 

Detailed Description

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

Member Typedef Documentation

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 ( )
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 basic::datacache::DataCache< CacheableObserver >::data(), basic::datacache::DataCache< CacheableObserver >::has(), and pose_.

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

clear all the observers

References basic::datacache::DataCache< CacheableObserver >::clear(), and detach().

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

clear the observer in a selected slot

References basic::datacache::DataCache< CacheableObserver >::clear(), and detach().

void core::pose::datacache::ObserverCache::detach ( )
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.

References basic::datacache::DataCache< CacheableObserver >::data(), and basic::datacache::DataCache< CacheableObserver >::has().

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

References basic::datacache::DataCache< CacheableObserver >::data(), and basic::datacache::DataCache< CacheableObserver >::has().

Referenced by operator=().

ObserverCache & core::pose::datacache::ObserverCache::operator= ( ObserverCache const &  rval)
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
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(), basic::datacache::DataCache< CacheableObserver >::data(), detach(), and utility::pointer::owning_ptr< T >::get().

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: