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.