Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

NameDescription
~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.


Anchor
a2326e866551bf3021e1cbabf612c460b
a2326e866551bf3021e1cbabf612c460b

Geo::GeoIntrusivePtr< T >::~GeoIntrusivePtr

...

public: ~GeoIntrusivePtr()

...

Destructor - Delete the internal object.


Anchor
a645cfa0f2ce0c7affa06d9c0ac7c22b0
a645cfa0f2ce0c7affa06d9c0ac7c22b0

void Geo::GeoIntrusivePtr< T >::Delete

...

public: void Delete()

...

Explicitly delete the internal object.


Anchor
a38c0bccaa889c74049cca415799e11d8
a38c0bccaa889c74049cca415799e11d8

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.


Anchor
af0ba66e7da8279cbeaaffc1df8e6268e
af0ba66e7da8279cbeaaffc1df8e6268e

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.


Anchor
a4887a7768789a1d5fc74b166ddbca874
a4887a7768789a1d5fc74b166ddbca874

Geo::GeoIntrusivePtr< T >::GeoIntrusivePtr

...

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

...

Construct from existing GeoIntrusivePtr, incrementing the reference count.


Anchor
a0a51b2b445bb5bf29cc95fa56983834f
a0a51b2b445bb5bf29cc95fa56983834f

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.


Anchor
a2d2365602eff72523280b9cdc4ed6d8c
a2d2365602eff72523280b9cdc4ed6d8c

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

...

public: T * GetPtr() const

...

Explicitly return the contained type.


Anchor
a5a156e0275c317f3ac33308ba5f93358
a5a156e0275c317f3ac33308ba5f93358

Geo::GeoIntrusivePtr< T >::operator bool_type

...

public: operator bool_type() const

...

Is the object valid?


Anchor
a77cc4b302f797e7ae9419a3a2741905c
a77cc4b302f797e7ae9419a3a2741905c

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

...

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

...

Equivalence/comparison tests.


Anchor
a1c3a64f123c0271f7616f6e86fdbe801
a1c3a64f123c0271f7616f6e86fdbe801

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

...

public: T & operator*() const

...

Allow dereferencing of the contained type.


Anchor
ac4d93a11291a0360b703dd151c8f701f
ac4d93a11291a0360b703dd151c8f701f

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

...

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

...

Equivalence/comparison tests.


Anchor
ad5bf05cba1d2688cb7989d9c181eca09
ad5bf05cba1d2688cb7989d9c181eca09

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

...

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

...

Assignment.


Anchor
a0f48c64e9340e860eaf797f1ea349542
a0f48c64e9340e860eaf797f1ea349542

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

...

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

...

Equivalence/comparison tests.


Anchor
a0c8d799d5c27cc6aed5e0e948a573325
a0c8d799d5c27cc6aed5e0e948a573325

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

...

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

...

Equivalence/comparison tests.


Anchor
a4cfcd4591c94b0b650c9b8703b5b2ce9
a4cfcd4591c94b0b650c9b8703b5b2ce9

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

...

public: T * operator->() const

...

Access members of the owned object.


Anchor
a81e6d6ba2b85f01e7dc17217f54bbfcf
a81e6d6ba2b85f01e7dc17217f54bbfcf

void Geo::GeoIntrusivePtr< T >::Reset

...

public: void Reset
(
    T * obj
)

...

Hold new object, releasing current.