10 #ifndef EIGEN_COREITERATORS_H
11 #define EIGEN_COREITERATORS_H
23 template <
typename XprType,
typename EvaluatorKind>
36 template <
typename XprType>
90 template <
typename XprType>
99 : m_eval(
eval), m_inner(0), m_outer(outerId), m_end(innerSize) {}
102 return (IsRowMajor) ? m_eval.coeff(m_outer, m_inner) : m_eval.coeff(m_inner, m_outer);
111 inline Index row()
const {
return IsRowMajor ? m_outer : index(); }
112 inline Index col()
const {
return IsRowMajor ? index() : m_outer; }
125 template <
typename XprType>
int i
Definition: BiCGSTAB_step_by_step.cpp:9
#define EIGEN_STRONG_INLINE
Definition: Macros.h:834
An InnerIterator allows to loop over the element of any matrix expression.
Definition: CoreIterators.h:37
EIGEN_STRONG_INLINE Index col() const
Definition: CoreIterators.h:71
internal::evaluator< XprType > EvaluatorType
Definition: CoreIterators.h:40
EIGEN_STRONG_INLINE Index row() const
Definition: CoreIterators.h:69
EvaluatorType m_eval
Definition: CoreIterators.h:76
EIGEN_STRONG_INLINE InnerIterator & operator+=(Index i)
Definition: CoreIterators.h:56
IteratorType m_iter
Definition: CoreIterators.h:77
EIGEN_STRONG_INLINE Scalar value() const
Definition: CoreIterators.h:48
internal::inner_iterator_selector< XprType, typename internal::evaluator_traits< XprType >::Kind > IteratorType
Definition: CoreIterators.h:39
InnerIterator(const XprType &xpr, const Index &outerId)
Definition: CoreIterators.h:45
EIGEN_STRONG_INLINE Index index() const
Definition: CoreIterators.h:67
InnerIterator(const EigenBase< T > &, Index outer)
internal::traits< XprType >::Scalar Scalar
Definition: CoreIterators.h:41
EIGEN_STRONG_INLINE InnerIterator & operator++()
Definition: CoreIterators.h:52
EIGEN_STRONG_INLINE InnerIterator operator+(Index i)
Definition: CoreIterators.h:60
EIGEN_STRONG_INLINE inner_iterator_selector & operator++()
Definition: CoreIterators.h:105
EIGEN_STRONG_INLINE Scalar value() const
Definition: CoreIterators.h:101
EIGEN_STRONG_INLINE Index index() const
Definition: CoreIterators.h:110
traits< XprType >::Scalar Scalar
Definition: CoreIterators.h:94
Index row() const
Definition: CoreIterators.h:111
Index col() const
Definition: CoreIterators.h:112
Index m_inner
Definition: CoreIterators.h:118
const Index m_outer
Definition: CoreIterators.h:119
evaluator< XprType > EvaluatorType
Definition: CoreIterators.h:93
const Index m_end
Definition: CoreIterators.h:120
const EvaluatorType & m_eval
Definition: CoreIterators.h:117
EIGEN_STRONG_INLINE inner_iterator_selector(const EvaluatorType &eval, const Index &outerId, const Index &innerSize)
Definition: CoreIterators.h:98
EIGEN_STRONG_INLINE inner_iterator_selector(const EvaluatorType &eval, const Index &outerId, const Index &)
Definition: CoreIterators.h:132
evaluator< XprType > EvaluatorType
Definition: CoreIterators.h:129
evaluator< XprType >::InnerIterator Base
Definition: CoreIterators.h:128
Definition: CoreIterators.h:24
const unsigned int RowMajorBit
Definition: Constants.h:70
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
Definition: Eigen_Colamd.h:49
CwiseBinaryOp< internal::scalar_sum_op< double, double >, const CpyMatrixXd, const CpyMatrixXd > XprType
Definition: nestbyvalue.cpp:15
Definition: EigenBase.h:33
Definition: Constants.h:577
Definition: Constants.h:580
Definition: XprHelper.h:427
Definition: ForwardDeclarations.h:21