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

#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)
 
p6IComdetach ()
 
P6VOID detach (p6ICom **ppIface)
 
p6IComget () const
 
P6R::P6ERR getRuntimeIface (const P6R::P6IID &riid)
 
 operator p6ICom * () const
 
P6BOOL operator! () const
 
P6BOOL operator!= (p6ICom *pI) const
 
p6IComoperator* () 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

p6IComm_pRaw
 

Detailed Description

template<>
class P6R::p6ComPtr< p6ICom >

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.


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