slice(); // (1)
slice(std::size_t start,
std::size_t length,
std::size_t stride); // (2)
slice(const slice&); // (3)
slice
オブジェクトの構築
slice
オブジェクトを次に示す通りの要素で初期化する。
- (1) :
- C++03 : 未規定
- C++11 :
slice(0, 0 ,0)
と等価
- (2) : 初期位置
start
、要素数length
、間隔stride
でスライスするslice
オブジェクトを構築する。 - (3) : コピーコンストラクタ。コピー元の
slice
オブジェクトと同じ初期位置、要素数、間隔でスライスするslice
オブジェクトを構築する。
パラメータ
start
- スライスする初期位置。
length
- スライスする要素数。
stride
- スライスする間隔。
例
#include <valarray>
#include <iostream>
auto main()
-> int
{
std::slice s0;
constexpr auto start = 3;
constexpr auto length = 5;
constexpr auto stride = 7;
std::slice s1( start, length, stride );
std::slice s2( s1 );
auto print = []( const std::slice& s )
{ std::cout << &s << ": " << s.start() << " " << s.size() << " " << s.stride() << "\n"; }
;
print( s0 );
print( s1 );
print( s2 );
}
出力例
0x7fffe0c71c98: 0 0 0
0x7fffe0c71c70: 3 5 7
0x7fffe0c71c58: 3 5 7