23 typedef typename MatrixType::Scalar Scalar;
27 typedef typename remove_reference<MatrixTypeNested>::type _MatrixTypeNested;
29 RowsAtCompileTime = MatrixType::RowsAtCompileTime,
30 ColsAtCompileTime = MatrixType::ColsAtCompileTime,
31 MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
32 MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime,
63template<
typename MatrixType,
int Direction>
class Reverse
69 EIGEN_DENSE_PUBLIC_INTERFACE(
Reverse)
70 typedef typename internal::remove_all<MatrixType>::type NestedExpression;
71 using Base::IsRowMajor;
76 IsColMajor = !IsRowMajor,
79 OffsetRow = ReverseRow && IsColMajor ? PacketSize : 1,
80 OffsetCol = ReverseCol && IsRowMajor ? PacketSize : 1,
82 || ((Direction ==
Vertical) && IsColMajor)
88 EIGEN_DEVICE_FUNC
explicit inline Reverse(
const MatrixType& matrix) : m_matrix(matrix) { }
90 EIGEN_INHERIT_ASSIGNMENT_OPERATORS(
Reverse)
92 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
93 inline Index rows()
const EIGEN_NOEXCEPT {
return m_matrix.rows(); }
94 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
95 inline Index cols()
const EIGEN_NOEXCEPT {
return m_matrix.cols(); }
97 EIGEN_DEVICE_FUNC
inline Index innerStride()
const
99 return -m_matrix.innerStride();
102 EIGEN_DEVICE_FUNC
const typename internal::remove_all<typename MatrixType::Nested>::type&
103 nestedExpression()
const
109 typename MatrixType::Nested m_matrix;