aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/DiagonalMatrix.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2009-01-29 09:45:25 +0000
committerGravatar Gael Guennebaud <g.gael@free.fr>2009-01-29 09:45:25 +0000
commitcf0857c44d4efcf8c7429f2d59dad2ba491cc886 (patch)
tree383e6f5754a902f4892279c0e0a89cec2f060638 /Eigen/src/Core/DiagonalMatrix.h
parent1752a3a6772dcb586646254233d62d5e86cf047d (diff)
fix MSVC stupid warnings
Diffstat (limited to 'Eigen/src/Core/DiagonalMatrix.h')
-rw-r--r--Eigen/src/Core/DiagonalMatrix.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/Eigen/src/Core/DiagonalMatrix.h b/Eigen/src/Core/DiagonalMatrix.h
index b877cbee6..1e1a21c81 100644
--- a/Eigen/src/Core/DiagonalMatrix.h
+++ b/Eigen/src/Core/DiagonalMatrix.h
@@ -39,11 +39,9 @@ class DiagonalMatrixBase : ei_no_assignment_operator,
protected:
typedef typename ei_cleantype<CoeffsVectorType>::type _CoeffsVectorType;
-
- template<typename OtherDerived,
- bool IsVector = OtherDerived::IsVectorAtCompileTime,
- bool IsDiagonal = (OtherDerived::Flags&Diagonal)==Diagonal>
- struct construct_from_expression;
+
+ // MSVC gets crazy if we define default parameters
+ template<typename OtherDerived, bool IsVector, bool IsDiagonal> struct construct_from_expression;
// = vector
template<typename OtherDerived>
@@ -69,7 +67,8 @@ class DiagonalMatrixBase : ei_no_assignment_operator,
template<typename OtherDerived>
inline DiagonalMatrixBase(const MatrixBase<OtherDerived>& other)
{
- construct_from_expression<OtherDerived>::run(derived(),other.derived());
+ construct_from_expression<OtherDerived,OtherDerived::IsVectorAtCompileTime,(OtherDerived::Flags&Diagonal)==Diagonal>
+ ::run(derived(),other.derived());
}
public:
@@ -93,7 +92,8 @@ class DiagonalMatrixBase : ei_no_assignment_operator,
template<typename OtherDerived>
inline Derived& operator=(const MatrixBase<OtherDerived>& other)
{
- construct_from_expression<OtherDerived>::run(derived(),other);
+ construct_from_expression<OtherDerived,OtherDerived::IsVectorAtCompileTime,(OtherDerived::Flags&Diagonal)==Diagonal>
+ ::run(derived(),other);
return derived();
}