Eigen::Reverse< MatrixType, Direction > Class Template Reference

Expression of the reverse of a vector or matrix. More...

#include <Reverse.h>

+ Inheritance diagram for Eigen::Reverse< MatrixType, Direction >:

Public Types

typedef internal::dense_xpr_base< Reverse >::type Base
 
typedef internal::remove_all_t< MatrixTypeNestedExpression
 

Public Member Functions

EIGEN_DEVICE_FUNC Reverse (const MatrixType &matrix)
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC Index innerStride () const
 
EIGEN_DEVICE_FUNC const internal::remove_all_t< typename MatrixType::Nested > & nestedExpression () const
 

Protected Types

enum  {
  PacketSize = internal::packet_traits<Scalar>::size , IsColMajor = !IsRowMajor , ReverseRow = (Direction == Vertical) || (Direction == BothDirections) , ReverseCol = (Direction == Horizontal) || (Direction == BothDirections) ,
  OffsetRow = ReverseRow && IsColMajor ? PacketSize : 1 , OffsetCol = ReverseCol && IsRowMajor ? PacketSize : 1 , ReversePacket
}
 
typedef internal::reverse_packet_cond< PacketScalar, ReversePacketreverse_packet
 

Protected Attributes

MatrixType::Nested m_matrix
 

Detailed Description

template<typename MatrixType, int Direction>
class Eigen::Reverse< MatrixType, Direction >

Expression of the reverse of a vector or matrix.

Template Parameters
MatrixTypethe type of the object of which we are taking the reverse
Directiondefines the direction of the reverse operation, can be Vertical, Horizontal, or BothDirections

This class represents an expression of the reverse of a vector. It is the return type of MatrixBase::reverse() and VectorwiseOp::reverse() and most of the time this is the only way it is used.

See also
MatrixBase::reverse(), VectorwiseOp::reverse()

Member Typedef Documentation

◆ Base

template<typename MatrixType , int Direction>
typedef internal::dense_xpr_base<Reverse>::type Eigen::Reverse< MatrixType, Direction >::Base

◆ NestedExpression

template<typename MatrixType , int Direction>
typedef internal::remove_all_t<MatrixType> Eigen::Reverse< MatrixType, Direction >::NestedExpression

◆ reverse_packet

template<typename MatrixType , int Direction>
typedef internal::reverse_packet_cond<PacketScalar, ReversePacket> Eigen::Reverse< MatrixType, Direction >::reverse_packet
protected

Member Enumeration Documentation

◆ anonymous enum

template<typename MatrixType , int Direction>
anonymous enum
protected
Enumerator
PacketSize 
IsColMajor 
ReverseRow 
ReverseCol 
OffsetRow 
OffsetCol 
ReversePacket 
73  {
75  IsColMajor = !IsRowMajor,
79  OffsetCol = ReverseCol && IsRowMajor ? PacketSize : 1,
81  ((Direction == Horizontal) && IsRowMajor)
82  };
Direction
An enum that indicates the direction in Cartesian coordinates.
Definition: GeneralDefine.h:56
@ OffsetCol
Definition: Reverse.h:79
@ ReversePacket
Definition: Reverse.h:80
@ ReverseRow
Definition: Reverse.h:76
@ PacketSize
Definition: Reverse.h:74
@ ReverseCol
Definition: Reverse.h:77
@ OffsetRow
Definition: Reverse.h:78
@ IsColMajor
Definition: Reverse.h:75
@ BothDirections
Definition: Constants.h:272
@ Horizontal
Definition: Constants.h:269
@ Vertical
Definition: Constants.h:266
@ size
Definition: GenericPacketMath.h:113

Constructor & Destructor Documentation

◆ Reverse()

template<typename MatrixType , int Direction>
EIGEN_DEVICE_FUNC Eigen::Reverse< MatrixType, Direction >::Reverse ( const MatrixType matrix)
inlineexplicit
86 : m_matrix(matrix) {}
MatrixType::Nested m_matrix
Definition: Reverse.h:100
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

◆ cols()

◆ innerStride()

template<typename MatrixType , int Direction>
EIGEN_DEVICE_FUNC Index Eigen::Reverse< MatrixType, Direction >::innerStride ( ) const
inline
93 { return -m_matrix.innerStride(); }

References Eigen::Reverse< MatrixType, Direction >::m_matrix.

◆ nestedExpression()

template<typename MatrixType , int Direction>
EIGEN_DEVICE_FUNC const internal::remove_all_t<typename MatrixType::Nested>& Eigen::Reverse< MatrixType, Direction >::nestedExpression ( ) const
inline
95  {
96  return m_matrix;
97  }

References Eigen::Reverse< MatrixType, Direction >::m_matrix.

◆ rows()

Member Data Documentation

◆ m_matrix


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