1#ifndef PACEMAKER_INCA_DETAIL_COMPROXY_HPP_
2#define PACEMAKER_INCA_DETAIL_COMPROXY_HPP_
102 std::move(subject))} {}
Owning smart-pointer base class for COM dispatch proxy objects.
COMProxy(unique_com_ptr<::IDispatch > subject)
Constructs the proxy by narrowing an owning IDispatch pointer to T.
COMProxy(COMProxy &&)=default
Move ctor; transfers ownership of the COM pointer.
COMProxy(::IDispatch *subject)
Constrcuts the proxy from a raw IDispatch*, taking ownership.
COMProxy()=default
Default ctor; leaves the internal pointer null.
COMProxy & operator=(COMProxy &&)=default
Move assignment; transfers ownership of the COM pointer.
auto query_interface(pacemaker::inca::detail::unique_com_ptr<::IDispatch > src) -> pacemaker::inca::detail::unique_com_ptr< T >
Narrows a generic IDispatch pointer to a typed DispatchWrapper.
std::unique_ptr< T, ComObjDeleter< T > > unique_com_ptr
RAII owning pointer for COM objects.