JUCE
Public Member Functions | List of all members
juce::ComSmartPtr< ObjectType > Class Template Reference

A simple COM smart pointer. More...

Public Member Functions

 ComSmartPtr () noexcept
 
 ComSmartPtr (ObjectType *object, bool autoAddRef=true) noexcept
 
 ComSmartPtr (const ComSmartPtr &other) noexcept
 
 ~ComSmartPtr ()
 
 operator ObjectType * () const noexcept
 
ObjectType * get () const noexcept
 
ObjectType & operator* () const noexcept
 
ObjectType * operator-> () const noexcept
 
ComSmartPtroperator= (const ComSmartPtr &other)
 
ComSmartPtroperator= (ObjectType *const newObjectToTakePossessionOf)
 
bool operator== (ObjectType *const other) noexcept
 
bool operator!= (ObjectType *const other) noexcept
 
bool loadFrom (Steinberg::FUnknown *o)
 
bool loadFrom (Steinberg::IPluginFactory *factory, const Steinberg::TUID &uuid)
 
 ComSmartPtr () noexcept
 
 ComSmartPtr (ComClass *obj)
 
 ComSmartPtr (const ComSmartPtr &other)
 
 ~ComSmartPtr ()
 
 operator ComClass * () const noexcept
 
ComClass & operator* () const noexcept
 
ComClass * operator-> () const noexcept
 
ComSmartPtroperator= (ComClass *const newP)
 
ComSmartPtroperator= (const ComSmartPtr &newP)
 
ComClass ** resetAndGetPointerAddress ()
 
HRESULT CoCreateInstance (REFCLSID classUUID, DWORD dwClsContext=CLSCTX_INPROC_SERVER)
 
template<class OtherComClass >
HRESULT QueryInterface (REFCLSID classUUID, ComSmartPtr< OtherComClass > &destObject) const
 
template<class OtherComClass >
HRESULT QueryInterface (ComSmartPtr< OtherComClass > &destObject) const
 

Detailed Description

template<class ObjectType>
class juce::ComSmartPtr< ObjectType >

A simple COM smart pointer.

Constructor & Destructor Documentation

◆ ComSmartPtr() [1/6]

template<class ObjectType>
juce::ComSmartPtr< ObjectType >::ComSmartPtr ( )
noexcept

◆ ComSmartPtr() [2/6]

template<class ObjectType>
juce::ComSmartPtr< ObjectType >::ComSmartPtr ( ObjectType *  object,
bool  autoAddRef = true 
)
noexcept

◆ ComSmartPtr() [3/6]

template<class ObjectType>
juce::ComSmartPtr< ObjectType >::ComSmartPtr ( const ComSmartPtr< ObjectType > &  other)
noexcept

◆ ~ComSmartPtr() [1/2]

template<class ObjectType>
juce::ComSmartPtr< ObjectType >::~ComSmartPtr ( )

◆ ComSmartPtr() [4/6]

template<class ObjectType>
juce::ComSmartPtr< ObjectType >::ComSmartPtr ( )
noexcept

◆ ComSmartPtr() [5/6]

template<class ObjectType>
juce::ComSmartPtr< ObjectType >::ComSmartPtr ( ComClass *  obj)

◆ ComSmartPtr() [6/6]

template<class ObjectType>
juce::ComSmartPtr< ObjectType >::ComSmartPtr ( const ComSmartPtr< ObjectType > &  other)

◆ ~ComSmartPtr() [2/2]

template<class ObjectType>
juce::ComSmartPtr< ObjectType >::~ComSmartPtr ( )

Member Function Documentation

◆ operator ObjectType *()

template<class ObjectType>
juce::ComSmartPtr< ObjectType >::operator ObjectType * ( ) const
noexcept

◆ get()

template<class ObjectType>
ObjectType* juce::ComSmartPtr< ObjectType >::get ( ) const
noexcept

◆ operator*() [1/2]

template<class ObjectType>
ObjectType& juce::ComSmartPtr< ObjectType >::operator* ( ) const
noexcept

◆ operator->() [1/2]

template<class ObjectType>
ObjectType* juce::ComSmartPtr< ObjectType >::operator-> ( ) const
noexcept

◆ operator=() [1/4]

template<class ObjectType>
ComSmartPtr& juce::ComSmartPtr< ObjectType >::operator= ( const ComSmartPtr< ObjectType > &  other)

◆ operator=() [2/4]

template<class ObjectType>
ComSmartPtr& juce::ComSmartPtr< ObjectType >::operator= ( ObjectType *const  newObjectToTakePossessionOf)

◆ operator==()

template<class ObjectType>
bool juce::ComSmartPtr< ObjectType >::operator== ( ObjectType *const  other)
noexcept

◆ operator!=()

template<class ObjectType>
bool juce::ComSmartPtr< ObjectType >::operator!= ( ObjectType *const  other)
noexcept

◆ loadFrom() [1/2]

template<class ObjectType>
bool juce::ComSmartPtr< ObjectType >::loadFrom ( Steinberg::FUnknown *  o)

◆ loadFrom() [2/2]

template<class ObjectType>
bool juce::ComSmartPtr< ObjectType >::loadFrom ( Steinberg::IPluginFactory *  factory,
const Steinberg::TUID &  uuid 
)

References jassert.

◆ operator ComClass *()

template<class ObjectType>
juce::ComSmartPtr< ObjectType >::operator ComClass * ( ) const
noexcept

◆ operator*() [2/2]

template<class ObjectType>
ComClass& juce::ComSmartPtr< ObjectType >::operator* ( ) const
noexcept

◆ operator->() [2/2]

template<class ObjectType>
ComClass* juce::ComSmartPtr< ObjectType >::operator-> ( ) const
noexcept

◆ operator=() [3/4]

template<class ObjectType>
ComSmartPtr& juce::ComSmartPtr< ObjectType >::operator= ( ComClass *const  newP)

◆ operator=() [4/4]

template<class ObjectType>
ComSmartPtr& juce::ComSmartPtr< ObjectType >::operator= ( const ComSmartPtr< ObjectType > &  newP)

◆ resetAndGetPointerAddress()

template<class ObjectType>
ComClass** juce::ComSmartPtr< ObjectType >::resetAndGetPointerAddress ( )

◆ CoCreateInstance()

template<class ObjectType>
HRESULT juce::ComSmartPtr< ObjectType >::CoCreateInstance ( REFCLSID  classUUID,
DWORD  dwClsContext = CLSCTX_INPROC_SERVER 
)

References __uuidof, and jassert.

◆ QueryInterface() [1/2]

template<class ObjectType>
template<class OtherComClass >
HRESULT juce::ComSmartPtr< ObjectType >::QueryInterface ( REFCLSID  classUUID,
ComSmartPtr< OtherComClass > &  destObject 
) const

◆ QueryInterface() [2/2]

template<class ObjectType>
template<class OtherComClass >
HRESULT juce::ComSmartPtr< ObjectType >::QueryInterface ( ComSmartPtr< OtherComClass > &  destObject) const

References __uuidof.


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