Namespaces
Variants

std::ranges::slide_view<V>:: slide_view

From cppreference.net
Ranges library
Range adaptors
constexpr explicit slide_view ( V base, ranges:: range_difference_t < V > n ) ;
(C++23부터)

기본 데이터 멤버들을 초기화하는 slide_view 를 생성합니다:

  • 기본 뷰 base_ std :: move ( base ) 로 이동 생성하고,
  • "윈도우 크기" n_ n 으로 설정합니다.

매개변수

base - 소스 뷰
n - "슬라이딩 윈도우" 크기

예제

#include <algorithm>
#include <iostream>
#include <ranges>
int main()
{
    const auto source = {1, 2, 3, 4};
    auto slide = std::views::slide(source, 3);
    std::ranges::for_each(slide, [](std::ranges::viewable_range auto&& w)
    {
        std::cout << '[' << w[0] << ' ' << w[1] << ' ' << w[2] << "]\n";
    });
}

출력:

[1 2 3]
[2 3 4]