Data Types | |
extern |
#include <rw/math/mathvec.h> RWMathVec<double> x(20,2); RWMathVec<double> y = x("4:9"); // set y to view
// elements 4 through 9
An RWSlice object is an index which can be used for subscripting vectors, matrices, and arrays. By subscripting with RWSlice 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 classes RWRange and RWToEnd are derived from RWSlice. RWRange and RWToEnd objects can be used wherever an RWSlice object can be used.
Although they are not declared, the C++ language automatically defines a copy constructor and an assignment operator. These can be useful when passing RWSlice objects as function arguments or using RWSlice objects as class instance variables.
#include <iostream.h> #include <rw/math/genmat.h> main() { RWGenMat<int> A(6,6); RWSlice I("0::2"); // indices 0,2,4 RWSlice J(1,3,2); // indices 1,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 2 1 2 1 2 3 4 3 4 3 4 1 2 1 2 1 2 3 4 3 4 3 4 1 2 1 2 1 2 3 4 3 4 3 4 ]
RWSlice(int begin, int length) RWSlice(int begin, int length, int stride)
Constructs an object that indexes length elements starting at element begin. The optional stride is the increment between successive selected elements. If the stride is negative, the new view reverses the indices.
RWSlice(const char *s);
Constructs an index from the null terminated character string s. The syntax of the character string is x:y:z, where x, y, and z are integers. The resulting index selects elements from x through y, inclusive, with an increment of z between successive selected elements. Any or all of x,y, and z may be left out, in which case they default to 0, the last element, and 1, respectively. If z is omitted, the second colon may also be omitted. The character string * is a synonym for :, which selects all elements.
extern RWSlice RWAll;
This special index selects all the elements.
RWRange, RWToEnd, and the subscripting operator()() member operators of the vector, matrix, and array classes.
©Copyright 1999, Rogue Wave Software, Inc.
Send mail to report errors or comment on the documentation.