WPILibC++ 2023.4.3
Eigen::InnerIterator< XprType > Class Template Reference

An InnerIterator allows to loop over the element of any matrix expression. More...

#include </home/runner/work/allwpilib/allwpilib/wpimath/src/main/native/thirdparty/eigen/include/Eigen/src/Core/CoreIterators.h>

Public Member Functions

 InnerIterator (const XprType &xpr, const Index &outerId)
 Construct an iterator over the outerId -th row or column of xpr. More...
 
EIGEN_STRONG_INLINE Scalar value () const
 
EIGEN_STRONG_INLINE InnerIteratoroperator++ ()
 Increment the iterator *this to the next non-zero coefficient. More...
 
EIGEN_STRONG_INLINE InnerIteratoroperator+= (Index i)
 
EIGEN_STRONG_INLINE InnerIterator operator+ (Index i)
 
EIGEN_STRONG_INLINE Index index () const
 
EIGEN_STRONG_INLINE Index row () const
 
EIGEN_STRONG_INLINE Index col () const
 
EIGEN_STRONG_INLINE operator bool () const
 

Protected Types

typedef internal::inner_iterator_selector< XprType, typename internal::evaluator_traits< XprType >::Kind > IteratorType
 
typedef internal::evaluator< XprType > EvaluatorType
 
typedef internal::traits< XprType >::Scalar Scalar
 

Protected Attributes

EvaluatorType m_eval
 
IteratorType m_iter
 

Detailed Description

template<typename XprType>
class Eigen::InnerIterator< XprType >

An InnerIterator allows to loop over the element of any matrix expression.

Warning
To be used with care because an evaluator is constructed every time an InnerIterator iterator is constructed.

TODO: add a usage example

Member Typedef Documentation

◆ EvaluatorType

template<typename XprType >
typedef internal::evaluator<XprType> Eigen::InnerIterator< XprType >::EvaluatorType
protected

◆ IteratorType

template<typename XprType >
typedef internal::inner_iterator_selector<XprType, typename internal::evaluator_traits<XprType>::Kind> Eigen::InnerIterator< XprType >::IteratorType
protected

◆ Scalar

template<typename XprType >
typedef internal::traits<XprType>::Scalar Eigen::InnerIterator< XprType >::Scalar
protected

Constructor & Destructor Documentation

◆ InnerIterator()

template<typename XprType >
Eigen::InnerIterator< XprType >::InnerIterator ( const XprType &  xpr,
const Index outerId 
)
inline

Construct an iterator over the outerId -th row or column of xpr.

Member Function Documentation

◆ col()

template<typename XprType >
EIGEN_STRONG_INLINE Index Eigen::InnerIterator< XprType >::col ( ) const
inline
Returns
the column index of the current coefficient.

◆ index()

template<typename XprType >
EIGEN_STRONG_INLINE Index Eigen::InnerIterator< XprType >::index ( ) const
inline
Returns
the column or row index of the current coefficient.

◆ operator bool()

template<typename XprType >
EIGEN_STRONG_INLINE Eigen::InnerIterator< XprType >::operator bool ( ) const
inline
Returns
true if the iterator *this still references a valid coefficient.

◆ operator+()

template<typename XprType >
EIGEN_STRONG_INLINE InnerIterator Eigen::InnerIterator< XprType >::operator+ ( Index  i)
inline

◆ operator++()

template<typename XprType >
EIGEN_STRONG_INLINE InnerIterator & Eigen::InnerIterator< XprType >::operator++ ( )
inline

Increment the iterator *this to the next non-zero coefficient.

Explicit zeros are not skipped over. To skip explicit zeros, see class SparseView

◆ operator+=()

template<typename XprType >
EIGEN_STRONG_INLINE InnerIterator & Eigen::InnerIterator< XprType >::operator+= ( Index  i)
inline

◆ row()

template<typename XprType >
EIGEN_STRONG_INLINE Index Eigen::InnerIterator< XprType >::row ( ) const
inline
Returns
the row index of the current coefficient.

◆ value()

template<typename XprType >
EIGEN_STRONG_INLINE Scalar Eigen::InnerIterator< XprType >::value ( ) const
inline
Returns
the value of the current coefficient.

Member Data Documentation

◆ m_eval

template<typename XprType >
EvaluatorType Eigen::InnerIterator< XprType >::m_eval
protected

◆ m_iter

template<typename XprType >
IteratorType Eigen::InnerIterator< XprType >::m_iter
protected

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