Skip to content

Latest commit

 

History

History
80 lines (60 loc) · 1.92 KB

slice.md

File metadata and controls

80 lines (60 loc) · 1.92 KB

slice

  • valarray[meta header]
  • std[meta namespace]
  • class[meta id-type]
namespace std {
  class slice;
}

概要

sliceは、std::valarray クラスの operator[] メンバ関数にスライスの指示を与えるためのヘルパークラスである。

メンバ関数

構築・破棄

名前 説明 対応バージョン
(constructor) コンストラクタ

プロパティ

名前 説明 対応バージョン
start スライスを生成する初期位置を取得する
size 生成するスライスの要素数を取得する
stride スライスを生成する間隔を取得する

比較演算子

名前 説明 対応バージョン
operator== 等値比較を行う C++20
friend bool operator!=(const slice&, const slice&); 非等値比較を行う (operator==により使用可能) C++20

#include <valarray>
#include <iostream>
#include <numeric>

auto main()
  -> int
{
  std::valarray<int> a( 32 );
  std::iota( std::begin(a), std::end(a), 16 );

  constexpr auto start  = 3;
  constexpr auto length = 5;
  constexpr auto stride = 7;

  std::slice s( start, length, stride );

  auto sliced_array = a[ s ];

  decltype( a ) b( sliced_array );

  for ( auto v : b )
    std::cout << v << "\n";
  std::cout << std::flush;
}
  • std::slice[color ff0000]
  • std::valarray[link valarray.md]
  • std::begin[link valarray/begin_free.md]
  • std::end[link valarray/end_free.md]

出力

19
26
33
40
47