Gaudi Framework, version v22r0

Home   Generated: 9 Feb 2011

interfaceMatch< THIS > Struct Template Reference

Helper class for the cast used in the MPL for_each algorithm in the implementation of queryInterface. More...

#include <implements.h>

Collaboration diagram for interfaceMatch< THIS >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 interfaceMatch (THIS *_instance, const InterfaceID &_tid, void *&_ptr)
template<typename IID >
void operator() (IID)

Public Attributes

const InterfaceIDtarget
 InterfaceID for the requested interface.
void *& ptr
 Pointer to be filled.
THIS * instance
 Value of this.

Detailed Description

template<typename THIS>
struct interfaceMatch< THIS >

Helper class for the cast used in the MPL for_each algorithm in the implementation of queryInterface.

Author:
Marco Clemencic

Definition at line 34 of file implements.h.


Constructor & Destructor Documentation

template<typename THIS>
interfaceMatch< THIS >::interfaceMatch ( THIS *  _instance,
const InterfaceID _tid,
void *&  _ptr 
) [inline]

Definition at line 41 of file implements.h.

00042                                                                         :
00043     target(_tid),
00044     ptr(_ptr),
    instance(_instance){}


Member Function Documentation

template<typename THIS>
template<typename IID >
void interfaceMatch< THIS >::operator() ( IID   )  [inline]

Definition at line 47 of file implements.h.

00047                                {
00048     if ((!ptr) && target.versionMatch(IID::interfaceID())) {
00049       ptr = reinterpret_cast<void*>(static_cast<typename IID::iface_type*>(instance));
00050     }
00051   }


Member Data Documentation

template<typename THIS>
THIS* interfaceMatch< THIS >::instance

Value of this.

Definition at line 40 of file implements.h.

template<typename THIS>
void*& interfaceMatch< THIS >::ptr

Pointer to be filled.

Definition at line 38 of file implements.h.

template<typename THIS>
const InterfaceID& interfaceMatch< THIS >::target

InterfaceID for the requested interface.

Definition at line 36 of file implements.h.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Wed Feb 9 16:31:07 2011 for Gaudi Framework, version v22r0 by Doxygen version 1.6.2 written by Dimitri van Heesch, © 1997-2004