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 |
---|---|
~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
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::GeoAutoPtr< T, D >::GeoAutoPtr
public: GeoAutoPtr
(
GeoAutoPtr && rhs
)
Move constructor.
Geo::GeoAutoPtr< T, D >::GeoAutoPtr
public: GeoAutoPtr
(
GeoAutoPtr< TOther, DOther > & rhs
)
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.
Geo::GeoAutoPtr< T, D >::GeoAutoPtr
public: GeoAutoPtr
(
GeoAutoPtr< TOther, DOther > && rhs
)
Move constructor.
Geo::GeoAutoPtr< T, D >::GeoAutoPtr
public: GeoAutoPtr
(
T * obj
)
Take ownership of the raw-ptr obj. Explicit so that you don't unknowingly change ownership.
Geo::GeoAutoPtr< T, D >::GeoAutoPtr
public: GeoAutoPtr
(
GeoAutoPtr< T, D > & rhs
)
Take ownership of the payload of other GeoAutoPtr.
Inheritance from the destruction policy ensures that you cannot assign between GeoAutoPtr of different policies, whilst allowing assignment to GeoAutoPtr to base types.
T* Geo::GeoAutoPtr< T, D >::GetPtr
public: T * GetPtr() const
Explicitly return the contained type.
Geo::GeoAutoPtr< T, D >::operator bool_type
public: operator bool_type() const
Is the object valid?
Geo::GeoAutoPtr< T, D >::operator GeoAutoPtr< TOther, DOther >
public: operator GeoAutoPtr< TOther, DOther >()
Convert to GeoAutoPtr of compatible type.
bool Geo::GeoAutoPtr< T, D >::operator!=
public: bool operator!=
(
const GeoAutoPtr & rhs
) const
Equivalence/comparison tests.
T& Geo::GeoAutoPtr< T, D >::operator*
public: T & operator*() const
Allow dereferencing of the contained type.
T& Geo::GeoAutoPtr< T, D >::operator[]
public: T & operator[]
(
Geo::s32 idx
) const
Allow array referencing of the contained type.
bool Geo::GeoAutoPtr< T, D >::operator<
public: bool operator<
(
const GeoAutoPtr & rhs
) const
Equivalence/comparison tests.
GeoAutoPtr<T,D>& Geo::GeoAutoPtr< T, D >::operator=
public: GeoAutoPtr< T, D > & operator=
(
GeoAutoPtr< T, D > && obj
)
Move assignment operator.
GeoAutoPtr<T,D>& Geo::GeoAutoPtr< T, D >::operator=
public: GeoAutoPtr< T, D > & operator=
(
GeoAutoPtr< T, D > & obj
)
Support assignment (modifying other object)
bool Geo::GeoAutoPtr< T, D >::operator==
public: bool operator==
(
const GeoAutoPtr & rhs
) const
Equivalence/comparison tests.
bool Geo::GeoAutoPtr< T, D >::operator>
public: bool operator>
(
const GeoAutoPtr & rhs
) const
Equivalence/comparison tests.
T* Geo::GeoAutoPtr< T, D >::operator->
public: T * operator->() const
Access members of the owned object.
void Geo::GeoAutoPtr< T, D >::Reset
public: void Reset
(
T * obj
)
Hold new object, destroying current.