std::ranges::slide_view<V>:: end
From cppreference.net
<
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
|
||||
|
(C++26)
|
||||
| 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) | (C++23 이후) |
|
constexpr
auto
end
(
)
const
requires /*slide-caches-nothing*/ < const V > ; |
(2) | (C++23 이후) |
slide_view
의 끝을 나타내는
sentinel
또는
iterator
를 반환합니다.
1)
base_
와
n_
를 기본 데이터 멤버로 둡니다. 다음과 동등합니다:
-
V
가
slide-caches-nothing를 모델링하는 경우, return iterator < false > ( ranges:: begin ( base_ ) + ranges:: range_difference_t < V > ( size ( ) ) , n_ ) ; . -
그렇지 않고
V
가
slide-caches-last를 모델링하는 경우, return iterator < false > ( ranges:: prev ( ranges:: end ( base_ ) , n_ - 1 , ranges:: begin ( base_ ) ) , n_ ) ; . -
그렇지 않고
V
가
common_range를 모델링하는 경우, return iterator < false > ( ranges:: end ( base_ ) , ranges:: end ( base_ ) , n_ ) ; . - 그렇지 않은 경우, return sentinel ( ranges:: end ( base_ ) ) ; .
만약
V
가
slide-caches-last
를 모델로 한다면, 이 함수는 결과를
cached_end_
내에 캐시하여 후속 호출에서 사용합니다. 이는
range
에서 요구하는 분할 상환 상수 시간 복잡도를 제공하기 위해 필요합니다.
2)
다음에 해당함
begin
(
)
+
ranges::
range_difference_t
<
const
V
>
(
size
(
)
)
.
목차 |
매개변수
(없음)
반환값
sentinel
또는
iterator
를 나타내며,
slide_view
의 끝을 표현합니다.
예제
이 코드 실행
#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"; } }
출력:
[ A B C ] [ B C D ]
참고 항목
|
시작 부분을 가리키는 반복자를 반환합니다
(public member function) |
|
|
(C++20)
|
range의 시작 부분을 가리키는 반복자를 반환합니다
(customization point object) |
|
(C++20)
|
range의 끝을 나타내는 sentinel을 반환합니다
(customization point object) |