class
std::slice
<valarray>
Valarray slice selector
This class represents a valarray slice selector. It does not contain any element - it only describes a selection of elements in a valarray to be used as an index in
valarray::operator[] .
A valarray slice is specified 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 separation between the elements in the valarray that are 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.
Members
- (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>
#include <valarray>
using namespace std;
int main ()
{
valarray<int> foo (12);
for (int i=0; i<12; ++i) foo[i]=i;
valarray<int> bar = foo[slice(2,3,4)];
cout << "slice(2,3,4): ";
for (size_t n=0; n<bar.size(); n++)
cout << bar[n] << ' ';
cout << endl;
return 0;
}
|
Output
See also
- gslice
- Valarray generalized slice selector (class)
- slice_array
- Valarray slice selection (class template)