This is the documentation for Enlighten.

class Geo GeoIntrusivePtr

template<typename T>
class Geo::GeoIntrusivePtr

A value type to take ownership of a raw object allocated on the heap and handle calling AddRef() and Release().

Functions

Name Description
~GeoIntrusivePtr()

Destructor - Delete the internal object.

Delete()

Explicitly delete the internal object.

Detach()

Return the object to the client.

GeoIntrusivePtr(T *)

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

GeoIntrusivePtr(const Geo::GeoIntrusivePtr< T > &)

Construct from existing GeoIntrusivePtr, incrementing the reference count.

GeoIntrusivePtr(Geo::GeoIntrusivePtr< T > &&)

Move from existing GeoIntrusivePtr.

GeoIntrusivePtr(const Geo::GeoIntrusivePtr< TOther > &)

Add a reference to the payload of other Geo::GeoIntrusivePtr, as long as the pointers are compatible.

GetPtr()

Explicitly return the contained type.

operator bool_type()

Is the object valid?

operator!=(Geo::GeoIntrusivePtr< T >)

Equivalence/comparison tests.

operator*()

Allow dereferencing of the contained type.

operator<(Geo::GeoIntrusivePtr< T >)

Equivalence/comparison tests.

operator=(const Geo::GeoIntrusivePtr< T > &)

Assignment.

operator==(Geo::GeoIntrusivePtr< T >)

Equivalence/comparison tests.

operator>(Geo::GeoIntrusivePtr< T >)

Equivalence/comparison tests.

operator->()

Access members of the owned object.

Reset(T *)

Hold new object, releasing current.


Geo::GeoIntrusivePtr< T >::~GeoIntrusivePtr


public: ~GeoIntrusivePtr()


Destructor - Delete the internal object.


void Geo::GeoIntrusivePtr< T >::Delete


public: void Delete()


Explicitly delete the internal object.


T* Geo::GeoIntrusivePtr< T >::Detach


public: T * Detach()


Return the object to the client.

From then on its the client's responsibility to release it.


Geo::GeoIntrusivePtr< T >::GeoIntrusivePtr


public: GeoIntrusivePtr
(
    T * obj
)


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


Geo::GeoIntrusivePtr< T >::GeoIntrusivePtr


public: GeoIntrusivePtr
(
    const Geo::GeoIntrusivePtr< T > & rhs
)


Construct from existing GeoIntrusivePtr, incrementing the reference count.


Geo::GeoIntrusivePtr< T >::GeoIntrusivePtr


public: GeoIntrusivePtr
(
    Geo::GeoIntrusivePtr< T > && rhs
)


Move from existing GeoIntrusivePtr.


Geo::GeoIntrusivePtr< T >::GeoIntrusivePtr


public: GeoIntrusivePtr
(
    const Geo::GeoIntrusivePtr< TOther > & rhs
)


Add a reference to the payload of other Geo::GeoIntrusivePtr, as long as the pointers are compatible.


T* Geo::GeoIntrusivePtr< T >::GetPtr


public: T * GetPtr() const


Explicitly return the contained type.


Geo::GeoIntrusivePtr< T >::operator bool_type


public: operator bool_type() const


Is the object valid?


bool Geo::GeoIntrusivePtr< T >::operator!=


public: bool operator!=
(
    Geo::GeoIntrusivePtr< T > rhs
)


Equivalence/comparison tests.


T& Geo::GeoIntrusivePtr< T >::operator*


public: T & operator*() const


Allow dereferencing of the contained type.


bool Geo::GeoIntrusivePtr< T >::operator<


public: bool operator<
(
    Geo::GeoIntrusivePtr< T > rhs
)


Equivalence/comparison tests.


Geo::GeoIntrusivePtr<T>& Geo::GeoIntrusivePtr< T >::operator=


public: Geo::GeoIntrusivePtr< T > & operator=
(
    const Geo::GeoIntrusivePtr< T > & obj
)


Assignment.


bool Geo::GeoIntrusivePtr< T >::operator==


public: bool operator==
(
    Geo::GeoIntrusivePtr< T > rhs
)


Equivalence/comparison tests.


bool Geo::GeoIntrusivePtr< T >::operator>


public: bool operator>
(
    Geo::GeoIntrusivePtr< T > rhs
)


Equivalence/comparison tests.


T* Geo::GeoIntrusivePtr< T >::operator->


public: T * operator->() const


Access members of the owned object.


void Geo::GeoIntrusivePtr< T >::Reset


public: void Reset
(
    T * obj
)


Hold new object, releasing current.