Eigen  3.3.90 (mercurial changeset 493691b29be1)
Eigen::IndexedView< XprType, RowIndices, ColIndices > Class Template Reference

Detailed Description

template<typename XprType, typename RowIndices, typename ColIndices>
class Eigen::IndexedView< XprType, RowIndices, ColIndices >

Expression of a non-sequential sub-matrix defined by arbitrary sequences of row and column indices.

Template Parameters
XprTypethe type of the expression in which we are taking the intersections of sub-rows and sub-columns
RowIndicesthe type of the object defining the sequence of row indices
ColIndicesthe type of the object defining the sequence of column indices

This class represents an expression of a sub-matrix (or sub-vector) defined as the intersection of sub-sets of rows and columns, that are themself defined by generic sequences of row indices $ \{r_0,r_1,..r_{m-1}\} $ and column indices $ \{c_0,c_1,..c_{n-1} \}$. Let $ A $ be the nested matrix, then the resulting matrix $ B $ has m rows and n columns, and its entries are given by: $ B(i,j) = A(r_i,c_j) $.

The RowIndices and ColIndices types must be compatible with the following API:

<integral type> operator[](Index) const;
Index size() const;

Typical supported types thus include:

  • std::vector<int>
  • std::valarray<int>
  • std::array<int>
  • Plain C arrays: int[N]
  • Eigen::ArrayXi
  • decltype(ArrayXi::LinSpaced(...))
  • Any view/expressions of the previous types
  • Eigen::ArithmeticSequence
  • Eigen::internal::AllRange (helper for Eigen::all)
  • Eigen::internal::SingleRange (helper for single index)
  • etc.

In typical usages of Eigen, this class should never be used directly. It is the return type of DenseBase::operator()(const RowIndices&, const ColIndices&).

See also
class Block

Inherits Eigen::IndexedViewImpl< XprType, RowIndices, ColIndices, internal::traits< XprType >::StorageKind >.

Public Member Functions

const ColIndices & colIndices () const
 
Index cols () const
 
const internal::remove_all< XprType >::type & nestedExpression () const
 
internal::remove_reference< XprType >::type & nestedExpression ()
 
const RowIndices & rowIndices () const
 
Index rows () const
 

Member Function Documentation

◆ colIndices()

template<typename XprType , typename RowIndices , typename ColIndices >
const ColIndices& Eigen::IndexedView< XprType, RowIndices, ColIndices >::colIndices ( ) const
inline
Returns
a const reference to the object storing/generating the column indices

◆ cols()

template<typename XprType , typename RowIndices , typename ColIndices >
Index Eigen::IndexedView< XprType, RowIndices, ColIndices >::cols ( void  ) const
inline
Returns
number of columns

◆ nestedExpression() [1/2]

template<typename XprType , typename RowIndices , typename ColIndices >
const internal::remove_all<XprType>::type& Eigen::IndexedView< XprType, RowIndices, ColIndices >::nestedExpression ( ) const
inline
Returns
the nested expression

◆ nestedExpression() [2/2]

template<typename XprType , typename RowIndices , typename ColIndices >
internal::remove_reference<XprType>::type& Eigen::IndexedView< XprType, RowIndices, ColIndices >::nestedExpression ( )
inline
Returns
the nested expression

◆ rowIndices()

template<typename XprType , typename RowIndices , typename ColIndices >
const RowIndices& Eigen::IndexedView< XprType, RowIndices, ColIndices >::rowIndices ( ) const
inline
Returns
a const reference to the object storing/generating the row indices

◆ rows()

template<typename XprType , typename RowIndices , typename ColIndices >
Index Eigen::IndexedView< XprType, RowIndices, ColIndices >::rows ( void  ) const
inline
Returns
number of rows

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