template<class T>
class Geo::GeoAutoArrayPtr
└>Geo::GeoAutoPtr< T, Geo::GeoDeleteArrayDestructor< T > >
└>Geo::GeoDeleteArrayDestructor< T >
Given the lack of a template typedef, and how common it is to want a GeoAutoPtr with Array dtor, adding a new class to provide this destruction policy by default.
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. |
GeoAutoArrayPtr(T *) | Take ownership of the raw-ptr obj. Explicit so that you don't unknowingly change ownership. |
GeoAutoArrayPtr(GeoAutoArrayPtr< T > &) | Take ownership of the payload of other GeoAutoArrayPtr. |
GeoAutoArrayPtr(GeoAutoArrayPtr< Other > &) | construct by assuming pointer from rhs |
GeoAutoArrayPtr(GeoAutoArrayPtr< T > &&) | Move constructor. |
GeoAutoArrayPtr(GeoAutoArrayPtr< Other > &&) | Move constructor. |
GeoAutoPtr(GeoAutoPtr< T, D > &) | Take ownership of the payload of other GeoAutoPtr. |
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(T *) | Take ownership of the raw-ptr obj. Explicit so that you don't unknowingly change ownership. |
GeoAutoPtr(GeoAutoPtr< TOther, DOther > &&) | Move constructor. |
GeoAutoPtr(GeoAutoPtr &&) | Move constructor. |
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) | Provide overloads for operator[], as indexing into the array is a natural operation. |
operator[](Geo::s32) | Provide overloads for operator[], as indexing into the array is a natural operation. |
operator[](Geo::s32) | Allow array referencing of the contained type. |
operator<(const GeoAutoPtr &) | Equivalence/comparison tests. |
operator=(GeoAutoArrayPtr< Other > &&) | Move assignment operator. |
operator=(GeoAutoArrayPtr< T > &&) | Move assignment operator. |
operator=(GeoAutoPtr< T, D > &) | Support assignment (modifying other object) |
operator=(GeoAutoPtr< T, D > &&) | Move assignment operator. |
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. |
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoAutoPtr< T, D >::~GeoAutoPtr
...
public: ~GeoAutoPtr()
...
Destructor - Delete the internal object.
Anchor | ||||
---|---|---|---|---|
|
void Geo::GeoAutoPtr< T, D >::Delete
...
public: void Delete()
...
Explicitly delete the internal object.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoAutoArrayPtr< T >::GeoAutoArrayPtr
...
public: GeoAutoArrayPtr
(
T * obj
)
...
Take ownership of the raw-ptr obj. Explicit so that you don't unknowingly change ownership.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoAutoArrayPtr< T >::GeoAutoArrayPtr
...
public: GeoAutoArrayPtr
(
GeoAutoArrayPtr< T > & rhs
)
...
Take ownership of the payload of other GeoAutoArrayPtr.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoAutoArrayPtr< T >::GeoAutoArrayPtr
...
public: GeoAutoArrayPtr
(
GeoAutoArrayPtr< Other > & rhs
)
...
construct by assuming pointer from rhs
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoAutoArrayPtr< T >::GeoAutoArrayPtr
...
public: GeoAutoArrayPtr
(
GeoAutoArrayPtr< T > && rhs
)
...
Move constructor.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoAutoArrayPtr< T >::GeoAutoArrayPtr
...
public: GeoAutoArrayPtr
(
GeoAutoArrayPtr< Other > && rhs
)
...
Move constructor.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoAutoPtr< T, D >::GeoAutoPtr
...
public: GeoAutoPtr
(
GeoAutoPtr< TOther, DOther > && rhs
)
...
Move constructor.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoAutoPtr< T, D >::GeoAutoPtr
...
public: GeoAutoPtr
(
GeoAutoPtr && rhs
)
...
Move constructor.
Anchor | ||||
---|---|---|---|---|
|
T* Geo::GeoAutoPtr< T, D >::GetPtr
...
public: T * GetPtr() const
...
Explicitly return the contained type.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoAutoPtr< T, D >::operator bool_type
...
public: operator bool_type() const
...
Is the object valid?
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoAutoPtr< T, D >::operator GeoAutoPtr< TOther, DOther >
...
public: operator GeoAutoPtr< TOther, DOther >()
...
Convert to GeoAutoPtr of compatible type.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoAutoPtr< T, D >::operator!=
...
public: bool operator!=
(
const GeoAutoPtr & rhs
) const
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
T& Geo::GeoAutoPtr< T, D >::operator*
...
public: T & operator*() const
...
Allow dereferencing of the contained type.
Anchor | ||||
---|---|---|---|---|
|
T& Geo::GeoAutoArrayPtr< T >::operator[]
...
public: T & operator[]
(
Geo::s32 idx
)
...
Provide overloads for operator[], as indexing into the array is a natural operation.
Anchor | ||||
---|---|---|---|---|
|
const T& Geo::GeoAutoArrayPtr< T >::operator[]
...
public: const T & operator[]
(
Geo::s32 idx
) const
...
Provide overloads for operator[], as indexing into the array is a natural operation.
Anchor | ||||
---|---|---|---|---|
|
T& Geo::GeoAutoPtr< T, D >::operator[]
...
public: T & operator[]
(
Geo::s32 idx
) const
...
Allow array referencing of the contained type.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoAutoPtr< T, D >::operator<
...
public: bool operator<
(
const GeoAutoPtr & rhs
) const
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
GeoAutoArrayPtr& Geo::GeoAutoArrayPtr< T >::operator=
...
public: GeoAutoArrayPtr & operator=
(
GeoAutoArrayPtr< Other > && obj
)
...
Move assignment operator.
Anchor | ||||
---|---|---|---|---|
|
GeoAutoArrayPtr& Geo::GeoAutoArrayPtr< T >::operator=
...
public: GeoAutoArrayPtr & operator=
(
GeoAutoArrayPtr< T > && obj
)
...
Move assignment operator.
Anchor | ||||
---|---|---|---|---|
|
GeoAutoPtr<T,D>& Geo::GeoAutoPtr< T, D >::operator=
...
public: GeoAutoPtr< T, D > & operator=
(
GeoAutoPtr< T, D > & obj
)
...
Support assignment (modifying other object)
Anchor | ||||
---|---|---|---|---|
|
GeoAutoPtr<T,D>& Geo::GeoAutoPtr< T, D >::operator=
...
public: GeoAutoPtr< T, D > & operator=
(
GeoAutoPtr< T, D > && obj
)
...
Move assignment operator.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoAutoPtr< T, D >::operator==
...
public: bool operator==
(
const GeoAutoPtr & rhs
) const
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoAutoPtr< T, D >::operator>
...
public: bool operator>
(
const GeoAutoPtr & rhs
) const
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
T* Geo::GeoAutoPtr< T, D >::operator->
...
public: T * operator->() const
...
Access members of the owned object.
Anchor | ||||
---|---|---|---|---|
|
void Geo::GeoAutoPtr< T, D >::Reset
...
public: void Reset
(
T * obj
)
...
Hold new object, destroying current.