This is the documentation for Enlighten.

class Geo GeoUniqueReleasePtr

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(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.


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
(
    GeoUniquePtr && rhs
)


Move constructor.


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::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< T > & rhs
)


Take ownership of the payload of other GeoUniqueReleasePtr.


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< Other > & rhs
)


construct by assuming pointer from rhs


T* Geo::GeoUniquePtr< T, D >::GetPtr


public: T * GetPtr() const


Explicitly return the contained type.


Geo::NonCopyable::NonCopyable


public: NonCopyable
(
    NonCopyable &&
)


Defaulted to allow move.


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.


NonCopyable& Geo::NonCopyable::operator=


public: NonCopyable & operator=
(
    NonCopyable &&
)


Defaulted to allow move.


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.