IMP Reference Guide
2.20.0
The Integrative Modeling Platform
|
Smart pointer to Object-derived classes that does not refcount. More...
#include <IMP/WeakPointer.h>
Smart pointer to Object-derived classes that does not refcount.
WeakPointers do not do reference counting and do not claim ownership of the pointed object. As a result, they can be used to break cycles in reference counted pointers. For example, since an IMP::Model contains a reference counted pointer to an IMP::Particle, the IMP::Particle has a WeakPointer back to the Model.
This version of a WeakPointer only works on complete types, but adds additional checks of correct usage (eg that the Object has not been previously freed) compared to UncheckedWeakPointer.
Definition at line 77 of file WeakPointer.h.
Public Types | |
typedef IMP::internal::PointerBase < IMP::internal::CheckedWeakPointerTraits < O > > | P |
Public Member Functions | |
template<class Any > | |
WeakPointer (const Any &o) | |
template<class OT > | |
WeakPointer< O > & | operator= (const IMP::internal::PointerBase< OT > &o) |
template<class OT > | |
WeakPointer< O > & | operator= (OT *o) |
WeakPointer< O > & | operator= (const P &o) |