P6R::p6ComPtr< p6ICom > Class Template Reference

A template specialization to support the p6ICom interface. More...

#include <p6comptr.h>

Inherits p6ComPtrBase< p6ICom >.

List of all members.

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().
p6IComdetach ()
 Detach the owned inteface from the smart pointer and return a dumb pointer without release() directly.
p6IComget () 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
p6IComoperator* () const
p6IComoperator-> () 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

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 297 of file p6comptr.h.


The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
Copyright © 2004 - 2010 P6R Inc. - All Rights Reserved.