std::ranges::slide_view<V>::begin
Von cppreference.com
< cpp | ranges | slide view
constexpr auto begin() requires (!(/*simple-view*/<V> && /*slide-caches-nothing*/<const V>)); |
(1) | (seit C++23) |
constexpr auto begin() const requires /*slide-caches-nothing*/<const V>; |
(2) | (seit C++23) |
Gibt einen Iterator zum ersten Element der slide_view zurück.
return iterator<false>(ranges::begin(base_), ranges::next(ranges::begin(base_), n_ - 1, ranges::end(base_)), n_);
Andernfalls äquivalent zu return
iterator<false>(ranges::begin(base_), n_);. Wenn V
slide-caches-first modelliert, speichert diese Funktion das Ergebnis innerhalb von cached_begin_ zur Verwendung bei nachfolgenden Aufrufen. Dies ist notwendig, um die vom range geforderte amortisierte konstante Zeitkomplexität bereitzustellen.2) Äquivalent zu return
iterator<true>(ranges::begin(base_), n_);.Inhalt |
[edit] Parameter
(keine)
[edit] Rückgabewert
Ein Iterator zum ersten Element von slide_view, der auf die n_-große Teilmenge des zugrundeliegenden View-Typs zeigt: V für Überladung (1) oder const V für Überladung (2).
[edit] Beispiel
Führen Sie diesen Code aus
#include <iostream> #include <ranges> #include <string_view> using namespace std::literals; int main() { static constexpr auto source = {"∀x"sv, "∃y"sv, "ε"sv, "δ"sv}; auto view{std::ranges::slide_view(source, 2)}; const auto subrange{*(view.begin())}; for (std::string_view const s : subrange) std::cout << s << ' '; std::cout << '\n'; }
Ausgabe
∀x ∃y
[edit] Siehe auch
| gibt einen Iterator oder Sentinel zum Ende zurück (öffentliche Member-Funktion) | |
| (C++23) |
vergleicht ein Sentinel mit einem von slide_view::begin zurückgegebenen Iterator (Funktion) |