![]() |
The Gaudi Framework
master (42b00024)
|
#include <GaudiKernel/Kernel.h>
Public Member Functions | |
constexpr | InterfaceID (unsigned long id, unsigned long major, unsigned long minor=0) |
constructor from components More... | |
InterfaceID (const char *name, unsigned long major, unsigned long minor=0) | |
constructor from components More... | |
constexpr unsigned long | id () const |
get the interface identifier More... | |
constexpr unsigned long | majorVersion () const |
get the major version of the interface More... | |
constexpr unsigned long | minorVersion () const |
get the minor version of the interface More... | |
constexpr bool | versionMatch (const InterfaceID &iid) const |
check compatibility. More... | |
constexpr bool | fullMatch (const InterfaceID &iid) const |
check full compatibility. More... | |
constexpr bool | operator== (const InterfaceID &iid) const |
compare operator More... | |
Static Public Member Functions | |
static unsigned int | hash32 (const char *key) |
Jenkins one-at-time hash function – see https://en.wikipedia.org/wiki/Jenkins_hash_function. More... | |
Private Attributes | |
unsigned long | m_id |
unsigned long | m_major_ver |
unsigned long | m_minor_ver |
Friends | |
std::ostream & | operator<< (std::ostream &s, const InterfaceID &id) |
ostream operator for InterfaceID. Needed by PluginSvc More... | |
Interface ID class. It consists of several fields: interface number, major version number and minor version number. Interface number should be allocated globally. The major and minor version numbers are used for checking compatibility between interface versions.
Definition at line 39 of file IInterface.h.
|
inlineconstexpr |
|
inline |
|
inlineconstexpr |
check full compatibility.
Definition at line 60 of file IInterface.h.
|
inlinestatic |
Jenkins one-at-time hash function – see https://en.wikipedia.org/wiki/Jenkins_hash_function.
Definition at line 66 of file IInterface.h.
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
check compatibility.
The major version is check and the minor one should be bigger or equal
Definition at line 56 of file IInterface.h.
|
friend |
ostream operator for InterfaceID. Needed by PluginSvc
Definition at line 80 of file IInterface.h.
|
private |
Definition at line 86 of file IInterface.h.
|
private |
Definition at line 87 of file IInterface.h.
|
private |
Definition at line 88 of file IInterface.h.