std::ranges::slide_view<V>::begin
|
Range primitives | |||||||
|
Range concepts | |||||||||||||||||||
|
Range factories | |||||||||
|
Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Helper items | |||||||||||||||||
|
Member functions | ||||
slide_view::begin | ||||
Deduction guides | ||||
Iterator | ||||
Member functions | ||||
Non-member functions | ||||
Sentinel | ||||
Member functions | ||||
Non-member functions | ||||
constexpr
auto begin(
)
requires ( ! ( /*simple-view*/ <V> && /*slide-caches-nothing*/ < const V> ) ) ; |
(1) | (since C++23) |
constexpr
auto begin(
)
const
requires /*slide-caches-nothing*/ < const V> ; |
(2) | (since C++23) |
Returns an iterator to the first element of the slide_view
.
slide-caches-first
, equivalent to:
return iterator<
false
>
(
ranges::begin
(base_),
ranges::next
(
ranges::begin
(base_), n_ -
1, ranges::end
(base_)
),
n_
)
;
slide-caches-first
this function caches the result within the cached_begin_
for use on subsequent calls. This is necessary to provide the amortized constant-time complexity required by the range
Parameters
(none)
Return value
An iterator to the first element of slide_view
, which points to the n_
-sized subrange of the possibly const-qualified underlying view type – V for overload (1) or const V for overload (2)
Example
#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'; }
Output:
∀x ∃y
See also
returns an iterator or a sentinel to the end (public member function) |
|
(C++23)
|
compares a sentinel with an iterator returned from slide_view::begin (function) |