ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
AthToolSupport
AsgTools
AsgTools
Interfaces.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef ASGTOOLS_INTERFACES_H
5
#define ASGTOOLS_INTERFACES_H
6
9
//
10
#if defined(XAOD_STANDALONE)
11
15
#define DeclareInterfaceID(iface, major, minor) \
16
static_assert(true)
17
18
20
template
<
typename
... Interfaces>
21
struct
extend_interfaces :
virtual
public
Interfaces... {
22
};
23
24
26
template
<
typename
BASE,
typename
... Interfaces>
27
struct
extends :
public
BASE,
virtual
public
extend_interfaces<Interfaces...> {
28
using
base_class = extends;
29
using
BASE::BASE;
30
};
31
32
34
template
<
typename
... Interfaces>
35
struct
implements :
virtual
public
extend_interfaces<Interfaces...> {
36
using
base_class = implements<Interfaces...>;
37
};
38
39
#endif
40
#endif
Generated on
for ATLAS Offline Software by
1.17.0