The Gaudi Framework
v30r3 (a5ef0a68)
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
template
<
typename
... Interfaces>
5
struct
extend_interfaces
;
6
7
#include "
GaudiKernel/IInterface.h
"
8
9
// -----------------------------------------------------------------------------
10
// Interface extension classes
11
// -----------------------------------------------------------------------------
13
template
<
typename
... Interfaces>
14
struct
GAUDI_API
extend_interfaces
:
virtual
public
Interfaces... {
16
using
ext_iids
=
typename
Gaudi::interface_list_cat
<
typename
Interfaces::ext_iids...>
::type
;
17
};
18
19
template
<
typename
I1>
20
using
extend_interfaces1
=
extend_interfaces<I1>
;
21
template
<
typename
I1,
typename
I2>
22
using
extend_interfaces2
=
extend_interfaces<I1, I2>
;
23
template
<
typename
I1,
typename
I2,
typename
I3>
24
using
extend_interfaces3
=
extend_interfaces<I1, I2, I3>
;
25
template
<
typename
I1,
typename
I2,
typename
I3,
typename
I4>
26
using
extend_interfaces4
=
extend_interfaces<I1, I2, I3, I4>
;
27
28
#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:16
Gaudi::interface_list_cat
Definition:
IInterface.h:146
extend_interfaces
Base class to be used to extend an interface.
Definition:
extend_interfaces.h:5
gaudirun.type
type
Definition:
gaudirun.py:133
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:104
IInterface.h
GaudiKernel
GaudiKernel
extend_interfaces.h
Generated on Wed Aug 1 2018 23:21:01 for The Gaudi Framework by
1.8.11