Sparse module: add row/col methods to the iterators

This commit is contained in:
Gael Guennebaud
2009-01-15 14:16:41 +00:00
parent 87241089e1
commit 9a4b7998cf
7 changed files with 42 additions and 249 deletions

View File

@@ -64,9 +64,7 @@ class SparseVector
public:
typedef SparseMatrixBase<SparseVector> SparseBase;
enum {
IsColVector = ei_traits<SparseVector>::IsColVector
};
enum { IsColVector = ei_traits<SparseVector>::IsColVector };
CompressedStorage<Scalar> m_data;
int m_size;
@@ -319,6 +317,8 @@ class SparseVector<Scalar,_Flags>::InnerIterator
inline Scalar& valueRef() { return const_cast<Scalar&>(m_vector.m_data.value(m_id)); }
inline int index() const { return m_vector.m_data.index(m_id); }
inline int row() const { return IsColVector ? index() : 0; }
inline int col() const { return IsColVector ? 0 : index(); }
inline operator bool() const { return (m_id < m_end); }