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