Namespaces
Variants

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

ja.cppreference.net より
 
 
Rangeライブラリ
Rangeアダプタ
 
 
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]