A valarray generalized slice is specified by a starting index, a set of sizes, and a set of strides and this class represents a valarray generalized slice selector (a multidimensional slice). 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[].
DeclarationFollowing is the declaration for std::gslice function.
class gslice;C++11
class gslice;Parameters
none
Return Valuenone
ExceptionsBasic guarantee − if any operation performed on the elements throws an exception.
Data racesAll elements effectively copied are accessed.
ExampleIn below example explains about std::gslice function.
#include <iostream> #include <cstddef> #include <valarray> int main () { std::valarray<int> foo (12); for (int i=0; i<12; ++i) foo[i]=i; std::size_t start=1; std::size_t lengths[]= {2,3}; std::size_t strides[]= {7,2}; std::gslice mygslice (start, std::valarray<std::size_t>(lengths,2), std::valarray<std::size_t>(strides,2)); std::valarray<int> bar = foo[mygslice]; std::cout << "gslice:"; 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 −
gslice: 1 3 5 8 10 0
valarray.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4