Ptr< TYPE > Class Template Reference
#include <ptr.h>
Detailed Description
template<class TYPE>
class Ptr< TYPE >
Nebula3's smart pointer class which manages the life time of RefCounted objects. Can be used like a normal C++ pointer in most cases.NOTE: the Ptr class is not part of the Core namespace for convenience reasons.
(C) 2006 RadonLabs GmbH
Public Member Functions | |
Ptr () | |
constructor | |
Ptr (TYPE *p) | |
construct from C++ pointer | |
Ptr (const Ptr< TYPE > &p) | |
construct from smart pointer | |
~Ptr () | |
destructor | |
void | operator= (const Ptr< TYPE > &rhs) |
assignment operator | |
void | operator= (TYPE *rhs) |
assignment operator | |
bool | operator== (const Ptr< TYPE > &rhs) const |
equality operator | |
bool | operator!= (const Ptr< TYPE > &rhs) const |
inequality operator | |
bool | operator== (const TYPE *rhs) const |
shortcut equality operator | |
bool | operator!= (const TYPE *rhs) const |
shortcut inequality operator | |
TYPE * | operator-> () const |
safe -> operator | |
TYPE & | operator * () const |
safe dereference operator | |
operator TYPE * () const | |
safe pointer cast operator | |
template<class DERIVED> | |
const Ptr< DERIVED > & | downcast () const |
type-safe downcast operator to other smart pointer | |
template<class BASE> | |
const Ptr< BASE > & | upcast () const |
type-safe upcast operator to other smart pointer | |
template<class OTHERTYPE> | |
const Ptr< OTHERTYPE > & | cast () const |
bool | isvalid () const |
check if pointer is valid | |
TYPE * | get () const |
return direct pointer (asserts if null pointer) | |
TYPE * | get_unsafe () const |
return direct pointer (returns null pointer) |
Member Function Documentation
unsafe(!) cast to anything, unless classes have no inheritance-relationship, call upcast/downcast instead, they are type-safe