LMMS
Loading...
Searching...
No Matches
juce::ComSmartPtr< ComClass > Class Template Reference

#include <juce_win32_ComSmartPtr.h>

Public Member Functions

 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
template<class OtherComClass>
ComSmartPtr< OtherComClass > getInterface () const

Private Member Functions

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

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()

template<class ComClass>
void juce::ComSmartPtr< ComClass >::release ( )
inlineprivate

◆ resetAndGetPointerAddress()

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

Member Data Documentation

◆ p

template<class ComClass>
ComClass* juce::ComSmartPtr< ComClass >::p = nullptr
private

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