template<typename T>
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(GeoUniquePtr &&) | Move constructor. |
GeoUniquePtr(T *) | Take ownership of the raw-ptr obj. Explicit so that you don't unknowingly change ownership. |
GeoUniqueReleasePtr(T *) | Take ownership of the raw-ptr obj. Explicit so that you don't unknowingly change ownership. |
GeoUniqueReleasePtr(GeoUniqueReleasePtr< T > &) | Take ownership of the payload of other GeoUniqueReleasePtr. |
GeoUniqueReleasePtr(GeoUniqueReleasePtr< Other > &&) | Move constructor. |
GeoUniqueReleasePtr(GeoUniqueReleasePtr< T > &&) | Move constructor. |
GeoUniqueReleasePtr(GeoUniqueReleasePtr< Other > &) | construct by assuming pointer from rhs |
GetPtr() | Explicitly return the contained type. |
NonCopyable(NonCopyable &&) | Defaulted to allow move. |
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=(NonCopyable &&) | Defaulted to allow move. |
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. |
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoUniquePtr< T, D >::~GeoUniquePtr
...
public: ~GeoUniquePtr()
...
Destructor - Delete the internal object.
Anchor | ||||
---|---|---|---|---|
|
void Geo::GeoUniquePtr< T, D >::Delete
...
public: void Delete()
...
Explicitly delete the internal object.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoUniquePtr< T, D >::GeoUniquePtr
...
public: GeoUniquePtr
(
GeoUniquePtr && rhs
)
...
Move constructor.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoUniqueReleasePtr< T >::GeoUniqueReleasePtr
...
public: GeoUniqueReleasePtr
(
T * obj
)
...
Take ownership of the raw-ptr obj. Explicit so that you don't unknowingly change ownership.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoUniqueReleasePtr< T >::GeoUniqueReleasePtr
...
public: GeoUniqueReleasePtr
(
GeoUniqueReleasePtr< T > & rhs
)
...
Take ownership of the payload of other GeoUniqueReleasePtr.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoUniqueReleasePtr< T >::GeoUniqueReleasePtr
...
public: GeoUniqueReleasePtr
(
GeoUniqueReleasePtr< Other > && rhs
)
...
Move constructor.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoUniqueReleasePtr< T >::GeoUniqueReleasePtr
...
public: GeoUniqueReleasePtr
(
GeoUniqueReleasePtr< T > && rhs
)
...
Move constructor.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoUniqueReleasePtr< T >::GeoUniqueReleasePtr
...
public: GeoUniqueReleasePtr
(
GeoUniqueReleasePtr< Other > & rhs
)
...
construct by assuming pointer from rhs
Anchor | ||||
---|---|---|---|---|
|
T* Geo::GeoUniquePtr< T, D >::GetPtr
...
public: T * GetPtr() const
...
Explicitly return the contained type.
Anchor | ||||
---|---|---|---|---|
|
Geo::NonCopyable::NonCopyable
...
public: NonCopyable
(
NonCopyable &&
)
...
Defaulted to allow move.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoUniquePtr< T, D >::operator bool_type
...
public: operator bool_type() const
...
Is the object valid?
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoUniquePtr< T, D >::operator!=
...
public: bool operator!=
(
const GeoUniquePtr & rhs
) const
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
T& Geo::GeoUniquePtr< T, D >::operator*
...
public: T & operator*() const
...
Allow dereferencing of the contained type.
Anchor | ||||
---|---|---|---|---|
|
T& Geo::GeoUniquePtr< T, D >::operator[]
...
public: T & operator[]
(
Geo::s32 idx
) const
...
Allow array referencing of the contained type.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoUniquePtr< T, D >::operator<
...
public: bool operator<
(
const GeoUniquePtr & rhs
) const
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
GeoUniquePtr& Geo::GeoUniquePtr< T, D >::operator=
...
public: GeoUniquePtr & operator=
(
GeoUniquePtr && obj
)
...
Move assignment operator.
Anchor | ||||
---|---|---|---|---|
|
GeoUniqueReleasePtr& Geo::GeoUniqueReleasePtr< T >::operator=
...
public: GeoUniqueReleasePtr & operator=
(
GeoUniqueReleasePtr< Other > && obj
)
...
Move assignment operator.
Anchor | ||||
---|---|---|---|---|
|
GeoUniqueReleasePtr& Geo::GeoUniqueReleasePtr< T >::operator=
...
public: GeoUniqueReleasePtr & operator=
(
GeoUniqueReleasePtr< T > && obj
)
...
Move assignment operator.
Anchor | ||||
---|---|---|---|---|
|
NonCopyable& Geo::NonCopyable::operator=
...
public: NonCopyable & operator=
(
NonCopyable &&
)
...
Defaulted to allow move.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoUniquePtr< T, D >::operator==
...
public: bool operator==
(
const GeoUniquePtr & rhs
) const
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoUniquePtr< T, D >::operator>
...
public: bool operator>
(
const GeoUniquePtr & rhs
) const
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
T* Geo::GeoUniquePtr< T, D >::operator->
...
public: T * operator->() const
...
Access members of the owned object.
Anchor | ||||
---|---|---|---|---|
|
void Geo::GeoUniquePtr< T, D >::Reset
...
public: void Reset
(
T * obj
)
...
Hold new object, destroying current.