@@ -139,27 +139,34 @@ consteval auto intersect()
139139
140140template <typename T, typename ... Ts>
141141consteval auto mergeOriginals ()
142- requires(sizeof ...(Ts) > 0 )
142+ requires(sizeof ...(Ts) == 1 )
143143{
144- if constexpr (sizeof ...(Ts) == 1 ) {
145- using T1 = framework::pack_head_t <framework::pack<Ts...>>;
146- return merge<T::originals.size (), T1::originals.size (), T::originals, T1::originals>();
147- } else {
148- constexpr auto tail = mergeOriginals<Ts...>();
149- return merge<T::originals.size (), tail.size (), T::originals, tail>();
150- }
144+ using T1 = framework::pack_head_t <framework::pack<Ts...>>;
145+ return merge<T::originals.size (), T1::originals.size (), T::originals, T1::originals>();
146+ }
147+
148+ template <typename T, typename ... Ts>
149+ consteval auto mergeOriginals ()
150+ requires(sizeof ...(Ts) > 1)
151+ {
152+ constexpr auto tail = mergeOriginals<Ts...>();
153+ return merge<T::originals.size (), tail.size (), T::originals, tail>();
151154}
152155
153156template <typename T, typename ... Ts>
157+ requires (sizeof ...(Ts) == 1 )
154158consteval auto intersectOriginals ()
155159{
156- if constexpr (sizeof ...(Ts) == 1 ) {
157- using T1 = framework::pack_head_t <framework::pack<Ts...>>;
158- return intersect<T::originals.size (), T1::originals.size (), T::originals, T1::originals>();
159- } else {
160- constexpr auto tail = intersectOriginals<Ts...>();
161- return intersect<T::originals.size (), tail.size (), T::originals, tail>();
162- }
160+ using T1 = framework::pack_head_t <framework::pack<Ts...>>;
161+ return intersect<T::originals.size (), T1::originals.size (), T::originals, T1::originals>();
162+ }
163+
164+ template <typename T, typename ... Ts>
165+ requires (sizeof ...(Ts) > 1 )
166+ consteval auto intersectOriginals ()
167+ {
168+ constexpr auto tail = intersectOriginals<Ts...>();
169+ return intersect<T::originals.size (), tail.size (), T::originals, tail>();
163170}
164171} // namespace o2::soa
165172
0 commit comments