class Geo GeoAutoPtr

This is the documentation for Enlighten.

class Geo GeoAutoPtr

template<typename, typename>
class Geo::GeoAutoPtr

    └>D

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

Name

Description

~GeoAutoPtr()

Destructor - Delete the internal object.

Delete()

Explicitly delete the internal object.

Detach()

Release ownership of the internal object and return it to the client.

GeoAutoPtr(GeoAutoPtr &&)

Move constructor.

GeoAutoPtr(GeoAutoPtr< TOther, DOther > &)

Construct by assuming pointer from rhs, given a different contained type Theoretically could write a destruction policy that accepted matches to other policies, but none implemented to date.

GeoAutoPtr(GeoAutoPtr< TOther, DOther > &&)

Move constructor.

GeoAutoPtr(T *)

Take ownership of the raw-ptr obj. Explicit so that you don't unknowingly change ownership.

GeoAutoPtr(GeoAutoPtr< T, D > &)

Take ownership of the payload of other GeoAutoPtr.

GetPtr()

Explicitly return the contained type.

operator bool_type()

Is the object valid?

operator GeoAutoPtr< TOther, DOther >()

Convert to GeoAutoPtr of compatible type.

operator!=(const GeoAutoPtr &)

Equivalence/comparison tests.

operator*()

Allow dereferencing of the contained type.

operator[](Geo::s32)

Allow array referencing of the contained type.

operator<(const GeoAutoPtr &)

Equivalence/comparison tests.

operator=(GeoAutoPtr< T, D > &&)

Move assignment operator.

operator=(GeoAutoPtr< T, D > &)

Support assignment (modifying other object)

operator==(const GeoAutoPtr &)

Equivalence/comparison tests.

operator>(const GeoAutoPtr &)

Equivalence/comparison tests.

operator->()

Access members of the owned object.

Reset(T *)

Hold new object, destroying current.



Geo::GeoAutoPtr< T, D >::~GeoAutoPtr


public: ~GeoAutoPtr()


Destructor - Delete the internal object.



void Geo::GeoAutoPtr< T, D >::Delete


public: void Delete()


Explicitly delete the internal object.



T* Geo::GeoAutoPtr< T, D >::Detach