A simple COM smart pointer. More...
#include <juce_ComSmartPtr_windows.h>


Public Member Functions | |
| ComSmartPtr () noexcept=default | |
| ComSmartPtr (const ComSmartPtr &other) | |
| template<typename U > | |
| ComSmartPtr (const ComSmartPtr< U > &other) | |
| ComSmartPtr (std::nullptr_t) noexcept | |
| ~ComSmartPtr () noexcept | |
| HRESULT | CoCreateInstance (REFCLSID classUUID, DWORD dwClsContext=CLSCTX_INPROC_SERVER) |
| ComClass * | get () const noexcept |
| template<class OtherComClass > | |
| ComSmartPtr< OtherComClass > | getInterface () const |
| operator ComClass * () const noexcept | |
| ComClass & | operator* () const noexcept |
| ComClass * | operator-> () const noexcept |
| ComSmartPtr & | operator= (const ComSmartPtr &newP) |
| template<typename U > | |
| ComSmartPtr & | operator= (const ComSmartPtr< U > &newP) |
| template<class OtherComClass > | |
| HRESULT | QueryInterface (ComSmartPtr< OtherComClass > &destObject) const |
| template<class OtherComClass > | |
| HRESULT | QueryInterface (REFCLSID classUUID, ComSmartPtr< OtherComClass > &destObject) const |
| ComClass ** | resetAndGetPointerAddress () |
Static Public Member Functions | |
| static auto | addOwner (ComClass *t) |
| Increments refcount. | |
| static auto | becomeOwner (ComClass *t) |
| Does not initially increment refcount; assumes t has a positive refcount. | |
Private Member Functions | |
| ComSmartPtr (ComClass *object, bool autoAddRef) noexcept | |
| ComClass ** | operator& () noexcept |
| void | release () |
Private Attributes | |
| ComClass * | p = nullptr |
Friends | |
| template<typename U > | |
| class | ComSmartPtr |
A simple COM smart pointer.
@tags{Core}
|
defaultnoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
inlinenoexcept |
References juce::ComSmartPtr< ComClass >::release().
|
inlineprivatenoexcept |
References juce::ComSmartPtr< ComClass >::p.
|
inlinestatic |
Increments refcount.
References juce::ComSmartPtr< ComClass >::ComSmartPtr.
Referenced by juce::addComSmartPtrOwner().
|
inlinestatic |
Does not initially increment refcount; assumes t has a positive refcount.
References juce::ComSmartPtr< ComClass >::ComSmartPtr.
Referenced by juce::becomeComSmartPtrOwner().
|
inline |
|
inlinenoexcept |
References juce::ComSmartPtr< ComClass >::p.
|
inline |
References juce::ComSmartPtr< ComClass >::QueryInterface().
|
inlinenoexcept |
References juce::ComSmartPtr< ComClass >::p.
|
privatenoexcept |
|
inlinenoexcept |
References juce::ComSmartPtr< ComClass >::p.
|
inlinenoexcept |
References juce::ComSmartPtr< ComClass >::p.
|
inline |
References juce::ComSmartPtr< ComClass >::p.
|
inline |
References juce::ComSmartPtr< ComClass >::p.
|
inline |
References __uuidof, and juce::ComSmartPtr< ComClass >::QueryInterface().
|
inline |
|
inlineprivate |
References juce::ComSmartPtr< ComClass >::p.
Referenced by juce::ComSmartPtr< ComClass >::~ComSmartPtr(), and juce::ComSmartPtr< ComClass >::resetAndGetPointerAddress().
|
inline |
References juce::ComSmartPtr< ComClass >::p, and juce::ComSmartPtr< ComClass >::release().
Referenced by juce::WinRTWrapper::activateInstance(), juce::addHandlersToArray(), juce::ComSmartPtr< ComClass >::CoCreateInstance(), juce::WinRTWrapper::getWRLFactory(), and juce::ComSmartPtr< ComClass >::QueryInterface().
|
private |
Referenced by juce::ComSmartPtr< ComClass >::ComSmartPtr(), juce::ComSmartPtr< ComClass >::get(), juce::ComSmartPtr< ComClass >::operator ComClass *(), juce::ComSmartPtr< ComClass >::operator*(), juce::ComSmartPtr< ComClass >::operator->(), juce::ComSmartPtr< ComClass >::operator=(), juce::ComSmartPtr< ComClass >::operator=(), juce::ComSmartPtr< ComClass >::QueryInterface(), juce::ComSmartPtr< ComClass >::release(), and juce::ComSmartPtr< ComClass >::resetAndGetPointerAddress().