Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework
v28r2p1 (f1a77ff4)
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
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
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:14
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
type
Definition:
gaudirun.py:125
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:107
IInterface.h
GaudiKernel
GaudiKernel
extend_interfaces.h
Generated on Mon Jun 18 2018 10:31:04 for The Gaudi Framework by
1.8.11