#include <PropaneSmartPointer.h>
Public Member Functions | |
| SharedPtr () | |
| Initialize to NULL pointer, with reference count existing. | |
| SharedPtr (const SharedPtr &s) | |
| Copy another SharedPtr. | |
| SharedPtr (T *p) | |
| Initialize with a new pointer. | |
| template<class U> | |
| SharedPtr (const SharedPtr< U > &s) | |
| Cast child class to base class. | |
| ~SharedPtr () | |
| On deconstruction, reduce ref count. If ref count 0, delete pointee. | |
| SharedPtr< T > & | operator= (const SharedPtr< T > &from) |
| Assignment operator. | |
| void | reset (T *p=NULL) |
| Make the pointer point to a different raw pointer. | |
| bool | isUnique () |
| Returns true when this pointer is unique (ref count 1). | |
| size_t | getReferenceCount () |
| Returns the strong reference count of the object... | |
| void | swap (SharedPtr< T > &from) |
| Swap this pointer with another. | |
| bool | operator== (const SharedPtr< T > &from) |
| Equality operator. | |
| template<class U> | |
| SharedPtr< U > | cast () |
| Implicit cast to another type. Will throw compiler error if the cast isn't implicit. | |
| template<class U> | |
| const SharedPtr< U > | cast () const |
| Const implicit cast. | |
| template<class U> | |
| SharedPtr< U > | staticCast () |
| Use static_cast to cast to another type. Be careful! | |
| template<class U> | |
| const SharedPtr< U > | staticCast () const |
| Const static_cast. | |
| template<class U> | |
| SharedPtr< U > | dynamicCast () |
| Dynamic_cast. | |
| template<class U> | |
| const SharedPtr< U > | dynamicCast () const |
| Const dynamic_cast. | |
1.4.6