This class implements smart (reference-counted) pointers. More...
#include "Pointer.hpp"
Public Member Functions | |
IntrusivePtrT (T *Ptr=0) | |
The constructor. More... | |
IntrusivePtrT (const IntrusivePtrT &IP) | |
The copy constructor. More... | |
template<class Y > | |
IntrusivePtrT (const IntrusivePtrT< Y > &IP) | |
The copy constructor (for Y classes that are derived from T). More... | |
~IntrusivePtrT () | |
The destructor. More... | |
IntrusivePtrT & | operator= (const IntrusivePtrT &IP) |
The assignment operator. More... | |
T * | get () const |
Returns the stored pointer. More... | |
T * | operator-> () const |
The structure dereference operator. More... | |
T & | operator* () |
The dereference operator. More... | |
const T & | operator* () const |
The dereference operator (const). More... | |
bool | operator== (const IntrusivePtrT &IP) const |
The equality operator. More... | |
template<class U > | |
bool | operator== (U *b) const |
bool | operator!= (const IntrusivePtrT &IP) const |
The inequality operator. More... | |
template<class U > | |
bool | operator!= (U *b) const |
bool | IsNull () const |
A safe alternative for the bool conversion operator. More... | |
This class implements smart (reference-counted) pointers.
The implementation is intrusive: It requires from the class T
that it is used with that it keeps a member m_RefCount
that it can access either publicly or as a friend.
This class might be replaced by boost::intrusive_ptr<>
at a later time.
|
inline |
The constructor.
|
inline |
The copy constructor.
|
inline |
The copy constructor (for Y classes that are derived from T).
|
inline |
The destructor.
|
inline |
Returns the stored pointer.
|
inline |
A safe alternative for the bool conversion operator.
For details, see:
|
inline |
The inequality operator.
|
inline |
The dereference operator.
|
inline |
The dereference operator (const).
|
inline |
The structure dereference operator.
|
inline |
The assignment operator.
|
inline |
The equality operator.