1 #ifndef UtilAlgos_EventSetupInitTrait_h
2 #define UtilAlgos_EventSetupInitTrait_h
12 struct NullAndOperand;
26 template <
typename Selector>
28 selector.newEvent(evt, es);
37 template <
typename T1,
39 typename T3 = helpers::NullAndOperand,
40 typename T4 = helpers::NullAndOperand,
41 typename T5 = helpers::NullAndOperand>
43 template <
template <
typename,
typename,
typename,
typename,
typename>
class SelectorT>
53 template <
typename T1,
typename T2,
typename T3,
typename T4>
55 template <
template <
typename,
typename,
typename,
typename,
typename>
class SelectorT>
56 static void init(SelectorT<T1, T2, T3, T4, helpers::NullAndOperand>& selector,
66 template <
typename T1,
typename T2,
typename T3>
68 template <
template <
typename,
typename,
typename,
typename,
typename>
class SelectorT>
69 static void init(SelectorT<T1, T2, T3, helpers::NullAndOperand, helpers::NullAndOperand>& selector,
78 template <
typename T1,
typename T2>
80 template <
template <
typename,
typename,
typename,
typename,
typename>
class SelectorT>
82 SelectorT<T1, T2, helpers::NullAndOperand, helpers::NullAndOperand, helpers::NullAndOperand>& selector,
90 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
95 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
103 #define EVENTSETUP_STD_INIT(SELECTOR) \
105 namespace modules { \
107 struct EventSetupInit<SELECTOR> { \
108 typedef CommonSelectorEventSetupInit type; \
112 struct __useless_ignoreme
114 #define EVENTSETUP_STD_INIT_T1(SELECTOR) \
116 namespace modules { \
117 template <typename T1> \
118 struct EventSetupInit<SELECTOR<T1> > { \
119 typedef CommonSelectorEventSetupInit type; \
123 struct __useless_ignoreme
125 #define EVENTSETUP_STD_INIT_T2(SELECTOR) \
127 namespace modules { \
128 template <typename T1, typename T2> \
129 struct EventSetupInit<SELECTOR<T1, T2> > { \
130 typedef CommonSelectorEventSetupInit type; \
134 struct __useless_ignoreme
136 #define EVENTSETUP_STD_INIT_T3(SELECTOR) \
138 namespace modules { \
139 template <typename T1, typename T2, typename T3> \
140 struct EventSetupInit<SELECTOR<T1, T2, T3> > { \
141 typedef CommonSelectorEventSetupInit type; \
145 struct __useless_ignoreme