The Gaudi Framework
v26r3
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
// -----------------------------------------------------------------------------
12
template
<
typename
I1>
13
struct
GAUDI_API
extend_interfaces1
:
virtual
public
I1 {
14
#ifndef __GCCXML__
15
typedef
typename
I1::iid::iids::type
ext_iids;
17
#endif
18
virtual
~
extend_interfaces1
() {}
20
};
21
25
template
<
typename
I1,
typename
I2>
26
struct
GAUDI_API
extend_interfaces2
:
virtual
public
I1,
virtual
public
I2 {
27
#ifndef __GCCXML__
28
typedef
typename
mpl::fold<
30
typename
I1::iid::iids::type
,
31
typename
I2::iid::iids::type
,
32
mpl::insert<mpl::_1,mpl::_2>
33
>
::type
ext_iids;
34
#endif
35
virtual
~
extend_interfaces2
() {}
37
};
38
42
template
<
typename
I1,
typename
I2,
typename
I3>
43
struct
GAUDI_API
extend_interfaces3
:
virtual
public
I1,
44
virtual
public
I2,
45
virtual
public
I3 {
46
#ifndef __GCCXML__
47
typedef
typename
mpl::fold<
49
typename
I1::iid::iids::type
,
50
typename
mpl::fold<
51
typename
I2::iid::iids::type
,
52
typename
I3::iid::iids::type
,
53
mpl::insert<mpl::_1,mpl::_2>
54
>
::type
,
55
mpl::insert<mpl::_1,mpl::_2>
56
>::type ext_iids;
57
#endif
58
virtual
~
extend_interfaces3
() {}
60
};
61
65
template
<
typename
I1,
typename
I2,
typename
I3,
typename
I4>
66
struct
GAUDI_API
extend_interfaces4
:
virtual
public
I1,
67
virtual
public
I2,
68
virtual
public
I3,
69
virtual
public
I4 {
70
#ifndef __GCCXML__
71
typedef
typename
mpl::fold<
73
typename
I1::iid::iids::type
,
74
typename
mpl::fold<
75
typename
I2::iid::iids::type
,
76
typename
mpl::fold<
77
typename
I3::iid::iids::type
,
78
typename
I4::iid::iids::type
,
79
mpl::insert<mpl::_1,mpl::_2>
80
>
::type
,
81
mpl::insert<mpl::_1,mpl::_2>
82
>
::type
,
83
mpl::insert<mpl::_1,mpl::_2>
84
>::type ext_iids;
85
#endif
86
virtual
~
extend_interfaces4
() {}
88
};
89
90
91
#endif
extend_interfaces3
Base class to be used to extend an interface.
Definition:
extend_interfaces.h:43
extend_interfaces2
Base class to be used to extend an interface.
Definition:
extend_interfaces.h:26
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:108
extend_interfaces4
Base class to be used to extend an interface.
Definition:
extend_interfaces.h:66
extend_interfaces1
Base class to be used to extend an interface.
Definition:
extend_interfaces.h:13
gaudirun.type
string type
Definition:
gaudirun.py:151
GaudiKernel
GaudiKernel
extend_interfaces.h
Generated on Tue Jul 21 2015 12:23:30 for The Gaudi Framework by
1.8.9.1