Namespaces
Variants

std::ranges::zip_view<Views...>::end

Aus de.cppreference.net
 
 
Ranges-Bibliothek
Range-Adaptoren
 
 
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*/ =
    (sizeof...(Rs) == 1 && (ranges::common_range<Rs> && ...))
    ||
    (!(ranges::bidirectional_range<Rs> && ...) && (ranges::common_range<Rs> && ...))
    ||
    ((ranges::random_access_range<Rs> && ...) && (ranges::sized_range<Rs> && ...));
(3) (nur zur Darstellung*)

Gibt einen Iterator oder einen Sentinel zurück, der gleich dem End-Iterator des 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. Ansonsten,
  • return begin() + std::iter_difference_t</*iterator*/<false>>(size());,
wenn (ranges::random_access_range<Views> && ...) zu true ausgewertet wird. Ansonsten,
  • 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. Ansonsten,
  • return begin() + std::iter_difference_t</*iterator*/<true>>(size());,
wenn ranges::random_access_range<const Views> && ... zu true ausgewertet wird. Ansonsten,
  • return /*iterator*/<true>(/*tuple-transform*/(ranges::end, views_));.

Parameter

(keine)

Rückgabewert

Ein Iterator oder Sentinel, der das Ende der zip_view repräsentiert, wie oben beschrieben.

Hinweise

ranges:: range < const ranges:: zip_view < Views... >> wird genau dann modelliert, wenn für jeden Typ Vi in Views... , const Vi das Konzept range modelliert.

Beispiel

Siehe auch

gibt einen Iterator zum Anfang zurück
(öffentliche Elementfunktion)
gibt einen Sentinel zurück, der das Ende eines Bereichs anzeigt
(Anpassungspunktobjekt)