| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Static Public Member Functions | List of all members
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>`

## 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 121 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 124 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 128 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 144 of file IInterface.h.

{
static InterfaceID s_iid(name().c_str(),majVers,minVers);
return s_iid;
}
template<typename INTERFACE , unsigned long majVers, unsigned long minVers>

static unsigned long Gaudi::InterfaceId< INTERFACE, majVers, minVers >::majorVersion | ( |  | ) |
| inline static

Definition at line 133 of file IInterface.h.

{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 134 of file IInterface.h.

{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 131 of file IInterface.h.

{ 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 136 of file IInterface.h.

{
#ifndef __GCCXML__
return typeid(typename iids::type);
#else
return typeid(INTERFACE); // avoid compilation errors
#endif
}

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

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