$extrastylesheet
#include <mln/util/tracked_ptr.hh>
Public Member Functions | |
~tracked_ptr () | |
void | clean_ () |
operator bool () const | |
bool | operator! () const |
const T & | operator* () const |
T & | operator* () |
const T * | operator-> () const |
T * | operator-> () |
tracked_ptr< T > & | operator= (const tracked_ptr< T > &rhs) |
tracked_ptr< T > & | operator= (T *ptr) |
bool | run_ () const |
Constructors. | |
tracked_ptr () | |
tracked_ptr (T *ptr) | |
tracked_ptr (const tracked_ptr< T > &rhs) |
Public Attributes | |
holders_t * | holders_ |
T * | ptr_ |
Public Types | |
typedef std::set< self_t * > | holders_t |
typedef tracked_ptr< T > | self_t |
Smart pointer for shared data with tracking.
Definition at line 52 of file tracked_ptr.hh.
mln::util::tracked_ptr< T >::tracked_ptr | ( | ) |
mln::util::tracked_ptr< T >::tracked_ptr | ( | T * | ptr | ) |
mln::util::tracked_ptr< T >::tracked_ptr | ( | const tracked_ptr< T > & | rhs | ) |
Copy constructor.
mln::util::tracked_ptr< T >::~tracked_ptr | ( | ) |
Destructor.
void mln::util::tracked_ptr< T >::clean_ | ( | ) |
mln::util::tracked_ptr< T >::operator bool | ( | ) | const |
Coercion towards Boolean (for arithmetical tests).
bool mln::util::tracked_ptr< T >::operator! | ( | ) | const |
Negation (for arithmetical tests).
const T& mln::util::tracked_ptr< T >::operator* | ( | ) | const |
Mimics the behavior of op* for a pointer in the const case.
T& mln::util::tracked_ptr< T >::operator* | ( | ) |
Mimics the behavior of op* for a pointer in the mutable case.
const T* mln::util::tracked_ptr< T >::operator-> | ( | ) | const |
Mimics the behavior of op-> for a pointer in the const case.
T* mln::util::tracked_ptr< T >::operator-> | ( | ) |
Mimics the behavior of op-> for a pointer in the mutable case.
tracked_ptr<T>& mln::util::tracked_ptr< T >::operator= | ( | const tracked_ptr< T > & | rhs | ) |
Assignment.
tracked_ptr<T>& mln::util::tracked_ptr< T >::operator= | ( | T * | ptr | ) |
Assignment.
bool mln::util::tracked_ptr< T >::run_ | ( | ) | const |
holders_t* mln::util::tracked_ptr< T >::holders_ |
Definition at line 58 of file tracked_ptr.hh.
T* mln::util::tracked_ptr< T >::ptr_ |
Definition at line 57 of file tracked_ptr.hh.
typedef std::set<self_t*> mln::util::tracked_ptr< T >::holders_t |
Definition at line 55 of file tracked_ptr.hh.
typedef tracked_ptr<T> mln::util::tracked_ptr< T >::self_t |
Definition at line 54 of file tracked_ptr.hh.