Holds strides information for Map. More...
#include <Stride.h>
Public Types | |
enum | { InnerStrideAtCompileTime = _InnerStrideAtCompileTime, OuterStrideAtCompileTime = _OuterStrideAtCompileTime } |
typedef DenseIndex | Index |
Public Member Functions | |
Stride () | |
Stride (Index outerStride, Index innerStride) | |
Stride (const Stride &other) | |
Index | outer () const |
Index | inner () const |
Protected Attributes | |
internal::variable_if_dynamic < Index, OuterStrideAtCompileTime > | m_outer |
internal::variable_if_dynamic < Index, InnerStrideAtCompileTime > | m_inner |
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:
_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:
Output:
typedef DenseIndex Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Index |
Reimplemented in InnerStride< Value >, and OuterStride< Value >.
anonymous enum |
Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Stride | ( | ) | [inline] |
Default constructor, for use when strides are fixed at compile time
Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Stride | ( | Index | outerStride, | |
Index | innerStride | |||
) | [inline] |
Constructor allowing to pass the strides at runtime
Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Stride | ( | const Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime > & | other | ) | [inline] |
Copy constructor
Index Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::inner | ( | ) | const [inline] |
Index Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::outer | ( | ) | const [inline] |
internal::variable_if_dynamic<Index, InnerStrideAtCompileTime> Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::m_inner [protected] |
internal::variable_if_dynamic<Index, OuterStrideAtCompileTime> Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::m_outer [protected] |