@@ -176,13 +176,10 @@ struct AnalysisDataProcessorBuilder {
176176 }
177177
178178 // / helper to append the inputs and expression information for normalized arguments
179- template <soa::is_table A, soa::is_table ... As>
179+ template <soa::is_table ... As>
180180 static void addInputsAndExpressions (uint32_t hash, const char * name, bool value, std::vector<InputSpec>& inputs, std::vector<ExpressionInfo>& eInfos)
181181 {
182- int ai = 0 ;
183- addExpression<std::decay_t <A>>(ai, hash, eInfos);
184- addInput<std::decay_t <A>>(name, value, inputs);
185-
182+ int ai = -1 ;
186183 ([&ai, &hash, &eInfos, &name, &value, &inputs]() mutable {
187184 ++ai;
188185 using T = std::decay_t <As>;
@@ -193,7 +190,7 @@ struct AnalysisDataProcessorBuilder {
193190 }
194191
195192 // / helper to parse the process arguments
196- // / 1. enumeration (must be a sole argument)
193+ // / 1. enumeration (must be the only argument)
197194 template <typename R, typename C, is_enumeration A>
198195 static void inputsFromArgs (R (C::*)(A), const char* /* name*/ , bool /* value*/ , std::vector<InputSpec>& inputs, std::vector<ExpressionInfo>&, std::vector<StringPair>&, std::vector<StringPair>&)
199196 {
@@ -213,12 +210,12 @@ struct AnalysisDataProcessorBuilder {
213210 }
214211
215212 // / 3. generic case
216- template <typename R, typename C, soa::is_table A, soa::is_table ... Args>
217- static void inputsFromArgs (R (C::*)(A, Args...), const char* name, bool value, std::vector<InputSpec>& inputs, std::vector<ExpressionInfo>& eInfos, std::vector<StringPair>&, std::vector<StringPair>&)
218- requires(std::is_lvalue_reference_v<A> && (std::is_lvalue_reference_v< Args> && ...) )
213+ template <typename R, typename C, soa::is_table... Args>
214+ static void inputsFromArgs (R (C::*)(Args...), const char* name, bool value, std::vector<InputSpec>& inputs, std::vector<ExpressionInfo>& eInfos, std::vector<StringPair>&, std::vector<StringPair>&)
215+ requires(std::is_lvalue_reference_v<Args> && ...)
219216 {
220- constexpr auto hash = o2::framework::TypeIdHelpers::uniqueId<R (C::*)(A, Args...)>();
221- addInputsAndExpressions<std:: decay_t <A>, Args...>(hash, name, value, inputs, eInfos);
217+ constexpr auto hash = o2::framework::TypeIdHelpers::uniqueId<R (C::*)(Args...)>();
218+ addInputsAndExpressions<Args...>(hash, name, value, inputs, eInfos);
222219 }
223220
224221 template <soa::TableRef R>
0 commit comments