Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v28r2p1 (f1a77ff4)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
extend_interfaces.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_EXTEND_INTERFACES_H
2 #define GAUDIKERNEL_EXTEND_INTERFACES_H
3 
5 
6 // -----------------------------------------------------------------------------
7 // Interface extension classes
8 // -----------------------------------------------------------------------------
10 template <typename... Interfaces>
11 struct GAUDI_API extend_interfaces: virtual public Interfaces...
12 {
14  using ext_iids = typename Gaudi::interface_list_cat<typename Interfaces::ext_iids...>::type;
16  ~extend_interfaces() override = default;
17 };
18 
19 template <typename I1> using extend_interfaces1 = extend_interfaces<I1>;
20 template <typename I1,
22 template <typename I1,
23  typename I2,
25 template <typename I1,
26  typename I2,
27  typename I3,
29 
30 #endif
typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type ext_iids
take union of the ext_iids of all Interfaces...
Base class to be used to extend an interface.
#define GAUDI_API
Definition: Kernel.h:107