The Gaudi Framework
v29r0 (ff2e7097)
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... {
13
using
ext_iids
=
typename
Gaudi::interface_list_cat
<
typename
Interfaces::ext_iids...>
::type
;
15
~
extend_interfaces
()
override
=
default
;
16
};
17
18
template
<
typename
I1>
19
using
extend_interfaces1
=
extend_interfaces<I1>
;
20
template
<
typename
I1,
typename
I2>
21
using
extend_interfaces2
=
extend_interfaces<I1, I2>
;
22
template
<
typename
I1,
typename
I2,
typename
I3>
23
using
extend_interfaces3
=
extend_interfaces<I1, I2, I3>
;
24
template
<
typename
I1,
typename
I2,
typename
I3,
typename
I4>
25
using
extend_interfaces4
=
extend_interfaces<I1, I2, I3, I4>
;
26
27
#endif
extend_interfaces< IService, IChronoSvc, IStatSvc >::ext_iids
typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type ext_iids
take union of the ext_iids of all Interfaces...
Definition:
extend_interfaces.h:13
Gaudi::interface_list_cat
Definition:
IInterface.h:146
extend_interfaces
Base class to be used to extend an interface.
Definition:
extend_interfaces.h:11
gaudirun.type
type
Definition:
gaudirun.py:133
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:110
IInterface.h
GaudiKernel
GaudiKernel
extend_interfaces.h
Generated on Tue Sep 26 2017 11:39:04 for The Gaudi Framework by
1.8.11