Eigen::ForceAlignedAccess< ExpressionType > Class Template Reference

Enforce aligned packet loads and stores regardless of what is requested. More...

#include <ForceAlignedAccess.h>

+ Inheritance diagram for Eigen::ForceAlignedAccess< ExpressionType >:

Public Types

typedef internal::dense_xpr_base< ForceAlignedAccess >::type Base
 

Public Member Functions

EIGEN_DEVICE_FUNC ForceAlignedAccess (const ExpressionType &matrix)
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index outerStride () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index innerStride () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC const CoeffReturnType coeff (Index row, Index col) const
 
EIGEN_DEVICE_FUNC ScalarcoeffRef (Index row, Index col)
 
EIGEN_DEVICE_FUNC const CoeffReturnType coeff (Index index) const
 
EIGEN_DEVICE_FUNC ScalarcoeffRef (Index index)
 
template<int LoadMode>
const PacketScalar packet (Index row, Index col) const
 
template<int LoadMode>
void writePacket (Index row, Index col, const PacketScalar &x)
 
template<int LoadMode>
const PacketScalar packet (Index index) const
 
template<int LoadMode>
void writePacket (Index index, const PacketScalar &x)
 
EIGEN_DEVICE_FUNC operator const ExpressionType & () const
 

Protected Attributes

const ExpressionType & m_expression
 

Private Member Functions

ForceAlignedAccessoperator= (const ForceAlignedAccess &)
 

Detailed Description

template<typename ExpressionType>
class Eigen::ForceAlignedAccess< ExpressionType >

Enforce aligned packet loads and stores regardless of what is requested.

Parameters
ExpressionTypethe type of the object of which we are forcing aligned packet access

This class is the return type of MatrixBase::forceAlignedAccess() and most of the time this is the only way it is used.

See also
MatrixBase::forceAlignedAccess()

Member Typedef Documentation

◆ Base

template<typename ExpressionType >
typedef internal::dense_xpr_base<ForceAlignedAccess>::type Eigen::ForceAlignedAccess< ExpressionType >::Base

Constructor & Destructor Documentation

◆ ForceAlignedAccess()

template<typename ExpressionType >
EIGEN_DEVICE_FUNC Eigen::ForceAlignedAccess< ExpressionType >::ForceAlignedAccess ( const ExpressionType &  matrix)
inlineexplicit
42 : m_expression(matrix) {}
const ExpressionType & m_expression
Definition: ForceAlignedAccess.h:88
Eigen::Map< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor >, 0, Eigen::OuterStride<> > matrix(T *data, int rows, int cols, int stride)
Definition: common.h:85

Member Function Documentation

◆ coeff() [1/2]

template<typename ExpressionType >
EIGEN_DEVICE_FUNC const CoeffReturnType Eigen::ForceAlignedAccess< ExpressionType >::coeff ( Index  index) const
inline

◆ coeff() [2/2]

template<typename ExpressionType >
EIGEN_DEVICE_FUNC const CoeffReturnType Eigen::ForceAlignedAccess< ExpressionType >::coeff ( Index  row,
Index  col 
) const
inline
53  {
54  return m_expression.coeff(row, col);
55  }
m col(1)
m row(1)

References col(), Eigen::ForceAlignedAccess< ExpressionType >::m_expression, and row().

◆ coeffRef() [1/2]

template<typename ExpressionType >
EIGEN_DEVICE_FUNC Scalar& Eigen::ForceAlignedAccess< ExpressionType >::coeffRef ( Index  index)
inline
63 { return m_expression.const_cast_derived().coeffRef(index); }

References Eigen::ForceAlignedAccess< ExpressionType >::m_expression.

◆ coeffRef() [2/2]

template<typename ExpressionType >
EIGEN_DEVICE_FUNC Scalar& Eigen::ForceAlignedAccess< ExpressionType >::coeffRef ( Index  row,
Index  col 
)
inline
57  {
58  return m_expression.const_cast_derived().coeffRef(row, col);
59  }

References col(), Eigen::ForceAlignedAccess< ExpressionType >::m_expression, and row().

◆ cols()

◆ innerStride()

template<typename ExpressionType >
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index Eigen::ForceAlignedAccess< ExpressionType >::innerStride ( ) const
inline
49  {
50  return m_expression.innerStride();
51  }

References Eigen::ForceAlignedAccess< ExpressionType >::m_expression.

◆ operator const ExpressionType &()

template<typename ExpressionType >
EIGEN_DEVICE_FUNC Eigen::ForceAlignedAccess< ExpressionType >::operator const ExpressionType & ( ) const
inline

◆ operator=()

template<typename ExpressionType >
ForceAlignedAccess& Eigen::ForceAlignedAccess< ExpressionType >::operator= ( const ForceAlignedAccess< ExpressionType > &  )
private

◆ outerStride()

template<typename ExpressionType >
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index Eigen::ForceAlignedAccess< ExpressionType >::outerStride ( ) const
inline
46  {
47  return m_expression.outerStride();
48  }

References Eigen::ForceAlignedAccess< ExpressionType >::m_expression.

◆ packet() [1/2]

template<typename ExpressionType >
template<int LoadMode>
const PacketScalar Eigen::ForceAlignedAccess< ExpressionType >::packet ( Index  index) const
inline
76  {
77  return m_expression.template packet<Aligned>(index);
78  }

References Eigen::ForceAlignedAccess< ExpressionType >::m_expression.

◆ packet() [2/2]

template<typename ExpressionType >
template<int LoadMode>
const PacketScalar Eigen::ForceAlignedAccess< ExpressionType >::packet ( Index  row,
Index  col 
) const
inline
66  {
67  return m_expression.template packet<Aligned>(row, col);
68  }

References col(), Eigen::ForceAlignedAccess< ExpressionType >::m_expression, and row().

◆ rows()

◆ writePacket() [1/2]

template<typename ExpressionType >
template<int LoadMode>
void Eigen::ForceAlignedAccess< ExpressionType >::writePacket ( Index  index,
const PacketScalar &  x 
)
inline
81  {
82  m_expression.const_cast_derived().template writePacket<Aligned>(index, x);
83  }
list x
Definition: plotDoE.py:28

References Eigen::ForceAlignedAccess< ExpressionType >::m_expression, and plotDoE::x.

◆ writePacket() [2/2]

template<typename ExpressionType >
template<int LoadMode>
void Eigen::ForceAlignedAccess< ExpressionType >::writePacket ( Index  row,
Index  col,
const PacketScalar &  x 
)
inline
71  {
72  m_expression.const_cast_derived().template writePacket<Aligned>(row, col, x);
73  }

References col(), Eigen::ForceAlignedAccess< ExpressionType >::m_expression, row(), and plotDoE::x.

Member Data Documentation

◆ m_expression


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