diff --git a/Eigen/src/SparseCore/SparseCwiseBinaryOp.h b/Eigen/src/SparseCore/SparseCwiseBinaryOp.h index 1137424da..973b80095 100644 --- a/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +++ b/Eigen/src/SparseCore/SparseCwiseBinaryOp.h @@ -67,15 +67,14 @@ struct binary_evaluator, IteratorBased, Iterat protected: typedef typename evaluator::InnerIterator LhsIterator; typedef typename evaluator::InnerIterator RhsIterator; -public: typedef CwiseBinaryOp XprType; + typedef typename traits::Scalar Scalar; + typedef typename XprType::StorageIndex StorageIndex; +public: class ReverseInnerIterator; class InnerIterator { - typedef typename traits::Scalar Scalar; - typedef typename XprType::StorageIndex StorageIndex; - public: EIGEN_STRONG_INLINE InnerIterator(const binary_evaluator& aEval, Index outer) @@ -160,15 +159,14 @@ protected: typedef scalar_product_op BinaryOp; typedef typename evaluator::InnerIterator LhsIterator; typedef typename evaluator::InnerIterator RhsIterator; -public: typedef CwiseBinaryOp XprType; + typedef typename XprType::StorageIndex StorageIndex; + typedef typename traits::Scalar Scalar; +public: class ReverseInnerIterator; class InnerIterator { - typedef typename traits::Scalar Scalar; - typedef typename XprType::StorageIndex StorageIndex; - public: EIGEN_STRONG_INLINE InnerIterator(const binary_evaluator& aEval, Index outer) @@ -242,15 +240,14 @@ protected: typedef scalar_product_op BinaryOp; typedef evaluator LhsEvaluator; typedef typename evaluator::InnerIterator RhsIterator; -public: typedef CwiseBinaryOp XprType; + typedef typename XprType::StorageIndex StorageIndex; + typedef typename traits::Scalar Scalar; +public: class ReverseInnerIterator; class InnerIterator { - typedef typename traits::Scalar Scalar; - typedef typename XprType::StorageIndex StorageIndex; - enum { IsRowMajor = (int(Rhs::Flags)&RowMajorBit)==RowMajorBit }; public: @@ -312,14 +309,14 @@ protected: typedef scalar_product_op BinaryOp; typedef typename evaluator::InnerIterator LhsIterator; typedef evaluator RhsEvaluator; -public: typedef CwiseBinaryOp XprType; + typedef typename XprType::StorageIndex StorageIndex; + typedef typename traits::Scalar Scalar; +public: class ReverseInnerIterator; class InnerIterator { - typedef typename traits::Scalar Scalar; - typedef typename XprType::StorageIndex StorageIndex; enum { IsRowMajor = (int(Lhs::Flags)&RowMajorBit)==RowMajorBit }; public: