Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

SmartIFBase Class Template Reference

Smart pointer base class to handle easily interfaces. More...

#include <SmartIF.h>

Inheritance diagram for SmartIFBase:

SmartIF SmartIF< IInterface > List of all members.

Public Methods

bool isValid () const
 Allow for check if smart pointer is valid. More...

 operator TYPE * ()
 Automatic conversion to constined interface type. More...

 operator const TYPE * () const
 Automatic conversion to constined interface type (CONST). More...

bool operator! () const
 Allow for check if smart pointer is valid. More...

 operator bool () const
 Allow for check if smart pointer is valid. More...

bool operator!= (const TYPE* test) const
 Check for non-equality. More...

bool operator== (const TYPE* test) const
 Check for equality. More...

TYPE* operator-> ()
 Dereference operator. More...

const TYPE* operator-> () const
 Dereference operator(CONST). More...

void** operator & ()
 Allow for use as void pointer. More...


Protected Methods

void releaseInterface ()
 Release interface. More...

 SmartIFBase (const IID& iid)
 Standard constructor. More...

virtual ~SmartIFBase ()
 Standard Destructor. More...


Protected Attributes

const IID m_iid
TYPE* m_interface

Detailed Description

template<class TYPE> template class SmartIFBase

Smart pointer base class to handle easily interfaces.

Description: A small class to easy the use of Gaudi interfaces. This class acts as a base class for the specific instances SmartIF<TYPE>. The base class only defines operations on the valid smart pointer.

Dependencies:

History :

    +---------+----------------------------------------------+--------+
    |    Date |                 Comment                      | Who    |
    +---------+----------------------------------------------+--------+
    | 30/10/99| Initial version.                             | MF     |
    +---------+----------------------------------------------+--------+
    
Author: M.Frank Version: 1.0

Definition at line 47 of file SmartIF.h.


Constructor & Destructor Documentation

template<classTYPE>
SmartIFBase<TYPE>::SmartIFBase<TYPE> ( const IID & iid ) [inline, protected]
 

Standard constructor.

Definition at line 57 of file SmartIF.h.

template<classTYPE>
SmartIFBase<TYPE>::~SmartIFBase<TYPE> ( ) [inline, protected, virtual]
 

Standard Destructor.

Definition at line 60 of file SmartIF.h.


Member Function Documentation

template<classTYPE>
bool SmartIFBase<TYPE>::isValid ( ) const [inline]
 

Allow for check if smart pointer is valid.

Definition at line 65 of file SmartIF.h.

template<classTYPE>
void ** SmartIFBase<TYPE>::operator & ( ) [inline]
 

Allow for use as void pointer.

Definition at line 101 of file SmartIF.h.

template<classTYPE>
SmartIFBase<TYPE>::operator TYPE * ( ) [inline]
 

Automatic conversion to constined interface type.

Definition at line 69 of file SmartIF.h.

template<classTYPE>
SmartIFBase<TYPE>::operator bool ( ) const [inline]
 

Allow for check if smart pointer is valid.

Definition at line 81 of file SmartIF.h.

template<classTYPE>
SmartIFBase<TYPE>::operator const TYPE * ( ) const [inline]
 

Automatic conversion to constined interface type (CONST).

Definition at line 73 of file SmartIF.h.

template<classTYPE>
bool SmartIFBase<TYPE>::operator! ( ) const [inline]
 

Allow for check if smart pointer is valid.

Definition at line 77 of file SmartIF.h.

template<classTYPE>
bool SmartIFBase<TYPE>::operator!= ( const TYPE * test ) const [inline]
 

Check for non-equality.

Definition at line 85 of file SmartIF.h.

template<classTYPE>
const TYPE * SmartIFBase<TYPE>::operator-> ( ) const [inline]
 

Dereference operator(CONST).

Definition at line 97 of file SmartIF.h.

template<classTYPE>
TYPE * SmartIFBase<TYPE>::operator-> ( ) [inline]
 

Dereference operator.

Definition at line 93 of file SmartIF.h.

template<classTYPE>
bool SmartIFBase<TYPE>::operator== ( const TYPE * test ) const [inline]
 

Check for equality.

Definition at line 89 of file SmartIF.h.

template<classTYPE>
void SmartIFBase<TYPE>::releaseInterface ( ) [inline, protected]
 

Release interface.

Definition at line 52 of file SmartIF.h.

Referenced by SmartIF< IInterface >::operator=(), SmartIF::operator=(), and ~SmartIFBase().


Member Data Documentation

template<classTYPE>
const IID SmartIFBase<TYPE>::m_iid [protected]
 

Definition at line 49 of file SmartIF.h.

template<classTYPE>
TYPE * SmartIFBase<TYPE>::m_interface [protected]
 

Definition at line 50 of file SmartIF.h.


The documentation for this class was generated from the following file:
Generated at Wed Nov 21 12:22:16 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000