The Gaudi Framework  v28r2p1 (f1a77ff4)
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_infoTypeInfo ()
 
static const InterfaceIDinterfaceID ()
 

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 ( )
inlinestatic

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  }
Interface ID class.
Definition: IInterface.h:30
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 ( )
inlinestatic

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 ( )
inlinestatic

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 ( )
inlinestatic

Definition at line 197 of file IInterface.h.

197 { return System::typeinfoName(typeid(INTERFACE)); }
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
Definition: System.cpp:299
template<typename INTERFACE , unsigned long majVers, unsigned long minVers>
static const std::type_info& Gaudi::InterfaceId< INTERFACE, majVers, minVers >::TypeInfo ( )
inlinestatic

Definition at line 201 of file IInterface.h.

201  {
202  return typeid(typename iids::type);
203  }

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