diff --git a/Eigen/src/SparseCore/SparseTriangularView.h b/Eigen/src/SparseCore/SparseTriangularView.h index 3c0c10242..48fc62a4c 100644 --- a/Eigen/src/SparseCore/SparseTriangularView.h +++ b/Eigen/src/SparseCore/SparseTriangularView.h @@ -53,9 +53,7 @@ template class SparseTriangularView inline Index rows() const { return m_matrix.rows(); } inline Index cols() const { return m_matrix.cols(); } - //typedef typename internal::conditional::ret, - // MatrixType, const MatrixType&>::type MatrixTypeNested; - typedef typename internal::nested::type MatrixTypeNested; + typedef typename MatrixType::Nested MatrixTypeNested; typedef typename internal::remove_reference::type MatrixTypeNestedNonRef; typedef typename internal::remove_all::type MatrixTypeNestedCleaned; @@ -72,13 +70,13 @@ template class SparseTriangularView template void solveInPlace(SparseMatrixBase& other) const; protected: - MatrixTypeNested m_matrix; + const MatrixTypeNested m_matrix; }; template -class SparseTriangularView::InnerIterator : public MatrixType::InnerIterator +class SparseTriangularView::InnerIterator : public MatrixTypeNested::InnerIterator { - typedef typename MatrixType::InnerIterator Base; + typedef typename MatrixTypeNested::InnerIterator Base; public: EIGEN_STRONG_INLINE InnerIterator(const SparseTriangularView& view, Index outer) @@ -140,9 +138,9 @@ class SparseTriangularView::InnerIterator : public MatrixType:: }; template -class SparseTriangularView::ReverseInnerIterator : public MatrixType::ReverseInnerIterator +class SparseTriangularView::ReverseInnerIterator : public MatrixTypeNested::ReverseInnerIterator { - typedef typename MatrixType::ReverseInnerIterator Base; + typedef typename MatrixTypeNested::ReverseInnerIterator Base; public: EIGEN_STRONG_INLINE ReverseInnerIterator(const SparseTriangularView& view, Index outer)