#include <RCPtr.h>
Public Types | |
typedef void | iterator_category |
Template argument typedef. | |
typedef void | difference_type |
Template argument typedef. | |
typedef T * | pointer |
Template argument typedef. | |
typedef const T * | const_pointer |
Template argument typedef. | |
typedef T & | reference |
Template argument typedef. | |
typedef const T & | const_reference |
Template argument typedef. | |
typedef T | value_type |
Template argument typedef. | |
Public Member Functions | |
RCPtr () | |
| |
RCPtr (const RCPtr &p) | |
Copy constructor. | |
template<typename UPtr> | |
RCPtr (const UPtr &u) | |
Copy constructor for class UPtr which has operator-> defined resulting in a value implicitly convertible to T *. | |
RCPtr (pointer p) | |
Construction from real pointer. | |
~RCPtr () | |
Destructor. | |
RCPtr & | create () |
Allocate and construct an object of class T and point to it, possibly deleting the object pointed to before. | |
RCPtr & | create (const_reference t) |
Allocate and copy-construct an object of class T and point to it, possibly deleting the object pointed to before. | |
RCPtr & | operator= (const RCPtr &p) |
Assignment. | |
template<typename UPtr> | |
RCPtr & | operator= (const UPtr &u) |
Assignment from class UPtr which has operator-> defined resulting in a value implicitly convertible to T *. | |
template<typename UPtr> | |
RCPtr & | assignDynamic (const UPtr &u) |
Assignment from class UPtr which has operator-> defined resulting in a value which can be cast dynamically to T *. | |
template<typename UPtr> | |
RCPtr & | assignConst (const UPtr &u) |
Assignment from class UPtr which has operator-> defined resulting in a value which can be const_cast'ed to T *. | |
void | swap (RCPtr &p) |
Make p point to the object pointed to by this and vice versa. | |
bool | operator== (const RCPtr &p) const |
Test for equality of the underlying pointers. | |
bool | operator!= (const RCPtr &p) const |
Test for inequality of the underlying pointers. | |
bool | operator== (const_pointer p) const |
Test for equality of the underlying pointers. | |
bool | operator!= (const_pointer p) const |
Test for inequality of the underlying pointers. | |
template<typename UPtr> | |
bool | operator== (const UPtr &u) const |
Test for equality of the underlying pointers. | |
template<typename UPtr> | |
bool | operator!= (const UPtr &u) const |
Test for inequality of the underlying pointers. | |
bool | operator< (const RCPtr &p) const |
Test for ordering. | |
bool | operator< (const_pointer p) const |
Test for ordering. | |
bool | operator! () const |
Returns true if the underlying pointer is null. | |
operator T * () const | |
Returns the underlying pointer. | |
pointer | operator-> () const |
Member access. | |
reference | operator* () const |
Dereferencing. | |
Static Public Member Functions | |
static RCPtr | Create () |
Allocate and construct an object of class T and return a RCPtr to it. | |
static RCPtr | Create (const_reference t) |
Allocate and copy-construct an object of class T and return a RCPtr to it. | |
Private Member Functions | |
void | increment () |
Increment the counter of the object pointed to. | |
void | release () |
Stop pointing to the current object and delete it if this was the last pointer to it. | |
Private Attributes | |
pointer | ptr |
The actual pointer. |
Objects created using the RCPtr::create() methods will continue living until no RCPtr or ConstRCPtr are pointing to it, at which point it will be deleted.
Definition at line 60 of file RCPtr.h.
typedef void ThePEG::Pointer::RCPtr< T >::iterator_category |
typedef void ThePEG::Pointer::RCPtr< T >::difference_type |
typedef T* ThePEG::Pointer::RCPtr< T >::pointer |
typedef const T* ThePEG::Pointer::RCPtr< T >::const_pointer |
typedef T& ThePEG::Pointer::RCPtr< T >::reference |
typedef const T& ThePEG::Pointer::RCPtr< T >::const_reference |
typedef T ThePEG::Pointer::RCPtr< T >::value_type |
ThePEG::Pointer::RCPtr< T >::RCPtr | ( | ) | [inline] |
ThePEG::Pointer::RCPtr< T >::~RCPtr | ( | ) | [inline] |
Destructor.
Deletes the object pointed to if this is the last pointer to it.
Definition at line 109 of file RCPtr.h.
References ThePEG::Pointer::RCPtr< T >::release().