Polyphase Game Engine
Loading...
Searching...
No Matches
SharedPtr< T > Class Template Reference

#include <SmartPointer.h>

Public Member Functions

 SharedPtr ()
 
 SharedPtr (const SharedPtr< T > &src)
 
 SharedPtr (SharedPtr< T > &&src)
 
 SharedPtr (std::nullptr_t)
 
 ~SharedPtr ()
 
SharedPtr< T > & operator= (const SharedPtr< T > &src)
 
SharedPtr< T > & operator= (SharedPtr< T > &&src)
 
SharedPtr< T > & operator= (std::nullptr_t)
 
bool operator== (const SharedPtr &other) const
 
bool operator!= (const SharedPtr &other) const
 
bool operator== (const T *other) const
 
bool operator!= (const T *other) const
 
T * operator-> () const
 
T & operator* () const
 
 operator bool () const
 
void SetCommon (T *pointer, RefCount< T > *refCount)
 
void Set (T *pointer, RefCount< T > *refCount)
 
void ClearCommon ()
 
void Clear ()
 
void SetDeleter (typename RefCount< T >::DeleterFP deleteFunc)
 
void Reset ()
 
T * Get () const
 
T *& GetRef ()
 
RefCount< T > * GetRefCount () const
 
int32_t GetUseCount () const
 
int32_t GetSharedCount () const
 
int32_t GetWeakCount () const
 
const T * GetPointerRaw () const
 
template<typename S >
S * Get () const
 
bool IsValid () const
 

Constructor & Destructor Documentation

◆ SharedPtr() [1/4]

template<typename T >
SharedPtr< T >::SharedPtr ( )
inline

◆ SharedPtr() [2/4]

template<typename T >
SharedPtr< T >::SharedPtr ( const SharedPtr< T > &  src)
inline

◆ SharedPtr() [3/4]

template<typename T >
SharedPtr< T >::SharedPtr ( SharedPtr< T > &&  src)
inline

◆ SharedPtr() [4/4]

template<typename T >
SharedPtr< T >::SharedPtr ( std::nullptr_t  )
inline

◆ ~SharedPtr()

template<typename T >
SharedPtr< T >::~SharedPtr ( )
inline

Member Function Documentation

◆ Clear()

template<typename T >
void SharedPtr< T >::Clear ( )
inline

◆ ClearCommon()

template<typename T >
void SharedPtr< T >::ClearCommon ( )
inline

◆ Get() [1/2]

template<typename T >
T * SharedPtr< T >::Get ( ) const
inline

◆ Get() [2/2]

template<typename T >
template<typename S >
S * SharedPtr< T >::Get ( ) const
inline

◆ GetPointerRaw()

template<typename T >
const T * SharedPtr< T >::GetPointerRaw ( ) const
inline

◆ GetRef()

template<typename T >
T *& SharedPtr< T >::GetRef ( )
inline

◆ GetRefCount()

template<typename T >
RefCount< T > * SharedPtr< T >::GetRefCount ( ) const
inline

◆ GetSharedCount()

template<typename T >
int32_t SharedPtr< T >::GetSharedCount ( ) const
inline

◆ GetUseCount()

template<typename T >
int32_t SharedPtr< T >::GetUseCount ( ) const
inline

◆ GetWeakCount()

template<typename T >
int32_t SharedPtr< T >::GetWeakCount ( ) const
inline

◆ IsValid()

template<typename T >
bool SharedPtr< T >::IsValid ( ) const
inline

◆ operator bool()

template<typename T >
SharedPtr< T >::operator bool ( ) const
inline

◆ operator!=() [1/2]

template<typename T >
bool SharedPtr< T >::operator!= ( const SharedPtr< T > &  other) const
inline

◆ operator!=() [2/2]

template<typename T >
bool SharedPtr< T >::operator!= ( const T *  other) const
inline

◆ operator*()

template<typename T >
T & SharedPtr< T >::operator* ( ) const
inline

◆ operator->()

template<typename T >
T * SharedPtr< T >::operator-> ( ) const
inline

◆ operator=() [1/3]

template<typename T >
SharedPtr< T > & SharedPtr< T >::operator= ( const SharedPtr< T > &  src)
inline

◆ operator=() [2/3]

template<typename T >
SharedPtr< T > & SharedPtr< T >::operator= ( SharedPtr< T > &&  src)
inline

◆ operator=() [3/3]

template<typename T >
SharedPtr< T > & SharedPtr< T >::operator= ( std::nullptr_t  )
inline

◆ operator==() [1/2]

template<typename T >
bool SharedPtr< T >::operator== ( const SharedPtr< T > &  other) const
inline

◆ operator==() [2/2]

template<typename T >
bool SharedPtr< T >::operator== ( const T *  other) const
inline

◆ Reset()

template<typename T >
void SharedPtr< T >::Reset ( )
inline

◆ Set()

template<typename T >
void SharedPtr< T >::Set ( T *  pointer,
RefCount< T > *  refCount 
)
inline

◆ SetCommon()

template<typename T >
void SharedPtr< T >::SetCommon ( T *  pointer,
RefCount< T > *  refCount 
)
inline

◆ SetDeleter()

template<typename T >
void SharedPtr< T >::SetDeleter ( typename RefCount< T >::DeleterFP  deleteFunc)
inline

The documentation for this class was generated from the following file: