最終更新日時(UTC):
が更新

履歴 編集

class
<valarray>

std::slice

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;
}

出力

19
26
33
40
47