Gaudi Framework, version v23r0

Home   Generated: Mon Jan 30 2012
Public Member Functions | Public Attributes

interfaceMatch< T > 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< T >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 interfaceMatch (const T *_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.
const T * instance
 Value of this.

Detailed Description

template<typename T>
struct interfaceMatch< T >

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

Author:
Marco Clemencic

Definition at line 11 of file implements.h.


Constructor & Destructor Documentation

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

Definition at line 18 of file implements.h.

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

Member Function Documentation

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

Definition at line 24 of file implements.h.

                               {
    if ((!ptr) && target.versionMatch(IID::interfaceID())) {
      ptr = const_cast<void*>(reinterpret_cast<const void*>(static_cast<const typename IID::iface_type*>(instance)));
    }
  }

Member Data Documentation

template<typename T>
const T* interfaceMatch< T >::instance

Value of this.

Definition at line 17 of file implements.h.

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

Pointer to be filled.

Definition at line 15 of file implements.h.

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

InterfaceID for the requested interface.

Definition at line 13 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 Mon Jan 30 2012 13:53:17 for Gaudi Framework, version v23r0 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004