WPILibC++ 2023.4.3
|
Expression of a fixed-size or dynamic-size block. More...
Public Types | |
typedef Impl | Base |
typedef internal::remove_all< XprType >::type | NestedExpression |
Public Member Functions | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE | Block (XprType &xpr, Index i) |
Column or Row constructor. More... | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE | Block (XprType &xpr, Index startRow, Index startCol) |
Fixed-size constructor. More... | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE | Block (XprType &xpr, Index startRow, Index startCol, Index blockRows, Index blockCols) |
Dynamic-size constructor. More... | |
Expression of a fixed-size or dynamic-size block.
XprType | the type of the expression in which we are taking a block |
BlockRows | the number of rows of the block we are taking at compile time (optional) |
BlockCols | the number of columns of the block we are taking at compile time (optional) |
InnerPanel | is true, if the block maps to a set of rows of a row major matrix or to set of columns of a column major matrix (optional). The parameter allows to determine at compile time whether aligned access is possible on the block expression. |
This class represents an expression of either a fixed-size or dynamic-size block. It is the return type of DenseBase::block(Index,Index,Index,Index) and DenseBase::block<int,int>(Index,Index) and most of the time this is the only way it is used.
However, if you want to directly maniputate block expressions, for instance if you want to write a function returning such an expression, you will need to use this class.
Here is an example illustrating the dynamic case:
Output:
Here is an example illustrating the fixed-size case:
Output:
typedef Impl Eigen::Block< XprType, BlockRows, BlockCols, InnerPanel >::Base |
typedef internal::remove_all<XprType>::type Eigen::Block< XprType, BlockRows, BlockCols, InnerPanel >::NestedExpression |
|
inline |
Column or Row constructor.
|
inline |
Fixed-size constructor.
|
inline |
Dynamic-size constructor.