MOAB  4.9.3pre
Eigen::InnerIterator< XprType > Class Template Reference

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

#include <CoreIterators.h>

Collaboration diagram for Eigen::InnerIterator< XprType >:

List of all members.

Public Member Functions

 InnerIterator (const XprType &xpr, const Index &outerId)
EIGEN_STRONG_INLINE Scalar value () const
EIGEN_STRONG_INLINE InnerIteratoroperator++ ()
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

Private Member Functions

template<typename T >
 InnerIterator (const EigenBase< T > &, Index outer)

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

Definition at line 33 of file CoreIterators.h.


Member Typedef Documentation

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

Definition at line 37 of file CoreIterators.h.

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

Definition at line 36 of file CoreIterators.h.

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

Definition at line 38 of file CoreIterators.h.


Constructor & Destructor Documentation

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

Definition at line 41 of file CoreIterators.h.

    : m_eval(xpr), m_iter(m_eval, outerId, xpr.innerSize())
  {}
template<typename XprType >
template<typename T >
Eigen::InnerIterator< XprType >::InnerIterator ( const EigenBase< T > &  ,
Index  outer 
) [private]

Member Function Documentation

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

Definition at line 56 of file CoreIterators.h.

{ return m_iter.col(); }
template<typename XprType >
EIGEN_STRONG_INLINE Index Eigen::InnerIterator< XprType >::index ( ) const [inline]
Returns:
the column or row index of the current coefficient.

Definition at line 52 of file CoreIterators.h.

{ return m_iter.index(); }
template<typename XprType >
EIGEN_STRONG_INLINE Eigen::InnerIterator< XprType >::operator bool ( ) const [inline]
Returns:
true if the iterator *this still references a valid coefficient.

Definition at line 58 of file CoreIterators.h.

{ return m_iter; }
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

Definition at line 50 of file CoreIterators.h.

{ m_iter.operator++(); return *this; }
template<typename XprType >
EIGEN_STRONG_INLINE Index Eigen::InnerIterator< XprType >::row ( ) const [inline]
Returns:
the row index of the current coefficient.

Definition at line 54 of file CoreIterators.h.

{ return m_iter.row(); }
template<typename XprType >
EIGEN_STRONG_INLINE Scalar Eigen::InnerIterator< XprType >::value ( ) const [inline]
Returns:
the value of the current coefficient.

Definition at line 46 of file CoreIterators.h.

{ return m_iter.value(); }

Member Data Documentation

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

Definition at line 61 of file CoreIterators.h.

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

Definition at line 62 of file CoreIterators.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines