| # Gaudi Framework, version v23r0 |

Home |  | Generated: Mon Jan 30 2012

Public Types | Static Public Member Functions

# 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 const InterfaceID& Gaudi::InterfaceId< INTERFACE, majVers, minVers >::interfaceID | ( | ) | `[inline, static]`

Definition at line 145 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 134 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 135 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 132 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 137 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_v23r0/GaudiKernel/GaudiKernel/IInterface.h

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines