WinStd
Additional templates and function helpers for Microsoft Windows using Standard C++ classes
|
COM object wrapper template. More...
#include <WinStd/COM.h>
Public Member Functions | |
__declspec (deprecated("Use CoCreateInstance")) com_obj(REFCLSID rclsid | |
Constructs a new object and creates a new class with it. More... | |
![]() | |
dplhandle () noexcept | |
Initializes a new class instance with the object handle set to INVAL. | |
dplhandle (handle_type h) noexcept | |
Initializes a new class instance with an already available object handle. More... | |
dplhandle (const dplhandle< handle_type, INVAL > &h) noexcept | |
Copy constructor. More... | |
dplhandle (dplhandle< handle_type, INVAL > &&h) noexcept | |
Move constructor. More... | |
dplhandle< handle_type, INVAL > & | operator= (handle_type h) noexcept |
Attaches already available object handle. More... | |
dplhandle< handle_type, INVAL > & | operator= (const dplhandle< handle_type, INVAL > &h) noexcept |
Duplicates the object. More... | |
dplhandle< handle_type, INVAL > & | operator= (dplhandle< handle_type, INVAL > &&h) noexcept |
Moves the object. More... | |
handle_type | duplicate () const |
Duplicates and returns a new object handle. More... | |
bool | attach_duplicated (handle_type h) |
Duplicates an object handle and sets a new object handle. More... | |
![]() | |
handle () noexcept | |
Initializes a new class instance with the object handle set to INVAL. | |
handle (handle_type h) noexcept | |
Initializes a new class instance with an already available object handle. More... | |
handle (handle< handle_type, INVAL > &&h) noexcept | |
Move constructor. More... | |
handle< handle_type, INVAL > & | operator= (handle_type h) noexcept |
Attaches already available object handle. More... | |
handle< handle_type, INVAL > & | operator= (handle< handle_type, INVAL > &&h) noexcept |
Move assignment. More... | |
operator handle_type () const | |
Auto-typecasting operator. More... | |
handle_type *& | operator* () const |
Returns the object handle value when the object handle is a pointer to a value (class, struct, etc.). More... | |
handle_type * | operator& () |
Returns the object handle reference. More... | |
handle_type | operator-> () const |
Provides object handle member access when the object handle is a pointer to a class or struct. More... | |
bool | operator! () const |
Tests if the object handle is INVAL. More... | |
bool | operator< (handle_type h) const |
Is handle less than? More... | |
bool | operator<= (handle_type h) const |
Is handle less than or equal to? More... | |
bool | operator>= (handle_type h) const |
Is handle greater than or equal to? More... | |
bool | operator> (handle_type h) const |
Is handle greater than? More... | |
bool | operator!= (handle_type h) const |
Is handle not equal to? More... | |
bool | operator== (handle_type h) const |
Is handle equal to? More... | |
void | attach (handle_type h) noexcept |
Sets a new object handle for the class. More... | |
handle_type | detach () |
Dismisses the object handle from this class. More... | |
void | free () |
Destroys the object. | |
Public Attributes | |
LPUNKNOWN | pUnkOuter = NULL |
Additional Inherited Members | |
![]() | |
typedef T * | handle_type |
Datatype of the object handle this template class handles. | |
![]() | |
static const T * | invalid |
Invalid handle value. | |
![]() | |
virtual handle_type | duplicate_internal (handle_type h) const noexcept=0 |
Abstract member function that must be implemented by child classes to do the actual object handle duplication. More... | |
![]() | |
virtual void | free_internal () noexcept=0 |
Abstract member function that must be implemented by child classes to do the actual object destruction. | |
![]() | |
handle_type | m_h |
Object handle. | |
COM object wrapper template.
winstd::com_obj< T >::__declspec | ( | deprecated("Use CoCreateInstance") | ) |
Constructs a new object and creates a new class with it.