diff options
author | Gael Guennebaud <g.gael@free.fr> | 2012-03-14 17:37:28 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2012-03-14 17:37:28 +0100 |
commit | 60daf70a20550d25c29eac94766d0be69225925a (patch) | |
tree | 03e0640f7290ad0117f06301e22e1d6ee3bcd653 /Eigen | |
parent | dd9365e0891b9993f95f84bef5863f421788b9ea (diff) |
add 2 missing ReverseInnerIterators
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/src/SparseCore/SparseBlock.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Eigen/src/SparseCore/SparseBlock.h b/Eigen/src/SparseCore/SparseBlock.h index e053ccd6b..9c5aec500 100644 --- a/Eigen/src/SparseCore/SparseBlock.h +++ b/Eigen/src/SparseCore/SparseBlock.h @@ -65,6 +65,17 @@ class SparseInnerVectorSet : internal::no_assignment_operator, protected: Index m_outer; }; + class ReverseInnerIterator: public MatrixType::ReverseInnerIterator + { + public: + inline ReverseInnerIterator(const SparseInnerVectorSet& xpr, Index outer) + : MatrixType::ReverseInnerIterator(xpr.m_matrix, xpr.m_outerStart + outer), m_outer(outer) + {} + inline Index row() const { return IsRowMajor ? m_outer : this->index(); } + inline Index col() const { return IsRowMajor ? this->index() : m_outer; } + protected: + Index m_outer; + }; inline SparseInnerVectorSet(const MatrixType& matrix, Index outerStart, Index outerSize) : m_matrix(matrix), m_outerStart(outerStart), m_outerSize(outerSize) @@ -127,6 +138,17 @@ class SparseInnerVectorSet<SparseMatrix<_Scalar, _Options, _Index>, Size> protected: Index m_outer; }; + class ReverseInnerIterator: public MatrixType::ReverseInnerIterator + { + public: + inline ReverseInnerIterator(const SparseInnerVectorSet& xpr, Index outer) + : MatrixType::ReverseInnerIterator(xpr.m_matrix, xpr.m_outerStart + outer), m_outer(outer) + {} + inline Index row() const { return IsRowMajor ? m_outer : this->index(); } + inline Index col() const { return IsRowMajor ? this->index() : m_outer; } + protected: + Index m_outer; + }; inline SparseInnerVectorSet(const MatrixType& matrix, Index outerStart, Index outerSize) : m_matrix(matrix), m_outerStart(outerStart), m_outerSize(outerSize) |