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