pacemaker 1.0.1
COM automation for people with deadlines and a hatred of GUIs
 
Loading...
Searching...
No Matches
COMProxy.hpp
Go to the documentation of this file.
1#ifndef PACEMAKER_INCA_DETAIL_COMPROXY_HPP_
2#define PACEMAKER_INCA_DETAIL_COMPROXY_HPP_
3
5
7{
33 template<class T>
35 {
36 protected:
45 : p_subject{std::move(subject)}
46 {
47 }
49 COMProxy(COMProxy &&) = default;
51 COMProxy &operator=(COMProxy &&) = default;
52
61 };
62} // namespace pacemaker::inca::detail
63
64#endif // PACEMAKER_INCA_DETAIL_COMPROXY_HPP_
Non-copyable CRTP base class for COM dispatch proxy objects.
Definition COMProxy.hpp:35
COMProxy(COMProxy &&)=default
Move constructor transfers ownership of the underlying COM pointer.
COMProxy(pacemaker::inca::detail::unique_com_ptr< T > subject) noexcept
Constructs the proxy, taking ownership of subject.
Definition COMProxy.hpp:44
COMProxy & operator=(COMProxy &&)=default
Move assignment transfers ownership of the underlying COM pointer.
pacemaker::inca::detail::unique_com_ptr< T > p_subject
Owning pointer to the underlying COM dispatch object.
Definition COMProxy.hpp:60
std::unique_ptr< T, ComObjDeleter< T > > unique_com_ptr
RAII owning pointer for COM objects.