Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime > Class Template Reference

Holds strides information for Map. More...

#include <src/eigen/Eigen/src/Core/Stride.h>

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

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 Index outer () const
 
EIGEN_DEVICE_FUNC Index inner () const
 

Protected Attributes

internal::variable_if_dynamic< Index, OuterStrideAtCompileTimem_outer
 
internal::variable_if_dynamic< Index, InnerStrideAtCompileTimem_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:

Template 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

Member Typedef Documentation

◆ Index

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
typedef Eigen::Index Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Index

Member Enumeration Documentation

◆ anonymous enum

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
anonymous enum
Enumerator
InnerStrideAtCompileTime 
OuterStrideAtCompileTime 
48 {
49 InnerStrideAtCompileTime = _InnerStrideAtCompileTime,
50 OuterStrideAtCompileTime = _OuterStrideAtCompileTime
51 };
@ InnerStrideAtCompileTime
Definition Stride.h:49
@ OuterStrideAtCompileTime
Definition Stride.h:50

Constructor & Destructor Documentation

◆ Stride() [1/3]

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

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

57 {
59 }
#define eigen_assert(x)
Definition Macros.h:579
internal::variable_if_dynamic< Index, OuterStrideAtCompileTime > m_outer
Definition Stride.h:83
internal::variable_if_dynamic< Index, InnerStrideAtCompileTime > m_inner
Definition Stride.h:84
const int Dynamic
Definition Constants.h:21

References Eigen::Dynamic, eigen_assert, Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::InnerStrideAtCompileTime, and Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::OuterStrideAtCompileTime.

◆ Stride() [2/3]

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
EIGEN_DEVICE_FUNC Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Stride ( Index  outerStride,
Index  innerStride 
)
inline

Constructor allowing to pass the strides at runtime

64 : m_outer(outerStride), m_inner(innerStride)
65 {
66 eigen_assert(innerStride>=0 && outerStride>=0);
67 }

References eigen_assert.

◆ Stride() [3/3]

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
EIGEN_DEVICE_FUNC Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Stride ( const Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime > &  other)
inline

Copy constructor

72 : m_outer(other.outer()), m_inner(other.inner())
73 {}

Member Function Documentation

◆ inner()

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
EIGEN_DEVICE_FUNC Index Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::inner ( ) const
inline
Returns
the inner stride
80{ return m_inner.value(); }
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T value()
Definition XprHelper.h:111

References Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::m_inner, and Eigen::internal::variable_if_dynamic< T, Value >::value().

Referenced by Eigen::RefBase< Derived >::innerStride().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ outer()

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

References Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::m_outer, and Eigen::internal::variable_if_dynamic< T, Value >::value().

Referenced by Eigen::RefBase< Derived >::outerStride().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_inner

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
internal::variable_if_dynamic<Index, InnerStrideAtCompileTime> Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::m_inner
protected

◆ m_outer

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
internal::variable_if_dynamic<Index, OuterStrideAtCompileTime> Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::m_outer
protected

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