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(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 | ||||
---|---|---|---|---|
|
Geo::GeoIntrusivePtr< T >::~GeoIntrusivePtr
...
public: ~GeoIntrusivePtr()
...
Destructor - Delete the internal object.
Anchor | ||||
---|---|---|---|---|
|
void Geo::GeoIntrusivePtr< T >::Delete
...
public: void Delete()
...
Explicitly delete the internal object.
Anchor | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
Geo::GeoIntrusivePtr< T >::GeoIntrusivePtr
...
public: GeoIntrusivePtr
(
const Geo::GeoIntrusivePtr< T > & rhs
)
...
Construct from existing GeoIntrusivePtr, incrementing the reference count.
Anchor | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
T* Geo::GeoIntrusivePtr< T >::GetPtr
...
public: T * GetPtr() const
...
Explicitly return the contained type.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoIntrusivePtr< T >::operator bool_type
...
public: operator bool_type() const
...
Is the object valid?
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoIntrusivePtr< T >::operator!=
...
public: bool operator!=
(
Geo::GeoIntrusivePtr< T > rhs
)
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
T& Geo::GeoIntrusivePtr< T >::operator*
...
public: T & operator*() const
...
Allow dereferencing of the contained type.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoIntrusivePtr< T >::operator<
...
public: bool operator<
(
Geo::GeoIntrusivePtr< T > rhs
)
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
Geo::GeoIntrusivePtr<T>& Geo::GeoIntrusivePtr< T >::operator=
...
public: Geo::GeoIntrusivePtr< T > & operator=
(
const Geo::GeoIntrusivePtr< T > & obj
)
...
Assignment.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoIntrusivePtr< T >::operator==
...
public: bool operator==
(
Geo::GeoIntrusivePtr< T > rhs
)
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
bool Geo::GeoIntrusivePtr< T >::operator>
...
public: bool operator>
(
Geo::GeoIntrusivePtr< T > rhs
)
...
Equivalence/comparison tests.
Anchor | ||||
---|---|---|---|---|
|
T* Geo::GeoIntrusivePtr< T >::operator->
...
public: T * operator->() const
...
Access members of the owned object.
Anchor | ||||
---|---|---|---|---|
|
void Geo::GeoIntrusivePtr< T >::Reset
...
public: void Reset
(
T * obj
)
...
Hold new object, releasing current.