#include <p6comptr.h>
Inherits P6R::p6ComPtrBase< p6ICom >.
Public Types | |
typedef p6ICom | element_type |
Public Member Functions | |
p6ICom ** | addressof () |
p6ICom ** | addressofWithRelease () |
void | attach (p6ICom *pIface) |
P6R::P6ERR | createInstance (P6R::p6ICom *pOuter, const P6R::P6CID &cid, const P6R::P6IID &riid) |
p6ICom * | detach () |
P6VOID | detach (p6ICom **ppIface) |
p6ICom * | get () const |
P6R::P6ERR | getRuntimeIface (const P6R::P6IID &riid) |
operator p6ICom * () const | |
P6BOOL | operator! () const |
P6BOOL | operator!= (p6ICom *pI) const |
p6ICom & | operator* () const |
p6ComPtrNoAddrefRelease< p6ICom > * | operator-> () const |
P6BOOL | operator< (p6ICom *pI) const |
p6ComPtr< p6ICom > & | operator= (p6ICom *ip) |
p6ComPtr< p6ICom > & | operator= (const p6ComPtr< p6ICom > &cp) |
P6BOOL | operator== (p6ICom *pI) const |
p6ComPtr () | |
p6ComPtr (p6ICom *pI) | |
p6ComPtr (const p6ComPtr< p6ICom > &smartPtr) | |
P6R::P6ERR | queryInterface (const P6R::P6IID &riid, Q **ppIface) |
P6VOID | swap (p6ICom **ppIface) |
P6VOID | swap (p6ComPtrBase< p6ICom > &rhs) |
Protected Member Functions | |
P6VOID | release () |
Protected Attributes | |
p6ICom * | m_pRaw |
A template specialization to support the p6ICom interface.
This enables users to pass around arbitrary interfaces pointers through code that that does not know the exact interface type. This is similar to using void* pointers in C or C++.
Definition at line 327 of file p6comptr.h.