Namespaces
Variants

std::ranges::stride_view<V>::begin

cppreference.net에서
 
 
범위 라이브러리
범위 어댑터
 
 
constexpr auto begin() requires (!__simple_view<V>);
(1) (C++23부터)
constexpr auto begin() const requires ranges::range<const V>;
(2) (C++23부터)

iterator를 stride_view의 첫 번째 요소로 반환합니다.

1) return iterator<false>(this, ranges::begin(base_));와 동일합니다.
2) return iterator<true>(this, ranges::begin(base_));와 동일합니다.

오버로드 (1)는 V이 단순 뷰인 경우 오버로드 해결에 참여하지 않습니다. (즉, V과 const V이 동일한 반복자 및 센티널 유형을 가진 뷰인 경우).

매개변수

(없음)

반환값

Iterator 뷰의 첫 번째 요소에 대한 반복자입니다.

예제

테스트 링크: Compiler Explorer .

#include <print>
#include <ranges>
int main()
{
    constexpr auto v = {'A', 'B', 'C'};
    const auto x = v | std::views::stride(2);
    const auto y = v | std::views::reverse | std::views::stride(2);
    const auto z = v | std::views::stride(2) | std::views::reverse;
    std::println("{} {} {}", *x.begin(), *y.begin(), *z.begin());
}

출력:

A C C

참고 항목

끝을 가리키는 반복자 또는 센티널을 반환합니다
(public member function)