Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

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

      From cppreference.com
      <cpp‎ |ranges‎ |stride view
       
       
      Ranges library
      Range adaptors
       
      std::ranges::stride_view
      Member functions
      stride_view::stride_view
      Deduction guides
      Iterator
      Member functions
      Non-member functions
       
      constexprexplicit stride_view( V base,ranges::range_difference_t<V> stride);
      (since C++23)

      Constructs astride_view initializing the underlying data members:

      • move construct the underlying viewbase_ withstd::move(base),
      • construct thestride_ withstride.

      Ifstride<1 the behavior is undefined.

      [edit]Parameters

      base - the source view
      stride - the stride value

      [edit]Example

      Run this code
      #include <algorithm>#include <iostream>#include <iterator>#include <ranges>#include <string_view> void print(std::string_view rem,auto v,std::string_view term="\n"){std::cout<< rem<<": ";    std::ranges::copy(v,std::ostream_iterator<int>(std::cout," "));std::cout<< term;}; int main(){auto source= std::views::iota(1,10);    print("source", source); for(int stride_value: std::views::iota(1,6)){auto strided_view= std::views::stride(source, stride_value);         print("stride", std::views::single(stride_value),"-> ");        print("result", strided_view);}}

      Output:

      source: 1 2 3 4 5 6 7 8 9stride: 1 -> result: 1 2 3 4 5 6 7 8 9stride: 2 -> result: 1 3 5 7 9stride: 3 -> result: 1 4 7stride: 4 -> result: 1 5 9stride: 5 -> result: 1 6
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/ranges/stride_view/stride_view&oldid=181268"

      [8]ページ先頭

      ©2009-2026 Movatter.jp