Reference

class
<valarray>

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[] .

A 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

(constructor)
slice constructor (public member function)
slice::start
Return start of slice (public member function)
slice::size
Return size of slice (public member function)
slice::stride
Return stride of slice (public member function)

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// slice example
#include <iostream> // std::cout
#include <cstddef> // std::size_t
#include <valarray> // std::valarray, std::slice
int 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;
}

Output

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


See also

gslice
Valarray generalized slice selector (class)
slice_array
Valarray slice selection (class template)

AltStyle によって変換されたページ (->オリジナル) /