Eigen::ForceAlignedAccess< ExpressionType > Class Template Reference

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

Inherits internal::dense_xpr_base::type.

Public Types

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

Public Member Functions

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

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()

Definition at line 36 of file ForceAlignedAccess.h.

Member Typedef Documentation

◆ Base

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

Definition at line 41 of file ForceAlignedAccess.h.

Constructor & Destructor Documentation

◆ ForceAlignedAccess()

template<typename ExpressionType >
Eigen::ForceAlignedAccess< ExpressionType >::ForceAlignedAccess ( const ExpressionType &  matrix)
inlineexplicit

Definition at line 44 of file ForceAlignedAccess.h.

44 : m_expression(matrix) {}
const ExpressionType & m_expression

Member Function Documentation

◆ coeff() [1/2]

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

Definition at line 65 of file ForceAlignedAccess.h.

66  {
67  return m_expression.coeff(index);
68  }

◆ coeff() [2/2]

template<typename ExpressionType >
const CoeffReturnType Eigen::ForceAlignedAccess< ExpressionType >::coeff ( Index  row,
Index  col 
) const
inline

Definition at line 55 of file ForceAlignedAccess.h.

56  {
57  return m_expression.coeff(row, col);
58  }
RowXpr row(Index i)
This is the const version of row(). *‍/.
ColXpr col(Index i)
This is the const version of col().

◆ coeffRef() [1/2]

template<typename ExpressionType >
Scalar& Eigen::ForceAlignedAccess< ExpressionType >::coeffRef ( Index  index)
inline

Definition at line 70 of file ForceAlignedAccess.h.

71  {
72  return m_expression.const_cast_derived().coeffRef(index);
73  }

◆ coeffRef() [2/2]

template<typename ExpressionType >
Scalar& Eigen::ForceAlignedAccess< ExpressionType >::coeffRef ( Index  row,
Index  col 
)
inline

Definition at line 60 of file ForceAlignedAccess.h.

61  {
62  return m_expression.const_cast_derived().coeffRef(row, col);
63  }

◆ cols()

template<typename ExpressionType >
EIGEN_CONSTEXPR Index Eigen::ForceAlignedAccess< ExpressionType >::cols ( void  ) const
inline

Definition at line 49 of file ForceAlignedAccess.h.

49 { return m_expression.cols(); }

◆ innerStride()

template<typename ExpressionType >
EIGEN_CONSTEXPR Index Eigen::ForceAlignedAccess< ExpressionType >::innerStride ( ) const
inline

Definition at line 53 of file ForceAlignedAccess.h.

53 { return m_expression.innerStride(); }

◆ operator const ExpressionType &()

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

Definition at line 99 of file ForceAlignedAccess.h.

99 { return m_expression; }

◆ operator=()

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

◆ outerStride()

template<typename ExpressionType >
EIGEN_CONSTEXPR Index Eigen::ForceAlignedAccess< ExpressionType >::outerStride ( ) const
inline

Definition at line 51 of file ForceAlignedAccess.h.

51 { return m_expression.outerStride(); }

◆ packet() [1/2]

template<typename ExpressionType >
template<int LoadMode>
const PacketScalar Eigen::ForceAlignedAccess< ExpressionType >::packet ( Index  index) const
inline

Definition at line 88 of file ForceAlignedAccess.h.

89  {
90  return m_expression.template packet<Aligned>(index);
91  }

◆ packet() [2/2]

template<typename ExpressionType >
template<int LoadMode>
const PacketScalar Eigen::ForceAlignedAccess< ExpressionType >::packet ( Index  row,
Index  col 
) const
inline

Definition at line 76 of file ForceAlignedAccess.h.

77  {
78  return m_expression.template packet<Aligned>(row, col);
79  }

◆ rows()

template<typename ExpressionType >
EIGEN_CONSTEXPR Index Eigen::ForceAlignedAccess< ExpressionType >::rows ( void  ) const
inline

Definition at line 47 of file ForceAlignedAccess.h.

47 { return m_expression.rows(); }

◆ writePacket() [1/2]

template<typename ExpressionType >
template<int LoadMode>
void Eigen::ForceAlignedAccess< ExpressionType >::writePacket ( Index  index,
const PacketScalar &  x 
)
inline

Definition at line 94 of file ForceAlignedAccess.h.

95  {
96  m_expression.const_cast_derived().template writePacket<Aligned>(index, x);
97  }

◆ writePacket() [2/2]

template<typename ExpressionType >
template<int LoadMode>
void Eigen::ForceAlignedAccess< ExpressionType >::writePacket ( Index  row,
Index  col,
const PacketScalar &  x 
)
inline

Definition at line 82 of file ForceAlignedAccess.h.

83  {
84  m_expression.const_cast_derived().template writePacket<Aligned>(row, col, x);
85  }

Member Data Documentation

◆ m_expression

template<typename ExpressionType >
const ExpressionType& Eigen::ForceAlignedAccess< ExpressionType >::m_expression
protected

Definition at line 102 of file ForceAlignedAccess.h.


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