OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::ComPtr< T > Class Template Reference

#include <OgreComPtr.h>

Public Types

typedef T Type
 

Public Member Functions

 ComPtr () ASSUME_NOEXCEPT
 
template<typename U >
 ComPtr (ComPtr< U > const &other) ASSUME_NOEXCEPT
 
 ComPtr (const ComPtr &other) ASSUME_NOEXCEPT
 
template<typename U >
 ComPtr (U *other) ASSUME_NOEXCEPT
 
 ~ComPtr () ASSUME_NOEXCEPT
 
template<typename U >
HRESULT As (ComPtr< U > *res) const ASSUME_NOEXCEPT
 
void Attach (T *other) ASSUME_NOEXCEPT
 
T * Detach () ASSUME_NOEXCEPT
 
T * Get () const ASSUME_NOEXCEPT
 
T ** GetAddressOf () ASSUME_NOEXCEPT
 
 operator bool () const ASSUME_NOEXCEPT
 
NoAddRefRelease< T > * operator-> () const ASSUME_NOEXCEPT
 
ComPtroperator= (const ComPtr &other) ASSUME_NOEXCEPT
 
template<typename U >
ComPtroperator= (const ComPtr< U > &other) ASSUME_NOEXCEPT
 
ComPtroperator= (T *other) ASSUME_NOEXCEPT
 
template<typename U >
ComPtroperator= (U *other) ASSUME_NOEXCEPT
 
T ** ReleaseAndGetAddressOf () ASSUME_NOEXCEPT
 
void Reset () ASSUME_NOEXCEPT
 
void Swap (ComPtr &other) ASSUME_NOEXCEPT
 

Member Typedef Documentation

◆ Type

template<typename T >
typedef T Ogre::ComPtr< T >::Type

Constructor & Destructor Documentation

◆ ComPtr() [1/4]

template<typename T >
Ogre::ComPtr< T >::ComPtr ( )
inline

◆ ComPtr() [2/4]

template<typename T >
template<typename U >
Ogre::ComPtr< T >::ComPtr ( U *  other)
inline

◆ ComPtr() [3/4]

template<typename T >
Ogre::ComPtr< T >::ComPtr ( const ComPtr< T > &  other)
inline

◆ ComPtr() [4/4]

template<typename T >
template<typename U >
Ogre::ComPtr< T >::ComPtr ( ComPtr< U > const &  other)
inline

◆ ~ComPtr()

template<typename T >
Ogre::ComPtr< T >::~ComPtr ( )
inline

Member Function Documentation

◆ As()

template<typename T >
template<typename U >
HRESULT Ogre::ComPtr< T >::As ( ComPtr< U > *  res) const
inline

◆ Attach()

template<typename T >
void Ogre::ComPtr< T >::Attach ( T *  other)
inline

◆ Detach()

template<typename T >
T* Ogre::ComPtr< T >::Detach ( )
inline

◆ Get()

◆ GetAddressOf()

template<typename T >
T** Ogre::ComPtr< T >::GetAddressOf ( )
inline

◆ operator bool()

template<typename T >
Ogre::ComPtr< T >::operator bool ( ) const
inlineexplicit

◆ operator->()

template<typename T >
NoAddRefRelease<T>* Ogre::ComPtr< T >::operator-> ( ) const
inline

◆ operator=() [1/4]

template<typename T >
ComPtr& Ogre::ComPtr< T >::operator= ( const ComPtr< T > &  other)
inline

◆ operator=() [2/4]

template<typename T >
template<typename U >
ComPtr& Ogre::ComPtr< T >::operator= ( const ComPtr< U > &  other)
inline

◆ operator=() [3/4]

template<typename T >
ComPtr& Ogre::ComPtr< T >::operator= ( T *  other)
inline

◆ operator=() [4/4]

template<typename T >
template<typename U >
ComPtr& Ogre::ComPtr< T >::operator= ( U *  other)
inline

◆ ReleaseAndGetAddressOf()

template<typename T >
T** Ogre::ComPtr< T >::ReleaseAndGetAddressOf ( )
inline

◆ Reset()

template<typename T >
void Ogre::ComPtr< T >::Reset ( )
inline

◆ Swap()

template<typename T >
void Ogre::ComPtr< T >::Swap ( ComPtr< T > &  other)
inline

Referenced by Ogre::swap().


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