@@ -1065,37 +1065,6 @@ namespace sqlite_orm {
10651065 return I;
10661066 }
10671067
1068- #ifdef SQLITE_ORM_RELAXED_CONSTEXPR_SUPPORTED
1069- /**
1070- * Reorder the values of an index_sequence according to the positions from a second sequence.
1071- */
1072- template<size_t... Value, size_t... IdxOfValue>
1073- SQLITE_ORM_CONSTEVAL auto reorder_index_sequence(std::index_sequence<Value...>,
1074- std::index_sequence<IdxOfValue...>) {
1075- constexpr std::array<size_t, sizeof...(Value)> values{Value...};
1076- return std::index_sequence<values[sizeof...(Value) - 1u - IdxOfValue]...>{};
1077- }
1078-
1079- template<size_t Value, size_t IdxOfValue>
1080- SQLITE_ORM_CONSTEVAL std::index_sequence<Value> reorder_index_sequence(std::index_sequence<Value>,
1081- std::index_sequence<IdxOfValue>) {
1082- return {};
1083- }
1084-
1085- inline SQLITE_ORM_CONSTEVAL std::index_sequence<> reorder_index_sequence(std::index_sequence<>,
1086- std::index_sequence<>) {
1087- return {};
1088- }
1089-
1090- /**
1091- * Reverse the values of an index_sequence.
1092- */
1093- template<size_t... Idx>
1094- SQLITE_ORM_CONSTEVAL auto reverse_index_sequence(std::index_sequence<Idx...>) {
1095- return reorder_index_sequence(std::index_sequence<Idx...>{}, std::make_index_sequence<sizeof...(Idx)>{});
1096- }
1097- #endif
1098-
10991068 template<class... Seq>
11001069 struct flatten_idxseq {
11011070 using type = std::index_sequence<>;
@@ -10049,7 +10018,8 @@ namespace sqlite_orm {
1004910018 template<bool reversed = false, class Tpl, size_t... Idx, class L>
1005010019 void iterate_tuple(const Tpl& tpl, std::index_sequence<Idx...>, L&& lambda) {
1005110020 if constexpr(reversed) {
10052- iterate_tuple(tpl, reverse_index_sequence(std::index_sequence<Idx...>{}), std::forward<L>(lambda));
10021+ int sink;
10022+ ((lambda(std::get<Idx>(tpl)), sink) = ... = 0);
1005310023 } else {
1005410024 (lambda(std::get<Idx>(tpl)), ...);
1005510025 }
0 commit comments