template<class>
class Geo::GeoRefReleasePtr
└>Geo::GeoRefPtr< T, Geo::GeoReleaseDestructor< T > >
└>Geo::GeoReleaseDestructor< T >
Given the lack of a template typedef, and how common it is to want a GeoRefPtr with Release dtor, adding a new class to provide this destruction policy by default.
Functions
Name | Description |
---|---|
~GeoRefPtr() | Destructor - Delete the internal object. |
Count() | How many pointers share this resource? |
DecrementRef() | Handle reduction of the reference count. |
GeoRefPtr(const GeoRefPtr< TOther, DOther > &) | Increase ownership of the payload of other GeoRefPtr, given a different contained type Theoretically could write a destruction policy that accepted matches to other policies, but none implemented to date. |
GeoRefPtr(const GeoRefPtr< T, D > &) | Increase ownership of the payload of other GeoRefPtr. |
GeoRefPtr(GeoRefPtr &&) | Move constructor. |
GeoRefPtr(T *) | Take ownership of the raw ptr. Explicit so that you don't unknowingly change ownership. |
GeoRefReleasePtr(T *) | Take ownership of the raw-ptr obj. Explicit so that you don't unknowingly change ownership. |
GeoRefReleasePtr(const GeoRefReleasePtr< Other > &) | Increase ownership of the payload of other GeoRefReleasePtr, but do not add reference count. |
GeoRefReleasePtr(const GeoRefReleasePtr< T > &) | Increase ownership of the payload of other GeoRefReleasePtr, but do not add reference count. |
GetPtr() | Explicitely return the contained type. |
IncrementRef() | Handle increase of the reference count. |
operator bool_type() | Is the object valid? |
operator GeoRefPtr< TOther, DOther >() | Convert to GeoRefPtr of compatible type. |
operator!=(const GeoRefPtr &) | Equivalence/comparison tests. |
operator*() | Allow dereferencing of the contained type. |
operator[](Geo::s32) | Allow array referencing of the contained type. |
operator<(const GeoRefPtr &) | Equivalence/comparison tests. |
operator=(GeoRefPtr &&) | Move assignment operator. |
operator=(const GeoRefPtr< T, D > &) | Support assignment (modifying other object) |
operator==(const GeoRefPtr &) | Equivalence/comparison tests. |
operator>(const GeoRefPtr &) | Equivalence/comparison tests. |
operator->() | Access members of the owned object. |
Reset(T *) | Hold new object, reducing count of current (possibly deleting) |
Unique() | Is the object unique? |
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoRefPtr< T, D >::~GeoRefPtr
...
public: ~GeoRefPtr()
...
Destructor - Delete the internal object.
Anchor | ||||
---|---|---|---|---|
|
Geo::s32 Geo::GeoRefPtr< T, D >::Count
...
public: Geo::s32 Count() const
...
How many pointers share this resource?
Anchor | ||||
---|---|---|---|---|
|
void Geo::GeoRefPtr< T, D >::DecrementRef
...
public: void DecrementRef()
...
Handle reduction of the reference count.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoRefPtr< T, D >::GeoRefPtr
...
public: GeoRefPtr
(
const GeoRefPtr< TOther, DOther > & rhs
)
...
Increase ownership of the payload of other GeoRefPtr, given a different contained type Theoretically could write a destruction policy that accepted matches to other policies, but none implemented to date.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoRefPtr< T, D >::GeoRefPtr
...
public: GeoRefPtr
(
const GeoRefPtr< T, D > & rhs
)
...
Increase ownership of the payload of other GeoRefPtr.
Inheritance from the destruction policy ensures that you cannot assign between GeoRefPtr of different policies, whilst allowing assignment to GeoRefPtr to base types.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoRefPtr< T, D >::GeoRefPtr
...
public: GeoRefPtr
(
GeoRefPtr && rhs
)
...
Move constructor.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoRefPtr< T, D >::GeoRefPtr
...
public: GeoRefPtr
(
T * ptr
)
...
Take ownership of the raw ptr. Explicit so that you don't unknowingly change ownership.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoRefReleasePtr< T >::GeoRefReleasePtr
...
public: GeoRefReleasePtr
(
T * obj
)
...
Take ownership of the raw-ptr obj. Explicit so that you don't unknowingly change ownership.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoRefReleasePtr< T >::GeoRefReleasePtr
...
public: GeoRefReleasePtr
(
const GeoRefReleasePtr< Other > & rhs
)
...
Increase ownership of the payload of other GeoRefReleasePtr, but do not add reference count.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoRefReleasePtr< T >::GeoRefReleasePtr
...
public: GeoRefReleasePtr
(
const GeoRefReleasePtr< T > & rhs
)
...
Increase ownership of the payload of other GeoRefReleasePtr, but do not add reference count.
Anchor | ||||
---|---|---|---|---|
|
T* Geo::GeoRefPtr< T, D >::GetPtr
...
public: T * GetPtr() const
...
Explicitely return the contained type.
Anchor | ||||
---|---|---|---|---|
|
RefCount* Geo::GeoRefPtr< T, D >::IncrementRef
...
public: RefCount * IncrementRef() const
...
Handle increase of the reference count.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoRefPtr< T, D >::operator bool_type
...
public: operator bool_type() const
...
Is the object valid?
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoRefPtr< T, D >::operator GeoRefPtr< TOther, DOther >
...
public: operator GeoRefPtr< TOther, DOther >()
...
Convert to GeoRefPtr of compatible type.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoRefPtr< T, D >::operator!=
...
public: bool operator!=
(
const GeoRefPtr & rhs
) const
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
T& Geo::GeoRefPtr< T, D >::operator*
...
public: T & operator*() const
...
Allow dereferencing of the contained type.
Anchor | ||||
---|---|---|---|---|
|
T& Geo::GeoRefPtr< T, D >::operator[]
...
public: T & operator[]
(
Geo::s32 idx
) const
...
Allow array referencing of the contained type.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoRefPtr< T, D >::operator<
...
public: bool operator<
(
const GeoRefPtr & rhs
) const
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
GeoRefPtr& Geo::GeoRefPtr< T, D >::operator=
...
public: GeoRefPtr & operator=
(
GeoRefPtr && obj
)
...
Move assignment operator.
Anchor | ||||
---|---|---|---|---|
|
GeoRefPtr<T,D>& Geo::GeoRefPtr< T, D >::operator=
...
public: GeoRefPtr< T, D > & operator=
(
const GeoRefPtr< T, D > & rhs
)
...
Support assignment (modifying other object)
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoRefPtr< T, D >::operator==
...
public: bool operator==
(
const GeoRefPtr & rhs
) const
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoRefPtr< T, D >::operator>
...
public: bool operator>
(
const GeoRefPtr & rhs
) const
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
T* Geo::GeoRefPtr< T, D >::operator->
...
public: T * operator->() const
...
Access members of the owned object.
Anchor | ||||
---|---|---|---|---|
|
void Geo::GeoRefPtr< T, D >::Reset
...
public: void Reset
(
T * ptr
)
...
Hold new object, reducing count of current (possibly deleting)
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoRefPtr< T, D >::Unique
...
public: bool Unique() const
...
Is the object unique?