std::ranges::common_view<V>::begin
Von cppreference.com
< cpp | ranges | common view
| constexpr auto begin() requires (!/*simple_view*/<V>); |
(1) | (seit C++20) |
| constexpr auto begin() const requires range<const V>; |
(2) | (seit C++20) |
1) Gibt einen Iterator auf das erste Element der
common_view zurück, d.h.- ranges::begin(
base_), wenn sowohl ranges::random_access_range<V> als auch ranges::sized_range<V> erfüllt sind, - std::common_iterator<ranges::iterator_t<V>, ranges::sentinel_t<V>>(ranges::begin(
base_)) andernfalls.
2) Dasselbe wie (1), aber
V ist const-qualifiziert.Inhalt |
[bearbeiten] Rückgabewert
Ein Iterator zum Anfang der zugrundeliegenden View.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <iostream> #include <numeric> #include <ranges> #include <string_view> int main() { constexpr auto common = std::views::iota(1) | std::views::take(3) | std::views::common ; for (int i{}; int e : common) std::cout << (i++ ? " + " : "") << e; std::cout << " = " << std::accumulate(common.begin(), common.end(), 0) << '\n'; }
Ausgabe
1 + 2 + 3 = 6
[bearbeiten] Defect reports
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 4012 | C++20 | non-const overload missed simple-view check | hinzugefügt |
[bearbeiten] Siehe auch
| gibt einen Iterator zum Ende zurück (öffentliche Member-Funktion) | |
| (C++20) |
gibt einen Iterator zum Anfang eines Ranges zurück (Customization Point Objekt) |
| (C++20) |
gibt ein Sentinel zurück, das das Ende eines Ranges anzeigt (Customization Point Objekt) |