Smart pointer for shared data with tracking. More...
#include <tracked_ptr.hh>
Public Types | |
typedef std::set< self_t * > | holders_t |
typedef tracked_ptr< T > | self_t |
Public Member Functions | |
void | clean_ () |
operator bool () const | |
Coercion towards Boolean (for arithmetical tests). | |
bool | operator! () const |
Negation (for arithmetical tests). | |
T * | operator-> () |
Mimics the behavior of op-> for a pointer in the mutable case. | |
const T * | operator-> () const |
Mimics the behavior of op-> for a pointer in the const case. | |
tracked_ptr< T > & | operator= (const tracked_ptr< T > &rhs) |
Assignment. | |
tracked_ptr< T > & | operator= (T *ptr) |
Assignment. | |
bool | run_ () const |
~tracked_ptr () | |
Destructor. | |
tracked_ptr () | |
Constructors. | |
tracked_ptr (T *ptr) | |
tracked_ptr (const tracked_ptr< T > &rhs) | |
Copy constructor. | |
Public Attributes | |
holders_t * | holders_ |
T * | ptr_ |
Smart pointer for shared data with tracking.
typedef std::set<self_t*> mln::util::tracked_ptr< T >::holders_t |
typedef tracked_ptr<T> mln::util::tracked_ptr< T >::self_t |
mln::util::tracked_ptr< T >::tracked_ptr | ( | ) | [inline] |
Constructors.
References mln::util::tracked_ptr< T >::run_().
mln::util::tracked_ptr< T >::tracked_ptr | ( | T * | ptr | ) | [inline] |
References mln::util::tracked_ptr< T >::holders_, and mln::util::tracked_ptr< T >::run_().
mln::util::tracked_ptr< T >::tracked_ptr | ( | const tracked_ptr< T > & | rhs | ) | [inline] |
Copy constructor.
References mln::util::tracked_ptr< T >::holders_, mln::util::tracked_ptr< T >::ptr_, and mln::util::tracked_ptr< T >::run_().
mln::util::tracked_ptr< T >::~tracked_ptr | ( | ) | [inline] |
Destructor.
References mln::util::tracked_ptr< T >::clean_().
void mln::util::tracked_ptr< T >::clean_ | ( | ) | [inline] |
mln::util::tracked_ptr< T >::operator bool | ( | ) | const [inline] |
Coercion towards Boolean (for arithmetical tests).
References mln::util::tracked_ptr< T >::ptr_, and mln::util::tracked_ptr< T >::run_().
bool mln::util::tracked_ptr< T >::operator! | ( | ) | const [inline] |
Negation (for arithmetical tests).
References mln::util::tracked_ptr< T >::run_().
T * mln::util::tracked_ptr< T >::operator-> | ( | ) | [inline] |
Mimics the behavior of op-> for a pointer in the mutable case.
References mln::util::tracked_ptr< T >::ptr_, and mln::util::tracked_ptr< T >::run_().
const T * mln::util::tracked_ptr< T >::operator-> | ( | ) | const [inline] |
Mimics the behavior of op-> for a pointer in the const case.
References mln::util::tracked_ptr< T >::ptr_, and mln::util::tracked_ptr< T >::run_().
tracked_ptr< T > & mln::util::tracked_ptr< T >::operator= | ( | T * | ptr | ) | [inline] |
tracked_ptr< T > & mln::util::tracked_ptr< T >::operator= | ( | const tracked_ptr< T > & | rhs | ) | [inline] |
bool mln::util::tracked_ptr< T >::run_ | ( | ) | const [inline] |
References mln::util::tracked_ptr< T >::holders_, and mln::util::tracked_ptr< T >::ptr_.
Referenced by mln::util::tracked_ptr< T >::clean_(), mln::util::tracked_ptr< T >::operator bool(), mln::util::tracked_ptr< T >::operator!(), mln::util::tracked_ptr< T >::operator->(), mln::util::tracked_ptr< T >::operator=(), and mln::util::tracked_ptr< T >::tracked_ptr().
holders_t* mln::util::tracked_ptr< T >::holders_ |
T* mln::util::tracked_ptr< T >::ptr_ |
Referenced by mln::topo::complex< D >::addr(), mln::util::tracked_ptr< T >::clean_(), mln::util::internal::graph_base< E >::id(), mln::util::tracked_ptr< T >::operator bool(), mln::util::tracked_ptr< T >::operator->(), mln::util::tracked_ptr< T >::operator=(), mln::topo::operator==(), mln::util::tracked_ptr< T >::run_(), and mln::util::tracked_ptr< T >::tracked_ptr().