|
libvisual
0.5.0
|
Intrusive smart pointer class template. More...
#include <libvisual/lv_intrusive_ptr.hpp>

Public Types | |
| typedef T | element_type |
Public Member Functions | |
| IntrusivePtr (T *ptr, bool add_ref=true) | |
| template<typename U > | |
| IntrusivePtr (IntrusivePtr< U > const &rhs) | |
| IntrusivePtr (IntrusivePtr const &rhs) | |
| Copy constructor. | |
| IntrusivePtr (IntrusivePtr &&rhs) | |
| Move constructor. | |
| ~IntrusivePtr () | |
| Destructor. | |
| template<class U > | |
| IntrusivePtr & | operator= (IntrusivePtr< U > const &rhs) |
| Assignment operator. | |
| IntrusivePtr & | operator= (IntrusivePtr const &rhs) |
| Copy assignment operator. | |
| IntrusivePtr & | operator= (T *rhs) |
| Raw-pointer assignment operator. | |
| IntrusivePtr & | operator= (IntrusivePtr &&rhs) |
| Move assignment. | |
| void | reset () |
| Resets pointer to null. | |
| void | reset (T *rhs) |
| T * | get () const |
| Returns the memory managed pointer. | |
| T & | operator* () const |
| Dereference operator. | |
| T * | operator-> () const |
| Member dereference operator. | |
| operator bool () const | |
| Bool conversion operator. | |
| void | swap (IntrusivePtr &rhs) |
| Swaps pointer with another. | |
Intrusive smart pointer class template.
| T | Class to reference count |
The type T must have two functions overloaded:
Definition at line 19 of file lv_intrusive_ptr.hpp.