template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
class Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >
Holds strides information for Map.
This class holds the strides information for mapping arrays with strides with class Map.
It holds two values: the inner stride and the outer stride.
The inner stride is the pointer increment between two consecutive entries within a given row of a row-major matrix or within a given column of a column-major matrix.
The outer stride is the pointer increment between two consecutive rows of a row-major matrix or between two consecutive columns of a column-major matrix.
These two values can be passed either at compile-time as template parameters, or at runtime as arguments to the constructor.
Indeed, this class takes two template parameters:
- Template Parameters
-
_OuterStrideAtCompileTime | the outer stride, or Dynamic if you want to specify it at runtime. |
_InnerStrideAtCompileTime | the inner stride, or Dynamic if you want to specify it at runtime. |
Here is an example:
int array[24];
for(
int i = 0; i < 24; ++
i) array[i] = i;
cout << Map<MatrixXi, 0, Stride<Dynamic,2> >
(
array, 3, 3, Stride<Dynamic,2>(8, 2))
<< endl;
Output:
Both strides can be negative, however, a negative stride of -1 cannot be specified at compiletime because of the ambiguity with Dynamic which is defined to -1 (historically, negative strides were not allowed).
- See also
- class InnerStride, class OuterStride, TopicStorageOrders
Definition at line 48 of file Stride.h.