Skip to content

Commit 644b18d

Browse files
committed
fixup! use requirements instead of if-constexpr
1 parent 74a0462 commit 644b18d

File tree

1 file changed

+40
-23
lines changed
  • Framework/Core/include/Framework

1 file changed

+40
-23
lines changed

Framework/Core/include/Framework/ASoA.h

Lines changed: 40 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1140,9 +1140,12 @@ struct TableIterator : IP, C... {
11401140
void doSetCurrentIndex(framework::pack<CL...>, TA* current)
11411141
{
11421142
(framework::overloaded{
1143-
[&current, this]<is_index_column CI> requires(!is_self_index_column<CI>) () { CI::setCurrent(current); },
1144-
[]<typename CI>(){}
1145-
}.template operator()<CL>(), ...);
1143+
[&current, this]<is_index_column CI>
1144+
requires(!is_self_index_column<CI>)
1145+
() { CI::setCurrent(current); },
1146+
[]<typename CI>() {}}
1147+
.template operator()<CL>(),
1148+
...);
11461149
}
11471150

11481151
template <typename CL>
@@ -1156,11 +1159,14 @@ struct TableIterator : IP, C... {
11561159
{
11571160
std::vector<o2::soa::Binding> result;
11581161
(framework::overloaded{
1159-
[this, &result]<is_index_column CI> requires(!is_self_index_column<CI>) () mutable {
1160-
result.emplace_back(CI::getCurrentRaw());
1161-
},
1162-
[]<typename CI>(){}
1163-
}.template operator()<Cs>(), ...);
1162+
[this, &result]<is_index_column CI>
1163+
requires(!is_self_index_column<CI>)
1164+
() mutable {
1165+
result.emplace_back(CI::getCurrentRaw());
1166+
},
1167+
[]<typename CI>() {}}
1168+
.template operator()<Cs>(),
1169+
...);
11641170
return result;
11651171
}
11661172

@@ -1179,9 +1185,12 @@ struct TableIterator : IP, C... {
11791185
void doSetCurrentIndexRaw(framework::pack<Cs...> p, std::vector<o2::soa::Binding>&& ptrs)
11801186
{
11811187
(framework::overloaded{
1182-
[&ptrs, p, this]<is_self_index_column CI> requires(!is_self_index_column<CI>) () { CI::setCurrentRaw(ptrs[framework::has_type_at_v<CI>(p)]); },
1183-
[]<typename CI>(){}
1184-
}.template operator()<Cs>(), ...);
1188+
[&ptrs, p, this]<is_self_index_column CI>
1189+
requires(!is_self_index_column<CI>)
1190+
() { CI::setCurrentRaw(ptrs[framework::has_type_at_v<CI>(p)]); },
1191+
[]<typename CI>() {}}
1192+
.template operator()<Cs>(),
1193+
...);
11851194
}
11861195

11871196
template <typename... Cs, typename I>
@@ -1190,9 +1199,10 @@ struct TableIterator : IP, C... {
11901199
o2::soa::Binding b;
11911200
b.bind(ptr);
11921201
(framework::overloaded{
1193-
[&ptr, &b, this]<is_self_index_column CI>() { CI::setCurrentRaw(b); },
1194-
[]<typename CI>(){}
1195-
}.template operator()<Cs>(), ...);
1202+
[&ptr, &b, this]<is_self_index_column CI>() { CI::setCurrentRaw(b); },
1203+
[]<typename CI>() {}}
1204+
.template operator()<Cs>(),
1205+
...);
11961206
}
11971207

11981208
void bindExternalIndicesRaw(std::vector<o2::soa::Binding>&& ptrs)
@@ -1388,18 +1398,24 @@ template <typename B, typename... C>
13881398
consteval static bool hasIndexTo(framework::pack<C...>&&)
13891399
{
13901400
return (framework::overloaded{
1391-
[]<is_index_column CI> requires(!is_self_index_column<CI>) () { return o2::soa::is_binding_compatible_v<B, typename CI::binding_t>(); },
1392-
[]<typename CI>(){ return false; }
1393-
}.template operator()<C>() || ...);
1401+
[]<is_index_column CI>
1402+
requires(!is_self_index_column<CI>)
1403+
() { return o2::soa::is_binding_compatible_v<B, typename CI::binding_t>(); },
1404+
[]<typename CI>() { return false; }}
1405+
.template operator()<C>() ||
1406+
...);
13941407
}
13951408

13961409
template <typename B, typename... C>
13971410
consteval static bool hasSortedIndexTo(framework::pack<C...>&&)
13981411
{
13991412
return (framework::overloaded{
1400-
[]<is_index_column CI> requires(!is_self_index_column<CI>) () {return (CI::sorted && o2::soa::is_binding_compatible_v<B, typename CI::binding_t>()); },
1401-
[]<typename CI>(){}
1402-
}.template operator()<C>() || ...);
1413+
[]<is_index_column CI>
1414+
requires(!is_self_index_column<CI>)
1415+
() { return (CI::sorted && o2::soa::is_binding_compatible_v<B, typename CI::binding_t>()); },
1416+
[]<typename CI>() {}}
1417+
.template operator()<C>() ||
1418+
...);
14031419
}
14041420

14051421
template <typename B, typename Z>
@@ -2085,9 +2101,10 @@ class Table
20852101
void doBindInternalIndicesExplicit(framework::pack<Cs...>, o2::soa::Binding binding)
20862102
{
20872103
(framework::overloaded{
2088-
[this, &binding]<is_self_index_column CI>() { static_cast<CI>(mBegin).setCurrentRaw(binding); },
2089-
[]<typename CI>(){}
2090-
}.template operator()<Cs>(), ...);
2104+
[this, &binding]<is_self_index_column CI>() { static_cast<CI>(mBegin).setCurrentRaw(binding); },
2105+
[]<typename CI>() {}}
2106+
.template operator()<Cs>(),
2107+
...);
20912108
}
20922109

20932110
void bindExternalIndicesRaw(std::vector<o2::soa::Binding>&& ptrs)

0 commit comments

Comments
 (0)