template<typename>
class Geo::GeoUniqueReleasePtr
└>Geo::GeoUniquePtr< T, GeoReleaseDestructor< T > >
└>Geo::GeoReleaseDestructor< T >
└>Geo::NonCopyable
Given the lack of a template typedef, and how common it is to want a GeoUniquePtr with Release dtor, adding a new class to provide this destruction policy by default.
Functions
Name | Description |
---|---|
~GeoUniquePtr() | Destructor - Delete the internal object. |
Delete() | Explicitly delete the internal object. |
Detach() | Release ownership of the internal object and return it to the client. |
GeoUniquePtr(T *) | Take ownership of the raw-ptr obj. Explicit so that you don't unknowingly change ownership. |
GeoUniquePtr(GeoUniquePtr &&) | Move constructor. |
GeoUniqueReleasePtr(T *) | Take ownership of the raw-ptr obj. Explicit so that you don't unknowingly change ownership. |
GeoUniqueReleasePtr(GeoUniqueReleasePtr< Other > &) | construct by assuming pointer from rhs |
GeoUniqueReleasePtr(GeoUniqueReleasePtr< Other > &&) | Move constructor. |
GeoUniqueReleasePtr(GeoUniqueReleasePtr< T > &&) | Move constructor. |
GeoUniqueReleasePtr(GeoUniqueReleasePtr< T > &) | Take ownership of the payload of other GeoUniqueReleasePtr. |
GetPtr() | Explicitly return the contained type. |
operator bool_type() | Is the object valid? |
operator!=(const GeoUniquePtr &) | Equivalence/comparison tests. |
operator*() | Allow dereferencing of the contained type. |
operator[](Geo::s32) | Allow array referencing of the contained type. |
operator<(const GeoUniquePtr &) | Equivalence/comparison tests. |
operator=(GeoUniquePtr &&) | Move assignment operator. |
operator=(GeoUniqueReleasePtr< Other > &&) | Move assignment operator. |
operator=(GeoUniqueReleasePtr< T > &&) | Move assignment operator. |
operator==(const GeoUniquePtr &) | Equivalence/comparison tests. |
operator>(const GeoUniquePtr &) | Equivalence/comparison tests. |
operator->() | Access members of the owned object. |
Reset(T *) | Hold new object, destroying current. |
Friends
Name | Description |
---|---|
friend void Swap(GeoUniquePtr &a, GeoUniquePtr &b) | Specialized swap. |
Geo::GeoUniquePtr< T, D >::~GeoUniquePtr
public: ~GeoUniquePtr()
Destructor - Delete the internal object.
void Geo::GeoUniquePtr< T, D >::Delete
public: void Delete()
Explicitly delete the internal object.
T* Geo::GeoUniquePtr< T, D >::Detach
public: T * Detach()
Release ownership of the internal object and return it to the client.
From then on its the client's responsibility to delete it.
Geo::GeoUniquePtr< T, D >::GeoUniquePtr
public: GeoUniquePtr
(
T * obj
)
Take ownership of the raw-ptr obj. Explicit so that you don't unknowingly change ownership.
Geo::GeoUniquePtr< T, D >::GeoUniquePtr
public: GeoUniquePtr
(
GeoUniquePtr && rhs
)
Move constructor.
Geo::GeoUniqueReleasePtr< T >::GeoUniqueReleasePtr
public: GeoUniqueReleasePtr
(
T * obj
)
Take ownership of the raw-ptr obj. Explicit so that you don't unknowingly change ownership.
Geo::GeoUniqueReleasePtr< T >::GeoUniqueReleasePtr
public: GeoUniqueReleasePtr
(
GeoUniqueReleasePtr< Other > & rhs
)
construct by assuming pointer from rhs
Geo::GeoUniqueReleasePtr< T >::GeoUniqueReleasePtr
public: GeoUniqueReleasePtr
(
GeoUniqueReleasePtr< Other > && rhs
)
Move constructor.
Geo::GeoUniqueReleasePtr< T >::GeoUniqueReleasePtr
public: GeoUniqueReleasePtr
(
GeoUniqueReleasePtr< T > && rhs
)
Move constructor.
Geo::GeoUniqueReleasePtr< T >::GeoUniqueReleasePtr
public: GeoUniqueReleasePtr
(
GeoUniqueReleasePtr< T > & rhs
)
Take ownership of the payload of other GeoUniqueReleasePtr.
T* Geo::GeoUniquePtr< T, D >::GetPtr
public: T * GetPtr() const
Explicitly return the contained type.
Geo::GeoUniquePtr< T, D >::operator bool_type
public: operator bool_type() const
Is the object valid?
bool Geo::GeoUniquePtr< T, D >::operator!=
public: bool operator!=
(
const GeoUniquePtr & rhs
) const
Equivalence/comparison tests.
T& Geo::GeoUniquePtr< T, D >::operator*
public: T & operator*() const
Allow dereferencing of the contained type.
T& Geo::GeoUniquePtr< T, D >::operator[]
public: T & operator[]
(
Geo::s32 idx
) const
Allow array referencing of the contained type.
bool Geo::GeoUniquePtr< T, D >::operator<
public: bool operator<
(
const GeoUniquePtr & rhs
) const
Equivalence/comparison tests.
GeoUniquePtr& Geo::GeoUniquePtr< T, D >::operator=
public: GeoUniquePtr & operator=
(
GeoUniquePtr && obj
)
Move assignment operator.
GeoUniqueReleasePtr& Geo::GeoUniqueReleasePtr< T >::operator=
public: GeoUniqueReleasePtr & operator=
(
GeoUniqueReleasePtr< Other > && obj
)
Move assignment operator.
GeoUniqueReleasePtr& Geo::GeoUniqueReleasePtr< T >::operator=
public: GeoUniqueReleasePtr & operator=
(
GeoUniqueReleasePtr< T > && obj
)
Move assignment operator.
bool Geo::GeoUniquePtr< T, D >::operator==
public: bool operator==
(
const GeoUniquePtr & rhs
) const
Equivalence/comparison tests.
bool Geo::GeoUniquePtr< T, D >::operator>
public: bool operator>
(
const GeoUniquePtr & rhs
) const
Equivalence/comparison tests.
T* Geo::GeoUniquePtr< T, D >::operator->
public: T * operator->() const
Access members of the owned object.
void Geo::GeoUniquePtr< T, D >::Reset
public: void Reset
(
T * obj
)
Hold new object, destroying current.