This is the documentation for Enlighten.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

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.

  • No labels