Module: Essential Math Group: Math Collection classes
RWRangeRWSlice
#include <rw/math/mathvec.h> RWMathVec<double> x(20,2); cout << x(RWRange(3,5)); // print elements 3,4,5
An RWRange object is an index which can be used for subscripting vectors, matrices, and arrays. By subscripting with RWRange objects, you create views of selected elements. These new views are vectors, matrices, or arrays in their own right, rather than simply helper classes. This means that a view created with subscripting can be used as an rvalue, an lvalue, or kept as an object for use later. To create objects which do not share data, use the copy() or deepenShallowCopy() member functions.
The class RWRange is derived from RWSlice. It can be used to initialize an RWSlice object as follows:
RWSlice s = RWRange(b,e);
#include <iostream.h> #include <rw/math/genmat.h> int main() { RWGenMat<int> A(6,6); RWRange I(0,2); RWRange J(3,5); A(I,I) = 1; A(I,J) = 2; A(J,I) = 3; A(J,J) = 4; cout << A << endl; }
Program output:
6x6 [ 1 1 1 2 2 2 1 1 1 2 2 2 1 1 1 2 2 2 3 3 3 4 4 4 3 3 3 4 4 4 3 3 3 4 4 4 ]
RWRange(int begin, int end) RWRange(int begin, int end, int stride)
Constructs an object which indexes starting at element begin and ending with element end. If end is smaller than begin, the elements are accessed in reverse order. The optional stride gives the increment between selected elements; it must always be greater than 0.
RWSlice, RWToEnd, and the subscripting operator()() member operators of the vector, matrix, and array classes.
© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.