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

#include <p6comptr.h>

Inherited by P6R::p6ComPtr< 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
 
P6BOOL operator== (I *pI) const
 
template<typename Q >
P6R::P6ERR queryInterface (const P6R::P6IID &riid, Q **ppIface)
 
P6VOID swap (I **ppIface)
 
P6VOID swap (p6ComPtrBase< I > &rhs)
 
 ~p6ComPtrBase ()
 

Protected Member Functions

 p6ComPtrBase (I *pRawPtr=NULL)
 
P6VOID release ()
 

Protected Attributes

I * m_pRaw
 

Detailed Description

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

Base class which implements common functionality for p6ComPtr and it's p6ICom specialization.

This is only meant to be used by p6ComPtr and it's specializations. IT is not intended to be used directly.

Definition at line 42 of file p6comptr.h.


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