Shapeworks Studio  2.1
Shape analysis software suite
List of all members | Public Types | Public Member Functions | Protected Attributes
Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime > Class Template Reference

Holds strides information for Map. More...

#include <Stride.h>

+ Collaboration diagram for Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >:

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
 

Detailed Description

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:

Parameters
_OuterStrideAtCompileTimethe outer stride, or Dynamic if you want to specify it at runtime.
_InnerStrideAtCompileTimethe inner stride, or Dynamic if you want to specify it at runtime.

Here is an example:

Output:

See also
class InnerStride, class OuterStride, TopicStorageOrders

Definition at line 44 of file Stride.h.

Constructor & Destructor Documentation

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Stride ( )
inline

Default constructor, for use when strides are fixed at compile time

Definition at line 54 of file Stride.h.

55  : m_outer(OuterStrideAtCompileTime), m_inner(InnerStrideAtCompileTime)
56  {
57  eigen_assert(InnerStrideAtCompileTime != Dynamic && OuterStrideAtCompileTime != Dynamic);
58  }
template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Stride ( Index  outerStride,
Index  innerStride 
)
inline

Constructor allowing to pass the strides at runtime

Definition at line 61 of file Stride.h.

62  : m_outer(outerStride), m_inner(innerStride)
63  {
64  eigen_assert(innerStride>=0 && outerStride>=0);
65  }
template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Stride ( const Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime > &  other)
inline

Copy constructor

Definition at line 68 of file Stride.h.

69  : m_outer(other.outer()), m_inner(other.inner())
70  {}

Member Function Documentation

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
Index Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::inner ( ) const
inline
Returns
the inner stride

Definition at line 75 of file Stride.h.

75 { return m_inner.value(); }
template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
Index Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::outer ( ) const
inline
Returns
the outer stride

Definition at line 73 of file Stride.h.

73 { return m_outer.value(); }

The documentation for this class was generated from the following file: