diff --git a/impl/concat/concat.hpp b/impl/concat/concat.hpp index 43c5d4f..0240364 100644 --- a/impl/concat/concat.hpp +++ b/impl/concat/concat.hpp @@ -302,6 +302,7 @@ class concat_view : public view_interface> { if constexpr (N == sizeof...(Views) - 1) { get(it_) += static_cast(steps); } else { + static_assert(std::ranges::sized_range(parent_->views_))>); auto n_size = ranges::distance(get(parent_->views_)); if (current_offset + steps < static_cast(n_size)) { get(it_) += static_cast(steps); @@ -323,6 +324,7 @@ class concat_view : public view_interface> { if (current_offset >= steps) { get(it_) -= static_cast(steps); } else { + static_assert(std::ranges::sized_range(parent_->views_))>); auto prev_size = ranges::distance(get(parent_->views_)); it_.template emplace(ranges::begin(get(parent_->views_)) + prev_size); @@ -568,7 +570,8 @@ class concat_view : public view_interface> { common_reference_t>...>>)&&...)) { return std::visit( - [](auto const& i) -> xo::concat_rvalue_reference_t<__maybe_const...> { // + [](auto const& i) + -> xo::concat_rvalue_reference_t<__maybe_const...> { // return ranges::iter_move(i); }, ii.it_); @@ -578,7 +581,7 @@ class concat_view : public view_interface> { requires(indirectly_swappable>> && ... && swappable_with...>, xo::concat_reference_t<__maybe_const...>>) - // todo: noexcept? + // todo: noexcept? { std::visit( [&](const auto& it1, const auto& it2) {