std::ranges::zip_view<Views...>::end
Von cppreference.com
| constexpr auto end() requires (!(/*simple-view*/<Views> && ...); |
(1) | (seit C++23) |
| constexpr auto end() const requires (ranges::range<const Views> && ...); |
(2) | (seit C++23) |
| template< class... Rs > concept /*zip-is-common*/ = |
(3) | (nur Exposition*) |
Gibt einen Iterator oder ein Sentinel zurück, der gleich dem End-Iterator der zip_view ist.
Sei views_ das zugrundeliegende Tupel von Views.
1) Äquivalent zu
- return /*sentinel*/<false>(/*tuple-transform*/(ranges::end, views_));,
- wenn /*zip-is-common*/<Views...> zu false ausgewertet wird. Andernfalls,
- return begin() + std::iter_difference_t</*iterator*/<false>>(size());,
- wenn (ranges::random_access_range<Views> && ...) zu true ausgewertet wird. Andernfalls,
- return /*iterator*/<false>(/*tuple-transform*/(ranges::end, views_));.
2) Äquivalent zu
- return /*sentinel*/<true>(/*tuple-transform*/(ranges::end, views_));,
- wenn /*zip-is-common*/<const Views...> zu false ausgewertet wird. Andernfalls,
- return begin() + std::iter_difference_t</*iterator*/<true>>(size));,
- wenn ranges::random_access_range<const Views> && ... zu true ausgewertet wird. Andernfalls,
- return /*iterator*/<true>(/*tuple-transform*/(ranges::end, views_));.
Inhalt |
[bearbeiten] Parameter
(keine)
[bearbeiten] Rückgabewert
Ein Iterator oder Sentinel, der das Ende der zip_view darstellt, wie oben beschrieben.
[bearbeiten] Anmerkungen
ranges::range<const ranges::zip_view<Views...>> wird genau dann modelliert, wenn für jeden Typ Vi in Views..., const Vi range modelliert.
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Siehe auch
| gibt einen Iterator zum Anfang zurück (öffentliche Member-Funktion) | |
| (C++20) |
gibt ein Sentinel zurück, das das Ende eines Ranges anzeigt (Customization Point Objekt) |