P6R::p6ComPtrBase< I > Class Template Reference

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

#include <p6comptr.h>

Inherited by P6R::p6ComPtr< I >.

List of all members.

Public Types

typedef I element_type

Public Member Functions

I ** addressof ()
I ** addressofWithRelease ()
void attach (I *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 (I **ppIface)
 Detach the owned interface from the smart pointer without release().
I * detach ()
 Detach the owned inteface from the smart pointer and return a dumb pointer without release() directly.
I * 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 I * () const
P6BOOL operator! () const
P6BOOL operator!= (I *pI) const
I & operator* () const
I * operator-> () const
P6BOOL operator< (I *pI) const
P6BOOL operator== (I *pI) const
template<typename Q >
P6R::P6ERR queryInterface (const P6R::IID &riid, Q **ppIface)
 A type safe version of queryInterface().
P6VOID swap (p6ComPtrBase< I > &rhs)
 Exchange ownership.
P6VOID swap (I **ppIface)
 Exchange ownership.
 ~p6ComPtrBase ()

Protected Member Functions

 p6ComPtrBase (I *pRawPtr=NULL)
 Default constructor.
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 24 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.