@@ -1128,37 +1128,6 @@ namespace sqlite_orm {
1128
1128
return I;
1129
1129
}
1130
1130
1131
- #ifdef SQLITE_ORM_RELAXED_CONSTEXPR_SUPPORTED
1132
- /**
1133
- * Reorder the values of an index_sequence according to the positions from a second sequence.
1134
- */
1135
- template<size_t... Value, size_t... IdxOfValue>
1136
- SQLITE_ORM_CONSTEVAL auto reorder_index_sequence(std::index_sequence<Value...>,
1137
- std::index_sequence<IdxOfValue...>) {
1138
- constexpr std::array<size_t, sizeof...(Value)> values{Value...};
1139
- return std::index_sequence<values[sizeof...(Value) - 1u - IdxOfValue]...>{};
1140
- }
1141
-
1142
- template<size_t Value, size_t IdxOfValue>
1143
- SQLITE_ORM_CONSTEVAL std::index_sequence<Value> reorder_index_sequence(std::index_sequence<Value>,
1144
- std::index_sequence<IdxOfValue>) {
1145
- return {};
1146
- }
1147
-
1148
- inline SQLITE_ORM_CONSTEVAL std::index_sequence<> reorder_index_sequence(std::index_sequence<>,
1149
- std::index_sequence<>) {
1150
- return {};
1151
- }
1152
-
1153
- /**
1154
- * Reverse the values of an index_sequence.
1155
- */
1156
- template<size_t... Idx>
1157
- SQLITE_ORM_CONSTEVAL auto reverse_index_sequence(std::index_sequence<Idx...>) {
1158
- return reorder_index_sequence(std::index_sequence<Idx...>{}, std::make_index_sequence<sizeof...(Idx)>{});
1159
- }
1160
- #endif
1161
-
1162
1131
template<class... Seq>
1163
1132
struct flatten_idxseq {
1164
1133
using type = std::index_sequence<>;
@@ -9574,7 +9543,8 @@ namespace sqlite_orm {
9574
9543
template<bool reversed = false, class Tpl, size_t... Idx, class L>
9575
9544
void iterate_tuple(const Tpl& tpl, std::index_sequence<Idx...>, L&& lambda) {
9576
9545
if constexpr(reversed) {
9577
- iterate_tuple(tpl, reverse_index_sequence(std::index_sequence<Idx...>{}), std::forward<L>(lambda));
9546
+ int sink;
9547
+ ((lambda(std::get<Idx>(tpl)), sink) = ... = 0);
9578
9548
} else {
9579
9549
(lambda(std::get<Idx>(tpl)), ...);
9580
9550
}
0 commit comments