|
|
Home | Loader API | Interfaces | File List | Index | |
A template specialization to support the p6ICom interface. More...
#include <p6comptr.h>
Inherits p6ComPtrBase< p6ICom >.
Public Types | |
typedef p6ICom | element_type |
Public Member Functions | |
p6ICom ** | addressof () |
p6ICom ** | addressofWithRelease () |
void | attach (p6ICom *pIface) |
Take ownership of a new interface without addref(). | |
P6R::P6ERR | createInstance (P6R::p6ICom *pOuter, const P6R::CID &cid, const P6R::IID &riid) |
Create a new component instance and assign the result to this smart pointer. | |
P6VOID | detach (p6ICom **ppIface) |
Detach the owned interface from the smart pointer without release(). | |
p6ICom * | detach () |
Detach the owned inteface from the smart pointer and return a dumb pointer without release() directly. | |
p6ICom * | get () const |
P6R::P6ERR | getRuntimeIface (const P6R::IID &riid) |
Get an instance of a runtime interface and adding the result to this smart pointer. | |
operator p6ICom * () const | |
P6BOOL | operator! () const |
P6BOOL | operator!= (p6ICom *pI) const |
p6ICom & | operator* () const |
p6ICom * | operator-> () const |
P6BOOL | operator< (p6ICom *pI) const |
p6ComPtr< p6ICom > & | operator= (const p6ComPtr< p6ICom > &cp) |
Assign from a smart pointer of the correct type. | |
p6ComPtr< p6ICom > & | operator= (p6ICom *ip) |
Assign from a dumb pointer of the correct type. | |
P6BOOL | operator== (p6ICom *pI) const |
p6ComPtr (const p6ComPtr< p6ICom > &smartPtr) | |
Copy constructor. | |
p6ComPtr (p6ICom *pI) | |
Contruct from a dumb pointer of the correct type. | |
p6ComPtr () | |
Default constructor. | |
P6R::P6ERR | queryInterface (const P6R::IID &riid, Q **ppIface) |
A type safe version of queryInterface(). | |
P6VOID | swap (p6ComPtrBase< p6ICom > &rhs) |
Exchange ownership. | |
P6VOID | swap (p6ICom **ppIface) |
Exchange ownership. | |
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 297 of file p6comptr.h.