diff options
author | Gael Guennebaud <g.gael@free.fr> | 2015-10-12 09:49:05 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2015-10-12 09:49:05 +0200 |
commit | 6407e367ee20b626355fe4c5567d1941d1b3fc55 (patch) | |
tree | c5ba41a7436ddbfe9be7c86f4c911eda5ef824b0 /Eigen/src/SparseCore/SparseCompressedBase.h | |
parent | 63e29e7765825f02ee7a1d6d24a82b2beb4bb924 (diff) |
Add missing epxlicit keyword, and fix regression in DynamicSparseMatrix
Diffstat (limited to 'Eigen/src/SparseCore/SparseCompressedBase.h')
-rw-r--r-- | Eigen/src/SparseCore/SparseCompressedBase.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/Eigen/src/SparseCore/SparseCompressedBase.h b/Eigen/src/SparseCore/SparseCompressedBase.h index 97ca44761..c8a2705f9 100644 --- a/Eigen/src/SparseCore/SparseCompressedBase.h +++ b/Eigen/src/SparseCore/SparseCompressedBase.h @@ -120,12 +120,18 @@ class SparseCompressedBase<Derived>::InnerIterator } } - InnerIterator(const SparseCompressedBase& mat) + explicit InnerIterator(const SparseCompressedBase& mat) : m_values(mat.valuePtr()), m_indices(mat.innerIndexPtr()), m_outer(0), m_id(0), m_end(mat.nonZeros()) { EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived); } + explicit InnerIterator(const internal::CompressedStorage<Scalar,StorageIndex>& data) + : m_values(&data.value(0)), m_indices(&data.index(0)), m_outer(0), m_id(0), m_end(data.size()) + { + EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived); + } + inline InnerIterator& operator++() { m_id++; return *this; } inline const Scalar& value() const { return m_values[m_id]; } @@ -173,9 +179,17 @@ class SparseCompressedBase<Derived>::ReverseInnerIterator } } - ReverseInnerIterator(const SparseCompressedBase& mat) + explicit ReverseInnerIterator(const SparseCompressedBase& mat) : m_values(mat.valuePtr()), m_indices(mat.innerIndexPtr()), m_outer(0), m_start(0), m_id(mat.nonZeros()) - {} + { + EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived); + } + + explicit ReverseInnerIterator(const internal::CompressedStorage<Scalar,StorageIndex>& data) + : m_values(&data.value(0)), m_indices(&data.index(0)), m_outer(0), m_start(0), m_id(data.size()) + { + EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived); + } inline ReverseInnerIterator& operator--() { --m_id; return *this; } |