std::ranges::slide_view<V>::begin
cppreference.net에서 가져옴
constexpr auto begin()
requires (!(/*simple-view*/<V> && /*slide-caches-nothing*/<const V>));
|
(1) | (C++23부터) |
constexpr auto begin() const
requires /*slide-caches-nothing*/<const V>;
|
(2) | (C++23부터) |
slide_view의 첫 번째 요소를 가리키는 반복자를 반환합니다.
return iterator<false>(ranges::begin(base_), ranges::next(ranges::begin(base_), n_ - 1, ranges::end(base_)), n_);
V이 slide-caches-first를 모델링하는 경우, 이 함수는 결과를 cached_begin_ 내에 캐시하여 이후 호출에 사용합니다. 이는 range에서 요구하는 분할 상수 시간 복잡성을 제공하는 데 필요합니다.매개변수
(없음)
반환값
iterator
는
slide_view
의 첫 번째 요소를 가리키며, 이는 기본 뷰 타입의
n_
크기 서브레인지를 참조합니다:
V
는 오버로드
(
1
)
에 해당하고,
const
V
는 오버로드
(
2
)
에 해당합니다.
예제
이 코드 실행
#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'; }
출력:
∀x ∃y
참고 항목
|
끝을 가리키는 반복자 또는 센티널을 반환합니다
(public member function) |
|
|
(C++23)
|
slide_view::begin
에서 반환된 반복자와 센티널을 비교합니다
(function) |