@@ -1128,37 +1128,6 @@ namespace sqlite_orm {
11281128 return I;
11291129 }
11301130
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-
11621131 template<class... Seq>
11631132 struct flatten_idxseq {
11641133 using type = std::index_sequence<>;
@@ -9574,7 +9543,8 @@ namespace sqlite_orm {
95749543 template<bool reversed = false, class Tpl, size_t... Idx, class L>
95759544 void iterate_tuple(const Tpl& tpl, std::index_sequence<Idx...>, L&& lambda) {
95769545 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);
95789548 } else {
95799549 (lambda(std::get<Idx>(tpl)), ...);
95809550 }
0 commit comments