The Gaudi Framework  v30r3 (a5ef0a68)
extend_interfaces.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_EXTEND_INTERFACES_H
2 #define GAUDIKERNEL_EXTEND_INTERFACES_H
3 
4 template <typename... Interfaces>
6 
8 
9 // -----------------------------------------------------------------------------
10 // Interface extension classes
11 // -----------------------------------------------------------------------------
13 template <typename... Interfaces>
14 struct GAUDI_API extend_interfaces : virtual public Interfaces... {
16  using ext_iids = typename Gaudi::interface_list_cat<typename Interfaces::ext_iids...>::type;
17 };
18 
19 template <typename I1>
21 template <typename I1, typename I2>
23 template <typename I1, typename I2, typename I3>
25 template <typename I1, typename I2, typename I3, typename I4>
27 
28 #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:104