C++ Valarray Library - slice Function


Advertisements

Description

A valarray slice is defined by a starting index, a size, and a stride and 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[].

Declaration

Following is the declaration for std::slice function.

class slice;

C++11

class slice;

Parameters

none

Return Value

none

Exceptions

Basic guarantee − if any operation performed on the elements throws an exception.

Data races

All elements effectively copied are accessed.

Example

In below example explains about std::slice function.

#include <iostream>
#include <cstddef>
#include <valarray>

int main () {
   std::valarray<int> foo (10);
   for (int i=0; i<10; ++i) foo[i]=i;

   std::valarray<int> bar = foo[std::slice(2,3,4)];

   std::cout << "slice(1,5,6):";
   for (std::size_t n=0; n<bar.size(); n++)
      std::cout << ' ' << bar[n];
   std::cout << '\n';

   return 0;
}

Let us compile and run the above program, this will produce the following result −

slice(1,5,6): 2 6 33
valarray.htm
Advertisements