template<typename T>
OrbitEngine::Ptr class

Derived classes

template<typename T>
class StrongPtr
template<typename T>
class WeakPtr

Constructors, destructors, conversion operators

Ptr(T* ptr = 0, Meta::Type* type = 0, RefCount* ref_count = 0)
~Ptr() virtual
operator bool() const

Public functions

auto GetType() const -> Meta::Type*
void Clear() virtual
auto Get() const -> T*
auto operator->() const -> T*
auto operator==(const Ptr& rhs) const -> bool
auto operator!=(const Ptr& rhs) const -> bool
template<typename V>
auto AsWeak() -> WeakPtr<V>
template<typename V>
auto AsStrong() -> StrongPtr<V>

Protected functions

void BuildFromPtr(const Ptr<T>& ptr) virtual

Protected variables

T* m_Ptr
Meta::Type* m_Type
RefCount* m_RefCount

Function documentation

template<typenameT>
OrbitEngine::Ptr<T>::Ptr(T* ptr = 0, Meta::Type* type = 0, RefCount* ref_count = 0)

template<typenameT>
OrbitEngine::Ptr<T>::~Ptr() virtual

template<typenameT>
OrbitEngine::Ptr<T>::operator bool() const

template<typenameT>
Meta::Type* OrbitEngine::Ptr<T>::GetType() const

template<typenameT>
void OrbitEngine::Ptr<T>::Clear() virtual

template<typenameT>
T* OrbitEngine::Ptr<T>::Get() const

template<typenameT>
T* OrbitEngine::Ptr<T>::operator->() const

template<typenameT>
bool OrbitEngine::Ptr<T>::operator==(const Ptr& rhs) const

template<typenameT>
bool OrbitEngine::Ptr<T>::operator!=(const Ptr& rhs) const

template<typenameT> template<typename V>
WeakPtr<V> OrbitEngine::Ptr<T>::AsWeak()

template<typenameT> template<typename V>
StrongPtr<V> OrbitEngine::Ptr<T>::AsStrong()

template<typenameT>
void OrbitEngine::Ptr<T>::BuildFromPtr(const Ptr<T>& ptr) virtual protected

Variable documentation

template<typenameT>
T* OrbitEngine::Ptr<T>::m_Ptr protected

template<typenameT>
Meta::Type* OrbitEngine::Ptr<T>::m_Type protected

template<typenameT>
RefCount* OrbitEngine::Ptr<T>::m_RefCount protected