Gaudi Framework, version v22r0

Home   Generated: 9 Feb 2011

Gaudi::InterfaceId< INTERFACE, majVers, minVers > Class Template Reference

Class to handle automatically the versioning of the interfaces when they are inheriting from other interfaces. More...

#include <IInterface.h>

List of all members.

Public Types

typedef INTERFACE iface_type
 Interface type.
typedef mpl::insert< typename
iface_type::ext_iids,
InterfaceId
iids
 List of interfaces.

Static Public Member Functions

static std::string name ()
static unsigned long majorVersion ()
static unsigned long minorVersion ()
static const std::type_infoTypeInfo ()
static const InterfaceIDinterfaceID ()

Detailed Description

template<typename INTERFACE, unsigned long majVers, unsigned long minVers>
class Gaudi::InterfaceId< INTERFACE, majVers, minVers >

Class to handle automatically the versioning of the interfaces when they are inheriting from other interfaces.

Author:
Marco Clemencic

Definition at line 122 of file IInterface.h.


Member Typedef Documentation

template<typename INTERFACE , unsigned long majVers, unsigned long minVers>
typedef INTERFACE Gaudi::InterfaceId< INTERFACE, majVers, minVers >::iface_type

Interface type.

Definition at line 125 of file IInterface.h.

template<typename INTERFACE , unsigned long majVers, unsigned long minVers>
typedef mpl::insert<typename iface_type::ext_iids, InterfaceId> Gaudi::InterfaceId< INTERFACE, majVers, minVers >::iids

List of interfaces.

Definition at line 129 of file IInterface.h.


Member Function Documentation

template<typename INTERFACE , unsigned long majVers, unsigned long minVers>
static const InterfaceID& Gaudi::InterfaceId< INTERFACE, majVers, minVers >::interfaceID (  )  [inline, static]

Definition at line 145 of file IInterface.h.

00146     {
00147       static InterfaceID s_iid(name().c_str(),majVers,minVers);
00148       return s_iid;
00149     }

template<typename INTERFACE , unsigned long majVers, unsigned long minVers>
static unsigned long Gaudi::InterfaceId< INTERFACE, majVers, minVers >::majorVersion (  )  [inline, static]

Definition at line 134 of file IInterface.h.

00134 {return majVers;}

template<typename INTERFACE , unsigned long majVers, unsigned long minVers>
static unsigned long Gaudi::InterfaceId< INTERFACE, majVers, minVers >::minorVersion (  )  [inline, static]

Definition at line 135 of file IInterface.h.

00135 {return minVers;}

template<typename INTERFACE , unsigned long majVers, unsigned long minVers>
static std::string Gaudi::InterfaceId< INTERFACE, majVers, minVers >::name (  )  [inline, static]

Definition at line 132 of file IInterface.h.

00132 { return System::typeinfoName(typeid(INTERFACE)); }

template<typename INTERFACE , unsigned long majVers, unsigned long minVers>
static const std::type_info& Gaudi::InterfaceId< INTERFACE, majVers, minVers >::TypeInfo (  )  [inline, static]

Definition at line 137 of file IInterface.h.

00137                                                  {
00138 #ifndef __GCCXML__
00139       return typeid(typename iids::type);
00140 #else
00141       return typeid(INTERFACE); // avoid compilation errors
00142 #endif
00143     }


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

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