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