10 #ifndef EIGEN_COREITERATORS_H 11 #define EIGEN_COREITERATORS_H 20 template<
typename XprType,
typename EvaluatorKind>
32 template<
typename XprType>
42 : m_eval(xpr), m_iter(m_eval, outerId, xpr.innerSize())
78 template<
typename XprType>
88 : m_eval(eval), m_inner(0), m_outer(outerId), m_end(innerSize)
93 return (IsRowMajor) ? m_eval.coeff(m_outer, m_inner)
94 : m_eval.coeff(m_inner, m_outer);
100 inline Index row()
const {
return IsRowMajor ? m_outer : index(); }
101 inline Index col()
const {
return IsRowMajor ? index() : m_outer; }
114 template<
typename XprType>
124 : Base(eval, outerId)
132 #endif // EIGEN_COREITERATORS_H EIGEN_STRONG_INLINE Index index() const
#define EIGEN_STRONG_INLINE
internal::evaluator< XprType > EvaluatorType
EIGEN_STRONG_INLINE Index index() const
EIGEN_STRONG_INLINE inner_iterator_selector(const EvaluatorType &eval, const Index &outerId, const Index &innerSize)
traits< XprType >::Scalar Scalar
Namespace containing all symbols from the Eigen library.
evaluator< XprType > EvaluatorType
const unsigned int RowMajorBit
internal::traits< XprType >::Scalar Scalar
EIGEN_STRONG_INLINE Index row() const
InnerIterator(const XprType &xpr, const Index &outerId)
EIGEN_STRONG_INLINE inner_iterator_selector & operator++()
internal::inner_iterator_selector< XprType, typename internal::evaluator_traits< XprType >::Kind > IteratorType
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
evaluator< XprType >::InnerIterator Base
EIGEN_STRONG_INLINE inner_iterator_selector(const EvaluatorType &eval, const Index &outerId, const Index &)
EIGEN_STRONG_INLINE InnerIterator operator+(Index i)
evaluator< XprType > EvaluatorType
EIGEN_STRONG_INLINE Scalar value() const
CwiseBinaryOp< internal::scalar_sum_op< double, double >, const CpyMatrixXd, const CpyMatrixXd > XprType
EIGEN_STRONG_INLINE InnerIterator & operator+=(Index i)
EIGEN_STRONG_INLINE Scalar value() const
EIGEN_STRONG_INLINE Index col() const
const EvaluatorType & m_eval
An InnerIterator allows to loop over the element of any matrix expression.
EIGEN_STRONG_INLINE InnerIterator & operator++()