class Geo GeoIntrusivePtr

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

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(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
)