The Gaudi Framework
v27r0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
extend_interfaces.h
Go to the documentation of this file.
1
#ifndef GAUDIKERNEL_EXTEND_INTERFACES_H
2
#define GAUDIKERNEL_EXTEND_INTERFACES_H
3
4
#include "GaudiKernel/IInterface.h"
5
6
// -----------------------------------------------------------------------------
7
// Interface extension classes
8
// -----------------------------------------------------------------------------
10
template
<
typename
... Interfaces>
11
struct
GAUDI_API
extend_interfaces
:
virtual
public
Interfaces...
12
{
14
using
ext_iids =
typename
Gaudi::interface_list_cat
<
typename
Interfaces::ext_iids...>
::type
;
16
~
extend_interfaces
()
override
=
default
;
17
};
18
19
template
<
typename
I1>
using
extend_interfaces1
=
extend_interfaces<I1>
;
20
template
<
typename
I1,
21
typename
I2>
using
extend_interfaces2
=
extend_interfaces<I1,I2>
;
22
template
<
typename
I1,
23
typename
I2,
24
typename
I3>
using
extend_interfaces3
=
extend_interfaces<I1,I2,I3>
;
25
template
<
typename
I1,
26
typename
I2,
27
typename
I3,
28
typename
I4>
using
extend_interfaces4
=
extend_interfaces<I1,I2,I3,I4>
;
29
30
#endif
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:107
Gaudi::interface_list_cat
Definition:
IInterface.h:130
extend_interfaces
Base class to be used to extend an interface.
Definition:
extend_interfaces.h:11
gaudirun.type
string type
Definition:
gaudirun.py:151
GaudiKernel
GaudiKernel
extend_interfaces.h
Generated on Thu Feb 4 2016 16:42:11 for The Gaudi Framework by
1.8.9.1