aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/SparseCore
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2016-11-06 15:20:00 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2016-11-06 15:20:00 +0100
commitfc7180cda81593a31966159381f01113afa43f7c (patch)
tree7bdf69ce74fcbce8cb99ebd50482d1d3ff9a258e /Eigen/src/SparseCore
parent4d226ab5b546dad7ca394428af851e32b52a344d (diff)
Add a default ctor to evaluator<SparseVector>.
Needed for evaluator<Solve>.
Diffstat (limited to 'Eigen/src/SparseCore')
-rw-r--r--Eigen/src/SparseCore/SparseVector.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/Eigen/src/SparseCore/SparseVector.h b/Eigen/src/SparseCore/SparseVector.h
index 7a3d88c38..19b0fbc9d 100644
--- a/Eigen/src/SparseCore/SparseVector.h
+++ b/Eigen/src/SparseCore/SparseVector.h
@@ -411,6 +411,7 @@ struct evaluator<SparseVector<_Scalar,_Options,_Index> >
: evaluator_base<SparseVector<_Scalar,_Options,_Index> >
{
typedef SparseVector<_Scalar,_Options,_Index> SparseVectorType;
+ typedef evaluator_base<SparseVectorType> Base;
typedef typename SparseVectorType::InnerIterator InnerIterator;
typedef typename SparseVectorType::ReverseInnerIterator ReverseInnerIterator;
@@ -418,20 +419,22 @@ struct evaluator<SparseVector<_Scalar,_Options,_Index> >
CoeffReadCost = NumTraits<_Scalar>::ReadCost,
Flags = SparseVectorType::Flags
};
+
+ evaluator() : Base() {}
- explicit evaluator(const SparseVectorType &mat) : m_matrix(mat)
+ explicit evaluator(const SparseVectorType &mat) : m_matrix(&mat)
{
EIGEN_INTERNAL_CHECK_COST_VALUE(CoeffReadCost);
}
inline Index nonZerosEstimate() const {
- return m_matrix.nonZeros();
+ return m_matrix->nonZeros();
}
- operator SparseVectorType&() { return m_matrix.const_cast_derived(); }
- operator const SparseVectorType&() const { return m_matrix; }
+ operator SparseVectorType&() { return m_matrix->const_cast_derived(); }
+ operator const SparseVectorType&() const { return *m_matrix; }
- const SparseVectorType &m_matrix;
+ const SparseVectorType *m_matrix;
};
template< typename Dest, typename Src>