4#ifndef ASGTOOLS_INTERFACES_H
5#define ASGTOOLS_INTERFACES_H
10#if defined(XAOD_STANDALONE)
15#define DeclareInterfaceID(iface, major, minor) \
20template <
typename... Interfaces>
21struct extend_interfaces :
virtual public Interfaces... {
26template <
typename BASE,
typename... Interfaces>
27struct extends :
public BASE,
virtual public extend_interfaces<Interfaces...> {
28 using base_class = extends;
34template <
typename... Interfaces>
35struct implements :
virtual public extend_interfaces<Interfaces...> {
36 using base_class = implements<Interfaces...>;