All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 <GaudiKernel/IInterface.h>

Public Types

typedef INTERFACE iface_type
 Interface type. More...
 
typedef mpl::insert< typename
iface_type::ext_iids,
InterfaceId
iids
 List of interfaces. More...
 

Static Public Member Functions

static std::string name ()
 
static unsigned long majorVersion ()
 
static unsigned long minorVersion ()
 
static const std::type_info & TypeInfo ()
 
static const InterfaceIDinterfaceID ()
 

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

Definition at line 144 of file IInterface.h.

145  {
146  static InterfaceID s_iid(name().c_str(),majVers,minVers);
147  return s_iid;
148  }
Interface ID class.
Definition: IInterface.h:55
static std::string name()
Definition: IInterface.h:131
template<typename INTERFACE , unsigned long majVers, unsigned long minVers>
static unsigned long Gaudi::InterfaceId< INTERFACE, majVers, minVers >::majorVersion ( )
inlinestatic

Definition at line 133 of file IInterface.h.

133 {return majVers;}
template<typename INTERFACE , unsigned long majVers, unsigned long minVers>
static unsigned long Gaudi::InterfaceId< INTERFACE, majVers, minVers >::minorVersion ( )
inlinestatic

Definition at line 134 of file IInterface.h.

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

Definition at line 131 of file IInterface.h.

131 { 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:298
template<typename INTERFACE , unsigned long majVers, unsigned long minVers>
static const std::type_info& Gaudi::InterfaceId< INTERFACE, majVers, minVers >::TypeInfo ( )
inlinestatic

Definition at line 136 of file IInterface.h.

136  {
137 #ifndef __GCCXML__
138  return typeid(typename iids::type);
139 #else
140  return typeid(INTERFACE); // avoid compilation errors
141 #endif
142  }
string type
Definition: gaudirun.py:126

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