std::ranges::zip_view<Views...>::end
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Ranges library
(C++23)(C++23)
(C++26)(C++26)
(C++23)(C++23)
(C++26)(C++26)
(C++26)(C++26)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)
(C++23)(C++23)
(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
std::ranges::zip_view
zip_view::end
Member functions
Non-member functions
constexpr auto end()
requires (!(/*simple-view*/<Views> && ...);
(1)
(since C++23)
requires (!(/*simple-view*/<Views> && ...);
constexpr auto end() const
requires (ranges::range <const Views> && ...);
(2)
(since C++23)
requires (ranges::range <const Views> && ...);
template< class... Rs >
(3)
(exposition only*)
concept /*zip-is-common*/ =
(sizeof...(Rs) == 1 && (ranges::common_range <Rs> && ...))
||
(!(ranges::bidirectional_range <Rs> && ...) && (ranges::common_range <Rs> && ...))
||
Returns an iterator or a sentinel that compares equal to the end iterator of the zip_view
.
Let views_
denote the underlying tuple of views.
1) Equivalent to:
- return /*sentinel*/<false>(/*tuple-transform*/(ranges::end, views_));,
- if /*zip-is-common*/<Views...> evaluates to false. Otherwise,
- return begin() + std::iter_difference_t </*iterator*/<false>>(size());,
- if (ranges::random_access_range <Views> && ...) evaluates to true. Otherwise,
- return /*iterator*/<false>(/*tuple-transform*/(ranges::end, views_));.
2) Equivalent to:
- return /*sentinel*/<true>(/*tuple-transform*/(ranges::end, views_));,
- if /*zip-is-common*/<const Views...> evaluates to false. Otherwise,
- return begin() + std::iter_difference_t </*iterator*/<true>>(size());,
- if ranges::random_access_range <const Views> && ... evaluates to true. Otherwise,
- return /*iterator*/<true>(/*tuple-transform*/(ranges::end, views_));.
Contents
[edit] Parameters
(none)
[edit] Return value
An iterator or sentinel representing the end of the zip_view
, as described above.
[edit] Notes
ranges::range <const ranges::zip_view <Views...>> is modeled if and only if for every type Vi
in Views...
, const Vi models range
.
[edit] Example
This section is incomplete
Reason: no example
Reason: no example