ATLAS Offline Software
Loading...
Searching...
No Matches
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
20template <typename... Interfaces>
21struct extend_interfaces : virtual public Interfaces... {
22};
23
24
26template <typename BASE, typename... Interfaces>
27struct extends : public BASE, virtual public extend_interfaces<Interfaces...> {
28 using base_class = extends;
29 using BASE::BASE;
30};
31
32
34template <typename... Interfaces>
35struct implements : virtual public extend_interfaces<Interfaces...> {
36 using base_class = implements<Interfaces...>;
37};
38
39#endif
40#endif