The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
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 </builds/gaudi/Gaudi/GaudiKernel/include/GaudiKernel/IInterface.h>

Public Types

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

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

Member Typedef Documentation

◆ iids

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

◆ interface_type

template<typename INTERFACE, unsigned long majVers, unsigned long minVers>
using Gaudi::InterfaceId< INTERFACE, majVers, minVers >::interface_type = INTERFACE

interface type

Definition at line 177 of file IInterface.h.

Member Function Documentation

◆ interfaceID()

template<typename INTERFACE, unsigned long majVers, unsigned long minVers>
static const InterfaceID & Gaudi::InterfaceId< INTERFACE, majVers, minVers >::interfaceID ( )
inlinestatic

Definition at line 187 of file IInterface.h.

187 {
188 static const InterfaceID s_iid( name().c_str(), majVers, minVers );
189 return s_iid;
190 }
Class to handle automatically the versioning of the interfaces when they are inheriting from other in...
Definition IInterface.h:175
static std::string name()
Definition IInterface.h:181

◆ majorVersion()

template<typename INTERFACE, unsigned long majVers, unsigned long minVers>
static constexpr unsigned long Gaudi::InterfaceId< INTERFACE, majVers, minVers >::majorVersion ( )
inlinestaticconstexpr

Definition at line 182 of file IInterface.h.

182{ return majVers; }

◆ minorVersion()

template<typename INTERFACE, unsigned long majVers, unsigned long minVers>
static constexpr unsigned long Gaudi::InterfaceId< INTERFACE, majVers, minVers >::minorVersion ( )
inlinestaticconstexpr

Definition at line 183 of file IInterface.h.

183{ return minVers; }

◆ name()

template<typename INTERFACE, unsigned long majVers, unsigned long minVers>
static std::string Gaudi::InterfaceId< INTERFACE, majVers, minVers >::name ( )
inlinestatic

Definition at line 181 of file IInterface.h.

181{ 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:260

◆ TypeInfo()

template<typename INTERFACE, unsigned long majVers, unsigned long minVers>
static const std::type_info & Gaudi::InterfaceId< INTERFACE, majVers, minVers >::TypeInfo ( )
inlinestatic

Definition at line 185 of file IInterface.h.

185{ return typeid( typename iids::type ); }

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