Non-intrusive smart pointers. More...
#include <vbl_fwd.h>
Public Types | |
| typedef T | element_type |
| typedef vbl_shared_pointer< T > | self |
| typedef vbl_shared_pointer_data | data_t |
Public Member Functions | |
| vbl_shared_pointer () | |
| vbl_shared_pointer (T *p) | |
| vbl_shared_pointer (self const &that) | |
| template<class U > | |
| vbl_shared_pointer (vbl_shared_pointer< U > const &that) | |
| Construct using smart pointer to derived class. More... | |
| template<class U > | |
| self & | operator= (vbl_shared_pointer< U > const &that) |
| self & | operator= (self const &that) |
| ~vbl_shared_pointer () | |
| operator bool () const | |
| bool | operator! () const |
| T const * | operator-> () const |
| T * | operator-> () |
| T const & | operator * () const |
| T & | operator * () |
| bool | operator!= (self const &that) const |
| bool | operator== (self const &that) const |
| bool | operator< (self const &that) const |
| T * | as_pointer () const |
| void | up_ref () const |
| void | down_ref () const |
Private Attributes | |
| T * | pointer |
| pointer to object. More... | |
| data_t * | count_data |
Friends | |
| template<class U > | |
| class | vbl_shared_pointer |
Non-intrusive smart pointers.
If your compiler supports member templates, these pointers will also work with base classes and derived classes, so that they work very much like raw pointers. If you do this, make sure your destructors are virtual (as you'd need to do for raw pointers anyway).
| typedef vbl_shared_pointer_data vbl_shared_pointer< T >::data_t |
Definition at line 42 of file vbl_shared_pointer.h.
| typedef T vbl_shared_pointer< T >::element_type |
Definition at line 39 of file vbl_shared_pointer.h.
| typedef vbl_shared_pointer<T> vbl_shared_pointer< T >::self |
Definition at line 40 of file vbl_shared_pointer.h.
|
inline |
Definition at line 44 of file vbl_shared_pointer.h.
|
inlineexplicit |
Definition at line 47 of file vbl_shared_pointer.h.
|
inline |
Definition at line 57 of file vbl_shared_pointer.h.
|
inline |
Construct using smart pointer to derived class.
Definition at line 68 of file vbl_shared_pointer.h.
|
inline |
Definition at line 121 of file vbl_shared_pointer.h.
|
inline |
Definition at line 152 of file vbl_shared_pointer.h.
|
inline |
Definition at line 159 of file vbl_shared_pointer.h.
|
inline |
Definition at line 143 of file vbl_shared_pointer.h.
|
inline |
Definition at line 144 of file vbl_shared_pointer.h.
|
inlineexplicit |
Definition at line 129 of file vbl_shared_pointer.h.
|
inline |
Definition at line 133 of file vbl_shared_pointer.h.
|
inline |
Definition at line 147 of file vbl_shared_pointer.h.
|
inline |
Definition at line 138 of file vbl_shared_pointer.h.
|
inline |
Definition at line 139 of file vbl_shared_pointer.h.
|
inline |
Definition at line 149 of file vbl_shared_pointer.h.
|
inline |
Definition at line 76 of file vbl_shared_pointer.h.
|
inline |
Definition at line 113 of file vbl_shared_pointer.h.
|
inline |
Definition at line 148 of file vbl_shared_pointer.h.
|
inline |
Definition at line 155 of file vbl_shared_pointer.h.
Definition at line 64 of file vbl_shared_pointer.h.
|
private |
Definition at line 167 of file vbl_shared_pointer.h.
|
private |
pointer to object.
Definition at line 166 of file vbl_shared_pointer.h.
1.8.15