diff options
author | Gael Guennebaud <g.gael@free.fr> | 2015-09-04 15:25:58 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2015-09-04 15:25:58 +0200 |
commit | b20a55a60883a8cb61a088b006fe59a1c61023da (patch) | |
tree | 0b5859be211bf914304eecc9ee80a4eb1172f8e0 | |
parent | ed265258e4023f25c8e058fae3fba127abf51edf (diff) |
Workaround wrong instanciation made by VS2010
-rw-r--r-- | Eigen/src/SparseCore/SparseCwiseBinaryOp.h | 27 |
1 files changed, 12 insertions, 15 deletions
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<CwiseBinaryOp<BinaryOp, Lhs, Rhs>, IteratorBased, Iterat protected: typedef typename evaluator<Lhs>::InnerIterator LhsIterator; typedef typename evaluator<Rhs>::InnerIterator RhsIterator; -public: typedef CwiseBinaryOp<BinaryOp, Lhs, Rhs> XprType; + typedef typename traits<XprType>::Scalar Scalar; + typedef typename XprType::StorageIndex StorageIndex; +public: class ReverseInnerIterator; class InnerIterator { - typedef typename traits<XprType>::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<T> BinaryOp; typedef typename evaluator<Lhs>::InnerIterator LhsIterator; typedef typename evaluator<Rhs>::InnerIterator RhsIterator; -public: typedef CwiseBinaryOp<BinaryOp, Lhs, Rhs> XprType; + typedef typename XprType::StorageIndex StorageIndex; + typedef typename traits<XprType>::Scalar Scalar; +public: class ReverseInnerIterator; class InnerIterator { - typedef typename traits<XprType>::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<T> BinaryOp; typedef evaluator<Lhs> LhsEvaluator; typedef typename evaluator<Rhs>::InnerIterator RhsIterator; -public: typedef CwiseBinaryOp<BinaryOp, Lhs, Rhs> XprType; + typedef typename XprType::StorageIndex StorageIndex; + typedef typename traits<XprType>::Scalar Scalar; +public: class ReverseInnerIterator; class InnerIterator { - typedef typename traits<XprType>::Scalar Scalar; - typedef typename XprType::StorageIndex StorageIndex; - enum { IsRowMajor = (int(Rhs::Flags)&RowMajorBit)==RowMajorBit }; public: @@ -312,14 +309,14 @@ protected: typedef scalar_product_op<T> BinaryOp; typedef typename evaluator<Lhs>::InnerIterator LhsIterator; typedef evaluator<Rhs> RhsEvaluator; -public: typedef CwiseBinaryOp<BinaryOp, Lhs, Rhs> XprType; + typedef typename XprType::StorageIndex StorageIndex; + typedef typename traits<XprType>::Scalar Scalar; +public: class ReverseInnerIterator; class InnerIterator { - typedef typename traits<XprType>::Scalar Scalar; - typedef typename XprType::StorageIndex StorageIndex; enum { IsRowMajor = (int(Lhs::Flags)&RowMajorBit)==RowMajorBit }; public: |