aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/MatrixBase.h
diff options
context:
space:
mode:
authorGravatar Hauke Heibel <hauke.heibel@gmail.com>2010-06-14 23:02:49 +0200
committerGravatar Hauke Heibel <hauke.heibel@gmail.com>2010-06-14 23:02:49 +0200
commit0afb1e80c7c3c924231cf8da15bf83213b60855b (patch)
treeca25223a8c9b7a6442616e0f67f1720de91ee42d /Eigen/src/Core/MatrixBase.h
parent3cabd0c417dd08e4a51cc379f8da66179a0795d4 (diff)
Really fix #123.
Diffstat (limited to 'Eigen/src/Core/MatrixBase.h')
-rw-r--r--Eigen/src/Core/MatrixBase.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/Eigen/src/Core/MatrixBase.h b/Eigen/src/Core/MatrixBase.h
index 7fc5774ad..986806e43 100644
--- a/Eigen/src/Core/MatrixBase.h
+++ b/Eigen/src/Core/MatrixBase.h
@@ -83,7 +83,6 @@ template<typename Derived> class MatrixBase
using Base::coeffRef;
using Base::lazyAssign;
using Base::eval;
- using Base::operator=;
using Base::operator+=;
using Base::operator-=;
using Base::operator*=;
@@ -153,8 +152,17 @@ template<typename Derived> class MatrixBase
*/
Derived& operator=(const MatrixBase& other);
+ // We cannot inherit here via Base::operator= since it is causing
+ // trouble with MSVC.
+
+ template <typename OtherDerived>
+ Derived& operator=(const DenseBase<OtherDerived>& other);
+
template <typename OtherDerived>
- Derived& operator=(const MatrixBase<OtherDerived>& other);
+ Derived& operator=(const EigenBase<OtherDerived>& other);
+
+ template<typename OtherDerived>
+ Derived& operator=(const ReturnByValue<OtherDerived>& other);
#ifndef EIGEN_PARSED_BY_DOXYGEN
template<typename ProductDerived, typename Lhs, typename Rhs>