10 #ifndef EIGEN_COREITERATORS_H
11 #define EIGEN_COREITERATORS_H
26 template<
typename Derived>
class DenseBase<Derived>::InnerIterator
29 typedef typename Derived::Scalar Scalar;
30 typedef typename Derived::Index
Index;
34 EIGEN_STRONG_INLINE InnerIterator(
const Derived& expr,
Index outer)
35 : m_expression(expr), m_inner(0), m_outer(outer), m_end(expr.
innerSize())
38 EIGEN_STRONG_INLINE Scalar
value()
const
40 return (
IsRowMajor) ? m_expression.coeff(m_outer, m_inner)
41 : m_expression.coeff(m_inner, m_outer);
44 EIGEN_STRONG_INLINE InnerIterator& operator++() { m_inner++;
return *
this; }
46 EIGEN_STRONG_INLINE
Index index()
const {
return m_inner; }
50 EIGEN_STRONG_INLINE
operator bool()
const {
return m_inner < m_end && m_inner>=0; }
53 const Derived& m_expression;
61 #endif // EIGEN_COREITERATORS_H