| The Gaudi Framework v27r1

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

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

Public Types | Static Public Member Functions | List of all members
Gaudi::InterfaceId< INTERFACE, majVers, minVers > Struct Template Referencefinal

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

`#include <GaudiKernel/IInterface.h>`

## Public Types
using | interface_type = INTERFACE
| interface type More...
using | iids = typename Gaudi::interface_list_append< typename interface_type::ext_iids, InterfaceId >::type
| List of interfaces. More...

## Static Public Member Functions
static std::string | name ()
static constexpr unsigned long | majorVersion ()
static constexpr unsigned long | minorVersion ()
static const std::type_info & | TypeInfo ()
static const InterfaceID & | interfaceID ()

## Detailed Description

### template<typename INTERFACE, unsigned long majVers, unsigned long minVers>
struct 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 191 of file IInterface.h.

## Member Typedef Documentation

template<typename INTERFACE , unsigned long majVers, unsigned long minVers>

using Gaudi::InterfaceId< INTERFACE, majVers, minVers >::iids = typename Gaudi::interface_list_append<typename interface_type::ext_iids,InterfaceId>::type

List of interfaces.

Definition at line 195 of file IInterface.h.

template<typename INTERFACE , unsigned long majVers, unsigned long minVers>

using Gaudi::InterfaceId< INTERFACE, majVers, minVers >::interface_type = INTERFACE

interface type

Definition at line 193 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 205 of file IInterface.h.

205 {
206 static const InterfaceID s_iid(name().c_str(),majVers,minVers);
207 return s_iid;
208 }
InterfaceID
Interface ID class.
Definition: IInterface.h:30
Gaudi::InterfaceId::name
static std::string name()
Definition: IInterface.h:197
template<typename INTERFACE , unsigned long majVers, unsigned long minVers>

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

Definition at line 198 of file IInterface.h.

198 { return majVers; }
template<typename INTERFACE , unsigned long majVers, unsigned long minVers>

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

Definition at line 199 of file IInterface.h.

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

197 { return System::typeinfoName(typeid(INTERFACE)); }
System::typeinfoName
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
Definition: System.cpp:297
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 201 of file IInterface.h.

201 {
202 return typeid(typename iids::type);
203 }
gaudirun.type
string type
Definition: gaudirun.py:151

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

- GaudiKernel/GaudiKernel/IInterface.h