JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::ComSmartPtr< ComClass > Class Template Reference

A simple COM smart pointer. More...

#include <juce_win32_ComSmartPtr.h>

Inheritance diagram for juce::ComSmartPtr< ComClass >:
Collaboration diagram for juce::ComSmartPtr< ComClass >:

Public Member Functions

 ComSmartPtr () noexcept
 
 ComSmartPtr (ComClass *obj)
 
 ComSmartPtr (const ComSmartPtr &other)
 
 ~ComSmartPtr ()
 
HRESULT CoCreateInstance (REFCLSID classUUID, DWORD dwClsContext=CLSCTX_INPROC_SERVER)
 
template<class OtherComClass >
ComSmartPtr< OtherComClass > getInterface () const
 
 operator ComClass * () const noexcept
 
ComClass & operator* () const noexcept
 
ComClass * operator-> () const noexcept
 
ComSmartPtroperator= (ComClass *const newP)
 
ComSmartPtroperator= (const ComSmartPtr &newP)
 
template<class OtherComClass >
HRESULT QueryInterface (ComSmartPtr< OtherComClass > &destObject) const
 
template<class OtherComClass >
HRESULT QueryInterface (REFCLSID classUUID, ComSmartPtr< OtherComClass > &destObject) const
 
ComClass ** resetAndGetPointerAddress ()
 

Private Member Functions

ComClass ** operator& () noexcept
 
void release ()
 

Private Attributes

ComClass * p = nullptr
 

Detailed Description

template<class ComClass>
class juce::ComSmartPtr< ComClass >

A simple COM smart pointer.

@tags{Core}

Constructor & Destructor Documentation

◆ ComSmartPtr() [1/3]

template<class ComClass >
juce::ComSmartPtr< ComClass >::ComSmartPtr ( )
inlinenoexcept

◆ ComSmartPtr() [2/3]

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

◆ ComSmartPtr() [3/3]

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

◆ ~ComSmartPtr()

template<class ComClass >
juce::ComSmartPtr< ComClass >::~ComSmartPtr ( )
inline

Member Function Documentation

◆ CoCreateInstance()

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

◆ getInterface()

template<class ComClass >
template<class OtherComClass >
ComSmartPtr<OtherComClass> juce::ComSmartPtr< ComClass >::getInterface ( ) const
inline

◆ operator ComClass *()

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

◆ operator&()

template<class ComClass >
ComClass** juce::ComSmartPtr< ComClass >::operator& ( )
privatenoexcept

◆ operator*()

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

◆ operator->()

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

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ QueryInterface() [1/2]

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

◆ QueryInterface() [2/2]

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

◆ release()

◆ resetAndGetPointerAddress()

Member Data Documentation

◆ p


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