SmartEngine  1.6.0
Public Member Functions | List of all members
SmartEngine::ObjectPtr< T > Class Template Reference

Smart pointer to an IObject. Automatic ref counting. More...

#include <ObjectPtr.h>

Public Member Functions

 ObjectPtr ()
 
 ObjectPtr (const ObjectPtr< T > &ptr)
 
 ObjectPtr (T *ptr)
 
 ~ObjectPtr ()
 
void Clear ()
 
ObjectPtr< T > & operator= (ObjectPtr< T > &&ptr)
 
ObjectPtr< T > & operator= (IObject *ptr)
 
ObjectPtr< T > & operator= (const ObjectPtr< T > &ptr)
 
T * operator-> () const
 
T * Get () const
 
T *& Get ()
 
void Attach (IObject *ptr)
 
T * Detach ()
 
 operator T* () const
 
template<typename D >
bool IsA ()
 

Detailed Description

template<typename T>
class SmartEngine::ObjectPtr< T >

Smart pointer to an IObject. Automatic ref counting.

Constructor & Destructor Documentation

◆ ObjectPtr() [1/3]

template<typename T >
SmartEngine::ObjectPtr< T >::ObjectPtr ( )

◆ ObjectPtr() [2/3]

template<typename T >
SmartEngine::ObjectPtr< T >::ObjectPtr ( const ObjectPtr< T > &  ptr)

◆ ObjectPtr() [3/3]

template<typename T >
SmartEngine::ObjectPtr< T >::ObjectPtr ( T *  ptr)

◆ ~ObjectPtr()

template<typename T >
SmartEngine::ObjectPtr< T >::~ObjectPtr ( )

Member Function Documentation

◆ Attach()

template<typename T >
void SmartEngine::ObjectPtr< T >::Attach ( IObject ptr)

◆ Clear()

template<typename T >
void SmartEngine::ObjectPtr< T >::Clear ( )

◆ Detach()

template<typename T >
T* SmartEngine::ObjectPtr< T >::Detach ( )

◆ Get() [1/2]

template<typename T >
T*& SmartEngine::ObjectPtr< T >::Get ( )

◆ Get() [2/2]

template<typename T >
T* SmartEngine::ObjectPtr< T >::Get ( ) const

◆ IsA()

template<typename T >
template<typename D >
bool SmartEngine::ObjectPtr< T >::IsA ( )

◆ operator T*()

template<typename T >
SmartEngine::ObjectPtr< T >::operator T* ( ) const

◆ operator->()

template<typename T >
T* SmartEngine::ObjectPtr< T >::operator-> ( ) const

◆ operator=() [1/3]

template<typename T >
ObjectPtr<T>& SmartEngine::ObjectPtr< T >::operator= ( const ObjectPtr< T > &  ptr)

◆ operator=() [2/3]

template<typename T >
ObjectPtr<T>& SmartEngine::ObjectPtr< T >::operator= ( IObject ptr)

◆ operator=() [3/3]

template<typename T >
ObjectPtr<T>& SmartEngine::ObjectPtr< T >::operator= ( ObjectPtr< T > &&  ptr)