| # Gaudi Framework, version v21r10p1 |

Home |  | Generated: 29 Jul 2010

# 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_info & | TypeInfo ()
static const InterfaceID & | interfaceID ()

## 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 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 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 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     }

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     }

The documentation for this class was generated from the following file:

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v21r10p1/GaudiKernel/GaudiKernel/IInterface.h