Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
P6R::p6ComPtr< I > Class Template Reference

#include <p6comptr.h>

Inherits P6R::p6ComPtrBase< I >.

Public Types

typedef I element_type
 

Public Member Functions

I ** addressof ()
 
I ** addressofWithRelease ()
 
void attach (I *pIface)
 
P6R::P6ERR createInstance (P6R::p6ICom *pOuter, const P6R::P6CID &cid, const P6R::P6IID &riid)
 
I * detach ()
 
P6VOID detach (I **ppIface)
 
I * get () const
 
P6R::P6ERR getRuntimeIface (const P6R::P6IID &riid)
 
 operator I * () const
 
P6BOOL operator! () const
 
P6BOOL operator!= (I *pI) const
 
I & operator* () const
 
p6ComPtrNoAddrefRelease< I > * operator-> () const
 
P6BOOL operator< (I *pI) const
 
p6ComPtr< I > & operator= (I *ip)
 
p6ComPtr< I > & operator= (const p6ComPtr< I > &cp)
 
P6BOOL operator== (I *pI) const
 
 p6ComPtr (I *ip=NULL)
 
 p6ComPtr (const P6R::P6CID &rclsid, const P6R::P6IID &riid, P6R::P6ERR *pErr=NULL)
 
 p6ComPtr (const P6R::P6IID &riid, P6R::P6ERR *pErr=NULL)
 
 p6ComPtr (p6ICom *pCom, const P6R::P6IID &riid, P6R::P6ERR *pErr=NULL)
 
 p6ComPtr (const p6ComPtr< I > &rSI)
 
template<typename Q >
P6R::P6ERR queryInterface (const P6R::P6IID &riid, Q **ppIface)
 
P6VOID swap (I **ppIface)
 
P6VOID swap (p6ComPtrBase< I > &rhs)
 

Protected Member Functions

P6VOID release ()
 

Protected Attributes

I * m_pRaw
 

Detailed Description

template<typename I>
class P6R::p6ComPtr< I >

A smart pointer implementation to help manage and use [p6]COM based interfaces.

Definition at line 232 of file p6comptr.h.


The documentation for this class was generated from the following file: