std::slice

来源:互联网 发布:4y4淘宝店铺装修安全吗 编辑:程序博客网 时间:2024/06/05 22:50

std::slice

class slice;
Valarray slice selector
This class represents a valarray slice selector. It does not contain nor refers to any element - it only describes a selection of elements to be used as an index in valarray::operator[].

valarray slice is defined by a starting index, a size, and a stride.

The starting index (start) is the index of the first element in the selection.
The size (size) is the number of elements in the selection.
The stride (stride) is the span that separates the elements selected.

Therefore, a slice with a stride higher than 1 does not select contiguous elements in the valarray; For example, slice(3,4,5)selects the elements 3, 8, 13 and 18.

Member functions


Example

12345678910111213141516171819
// slice example#include <iostream>     // std::cout#include <cstddef>      // std::size_t#include <valarray>     // std::valarray, std::sliceint main (){  std::valarray<int> foo (12);  for (int i=0; i<12; ++i) foo[i]=i;  std::valarray<int> bar = foo[std::slice(2,3,4)];  std::cout << "slice(2,3,4):";  for (std::size_t n=0; n<bar.size(); n++)  std::cout << ' ' << bar[n];  std::cout << '\n';  return 0;}
Edit & Run


Output
slice(2,3,4): 2 6 10
0 0