Phoenix
Object-oriented orthogonally persistent operating system
|
Class for storing pointers to Triton objects. More...
#include <ptr.h>
Public Member Functions | |
Ptr () | |
Construct null-pointer. | |
Ptr (T *objPtr) | |
Construct pointer by pointer to an object. | |
Ptr (T &obj) | |
Construct pointer by a reference to an object. | |
Ptr (Ptr< T > &ptr) | |
Construct pointer from another pointer. | |
Ptr (Ptr< T > &&ptr) | |
Move object reference from another pointer to a newly constructed one. | |
~Ptr () | |
Destruct pointer and release reference to an object. | |
Ptr< T > & | operator= (Ptr< T > &ptr) |
Assignment operator. | |
Ptr< T > & | operator= (Ptr< T > &&ptr) |
Assignment operator with moving. | |
Ptr< T > & | operator= (T *objPtr) |
Assignment operator for object pointer assignment. | |
Ptr< T > & | operator= (T &obj) |
Assignment operator for object reference assignment. | |
bool | operator== (const Ptr< T > &ptr) const |
Pointers comparison operator. | |
bool | operator!= (const Ptr< T > &ptr) const |
Pointers comparison operator. | |
operator bool () const | |
Boolean casting operator. | |
T & | operator* () const |
Dereference operator. | |
T * | operator-> () const |
Member access operator. |
Class for storing pointers to Triton objects.
Whenever a pointer to an object is created, passed or stored it should be wrapped into this class.
triton::Ptr< T >::Ptr | ( | ) | [inline] |
Construct null-pointer.
triton::Ptr< T >::Ptr | ( | T * | objPtr | ) | [inline] |
Construct pointer by pointer to an object.
The object will be automatically deleted when last reference is released.
objPtr | Pointer to a referenced object. |
triton::Ptr< T >::Ptr | ( | T & | obj | ) | [inline] |
Construct pointer by a reference to an object.
The object will not be automatically deleted upon last reference releasing but still will have proper reference counter kept.
obj | Reference to an object. |
triton::Ptr< T >::Ptr | ( | Ptr< T > & | ptr | ) | [inline] |
Construct pointer from another pointer.
ptr | Another pointer to get object from. |
triton::Ptr< T >::Ptr | ( | Ptr< T > && | ptr | ) | [inline] |
Move object reference from another pointer to a newly constructed one.
ptr | Pointer to move object reference from. |
triton::Ptr< T >::~Ptr | ( | ) | [inline] |
Destruct pointer and release reference to an object.
Referenced object is deleted if last reference was released and object can be deleted.
triton::Ptr< T >::operator bool | ( | ) | const [inline] |
Boolean casting operator.
Can be used for null-pointer checks.
bool triton::Ptr< T >::operator!= | ( | const Ptr< T > & | ptr | ) | const [inline] |
Pointers comparison operator.
T& triton::Ptr< T >::operator* | ( | ) | const [inline] |
Dereference operator.
Will throw NullPtrError if the pointer is currently storing null.
T* triton::Ptr< T >::operator-> | ( | ) | const [inline] |
Member access operator.
Will throw NullPtrError if the pointer is currently storing null.
Ptr<T>& triton::Ptr< T >::operator= | ( | T * | objPtr | ) | [inline] |
Assignment operator for object pointer assignment.
Ptr<T>& triton::Ptr< T >::operator= | ( | Ptr< T > & | ptr | ) | [inline] |
Assignment operator.
ptr | Pointer to assign object reference from. |
Ptr<T>& triton::Ptr< T >::operator= | ( | T & | obj | ) | [inline] |
Assignment operator for object reference assignment.
Ptr<T>& triton::Ptr< T >::operator= | ( | Ptr< T > && | ptr | ) | [inline] |
Assignment operator with moving.
ptr | Pointer to move object reference from. |
bool triton::Ptr< T >::operator== | ( | const Ptr< T > & | ptr | ) | const [inline] |
Pointers comparison operator.