This is the documentation for Enlighten.

class Geo GeoUniquePtr

template<typename, typename>
class Geo::GeoUniquePtr

    └>D    └>Geo::NonCopyable

A value type to take ownership of a raw object allocated on the heap and bind its life-time to the scope of this class.

Virtually identical to std::auto_ptr, but with policy-based destruction semantics.

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.

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


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.


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.