@@ -134,29 +134,29 @@ struct concatenate_view_iterator {
134134 )
135135 )
136136 friend constexpr auto operator+(concatenate_view_iterator lhs, Offset const offset) -> concatenate_view_iterator {
137- return [&]<std::size_t ... indexes>(std::index_sequence<indexes...>) {
138- BOUNDED_ASSERT (offset >= 0_bi);
139- auto remaining_offset = bounded::integer<0 , bounded::builtin_max_value<Offset>>(::bounded::assume_in_range (offset, 0_bi, bounded::integer (numeric_traits::max_value<Offset>)));
140- auto specific_range = [&](auto const index) {
141- auto range = std::move (lhs).m_range_views [index];
142- if constexpr (std::same_as<Offset, bounded::constant_t <1 >>) {
143- if (remaining_offset == 0_bi or containers::is_empty (range)) {
144- return range;
145- }
146- remaining_offset = 0_bi;
147- return subrange (
148- containers::begin (std::move (range)) + 1_bi,
149- containers::end (std::move (range))
150- );
151- } else {
152- auto const added_size = bounded::min (containers::size (range), remaining_offset);
153- remaining_offset -= added_size;
154- return subrange (
155- containers::begin (std::move (range)) + added_size,
156- containers::end (std::move (range))
157- );
137+ BOUNDED_ASSERT (offset >= 0_bi);
138+ auto remaining_offset = bounded::integer<0 , bounded::builtin_max_value<Offset>>(::bounded::assume_in_range (offset, 0_bi, bounded::integer (numeric_traits::max_value<Offset>)));
139+ auto specific_range = [&](auto const index) {
140+ auto range = std::move (lhs).m_range_views [index];
141+ if constexpr (std::same_as<Offset, bounded::constant_t <1 >>) {
142+ if (remaining_offset == 0_bi or containers::is_empty (range)) {
143+ return range;
158144 }
159- };
145+ remaining_offset = 0_bi;
146+ return subrange (
147+ containers::begin (std::move (range)) + 1_bi,
148+ containers::end (std::move (range))
149+ );
150+ } else {
151+ auto const added_size = bounded::min (containers::size (range), remaining_offset);
152+ remaining_offset -= added_size;
153+ return subrange (
154+ containers::begin (std::move (range)) + added_size,
155+ containers::end (std::move (range))
156+ );
157+ }
158+ };
159+ return [&]<std::size_t ... indexes>(std::index_sequence<indexes...>) {
160160 // Use {} to enforce initialization order
161161 return tv::apply (
162162 tv::tuple{specific_range (bounded::constant<indexes>)...},
0 commit comments