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().
1.7.1