std::ranges::slide_view<V>:: end
From cppreference.com
<
cpp
|
ranges
|
slide view
C++
Ranges library
|
Range primitives | |||||||
|
Range concepts | |||||||||||||||||||
|
Range factories | |||||||||
|
Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Helper items | |||||||||||||||||
|
|
std::ranges::slide_view
Member functions | ||||
slide_view::end
|
||||
Deduction guides | ||||
Iterator | ||||
Member functions | ||||
Non-member functions | ||||
Sentinel | ||||
Member functions | ||||
Non-member functions | ||||
constexpr
auto
end
(
)
requires ( ! ( /*simple-view*/ < V > && /*slide-caches-nothing*/ < const V > ) ) ; |
(1) | (since C++23) |
constexpr
auto
end
(
)
const
requires /*slide-caches-nothing*/ < const V > ; |
(2) | (since C++23) |
Returns a
sentinel
or an
iterator
representing the end of the
slide_view
.
1)
Let
base_
and
n_
be the underlying data members. Equivalent to:
-
If
V
models
slide-caches-nothing
, return iterator < false > ( ranges:: begin ( base_ ) + ranges:: range_difference_t < V > ( size ( ) ) , n_ ) ; . -
Otherwise, if
V
models
slide-caches-last
, return iterator < false > ( ranges:: prev ( ranges:: end ( base_ ) , n_ - 1 , ranges:: begin ( base_ ) ) , n_ ) ; . -
Otherwise, if
V
models
common_range
, return iterator < false > ( ranges:: end ( base_ ) , ranges:: end ( base_ ) , n_ ) ; . - Otherwise, return sentinel ( ranges:: end ( base_ ) ) ; .
If
V
models
slide-caches-last
, this function caches the result within the
cached_end_
for use on subsequent calls. This is necessary to provide the amortized constant-time complexity required by the
range
.
2)
Equivalent to
begin
(
)
+
ranges::
range_difference_t
<
const
V
>
(
size
(
)
)
.
Parameters
(none)
Return value
A
sentinel
or an
iterator
representing the end of the
slide_view
.
Example
Run this code
#include <iostream> #include <ranges> int main() { static constexpr auto source = {'A', 'B', 'C', 'D'}; for (const auto subrange: source | std::views::slide(3)) { std::cout << "[ "; for (auto it = subrange.begin(); it != subrange.end(); ++it) std::cout << *it << ' '; std::cout << "]\n"; } }
Output:
[ A B C ] [ B C D ]
See also
returns an iterator to the beginning
(public member function) |
|
(C++20)
|
returns an iterator to the beginning of a range
(customization point object) |
(C++20)
|
returns a sentinel indicating the end of a range
(customization point object) |
Retrieved from "
https://en.cppreference.com/mwiki/index.php?title=cpp/ranges/slide_view/end&oldid=176094
"