![]() |
|
Holds strides information for Map. More...
#include <Stride.h>
Public Types | |
| enum | { InnerStrideAtCompileTime = InnerStrideAtCompileTime_ , OuterStrideAtCompileTime = OuterStrideAtCompileTime_ } |
| typedef Eigen::Index | Index |
Public Member Functions | |
| EIGEN_DEVICE_FUNC | Stride () |
| EIGEN_DEVICE_FUNC | Stride (Index outerStride, Index innerStride) |
| EIGEN_DEVICE_FUNC | Stride (const Stride &other) |
| EIGEN_DEVICE_FUNC Stride & | operator= (const Stride &other) |
| EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index | outer () const |
| EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR 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:
Both strides can be negative. However, a negative stride of -1 cannot be specified at compile time because of the ambiguity with Dynamic which is defined to -1 (historically, negative strides were not allowed).
Note that for compile-time vectors (ColsAtCompileTime==1 or RowsAtCompile==1), the inner stride is the pointer increment between two consecutive elements, regardless of storage layout.
| typedef Eigen::Index Eigen::Stride< OuterStrideAtCompileTime_, InnerStrideAtCompileTime_ >::Index |
| anonymous enum |
| Enumerator | |
|---|---|
| InnerStrideAtCompileTime | |
| OuterStrideAtCompileTime | |
|
inline |
Default constructor, for use when strides are fixed at compile time
References Eigen::Dynamic, eigen_assert, Eigen::Stride< OuterStrideAtCompileTime_, InnerStrideAtCompileTime_ >::InnerStrideAtCompileTime, and Eigen::Stride< OuterStrideAtCompileTime_, InnerStrideAtCompileTime_ >::OuterStrideAtCompileTime.
|
inline |
|
inline |
|
inline |
References Eigen::Stride< OuterStrideAtCompileTime_, InnerStrideAtCompileTime_ >::m_inner, and Eigen::internal::variable_if_dynamic< T, Value >::value().
Referenced by Eigen::RefBase< Derived >::innerStride(), and Eigen::Stride< OuterStrideAtCompileTime_, InnerStrideAtCompileTime_ >::operator=().
|
inline |
Copy assignment operator
References Eigen::Stride< OuterStrideAtCompileTime_, InnerStrideAtCompileTime_ >::inner(), Eigen::Stride< OuterStrideAtCompileTime_, InnerStrideAtCompileTime_ >::m_inner, Eigen::Stride< OuterStrideAtCompileTime_, InnerStrideAtCompileTime_ >::m_outer, Eigen::Stride< OuterStrideAtCompileTime_, InnerStrideAtCompileTime_ >::outer(), and Eigen::internal::variable_if_dynamic< T, Value >::setValue().
|
inline |
References Eigen::Stride< OuterStrideAtCompileTime_, InnerStrideAtCompileTime_ >::m_outer, and Eigen::internal::variable_if_dynamic< T, Value >::value().
Referenced by Eigen::Stride< OuterStrideAtCompileTime_, InnerStrideAtCompileTime_ >::operator=(), and Eigen::RefBase< Derived >::outerStride().
|
protected |
|
protected |