diff options
author | Hauke Heibel <hauke.heibel@gmail.com> | 2010-06-14 23:02:49 +0200 |
---|---|---|
committer | Hauke Heibel <hauke.heibel@gmail.com> | 2010-06-14 23:02:49 +0200 |
commit | 0afb1e80c7c3c924231cf8da15bf83213b60855b (patch) | |
tree | ca25223a8c9b7a6442616e0f67f1720de91ee42d /Eigen/src/Core/MatrixBase.h | |
parent | 3cabd0c417dd08e4a51cc379f8da66179a0795d4 (diff) |
Really fix #123.
Diffstat (limited to 'Eigen/src/Core/MatrixBase.h')
-rw-r--r-- | Eigen/src/Core/MatrixBase.h | 12 |
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> |