diff --git a/Eigen/src/Core/Array.h b/Eigen/src/Core/Array.h index 2098749c0..fb1f48a2b 100644 --- a/Eigen/src/Core/Array.h +++ b/Eigen/src/Core/Array.h @@ -102,8 +102,13 @@ class Array : public PlainObjectBase::value) { Base::operator=(std::move(other)); diff --git a/Eigen/src/Core/Matrix.h b/Eigen/src/Core/Matrix.h index 8b7f70c16..1ea1a664d 100644 --- a/Eigen/src/Core/Matrix.h +++ b/Eigen/src/Core/Matrix.h @@ -255,7 +255,11 @@ class Matrix : public PlainObjectBase::value) { Base::operator=(std::move(other)); diff --git a/Eigen/src/Core/PlainObjectBase.h b/Eigen/src/Core/PlainObjectBase.h index 8720c4473..22f132982 100644 --- a/Eigen/src/Core/PlainObjectBase.h +++ b/Eigen/src/Core/PlainObjectBase.h @@ -473,7 +473,9 @@ class PlainObjectBase : public internal::dense_xpr_base::type // by making all its constructor protected. See bug 1074. protected: EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr PlainObjectBase() = default; + /** \brief Move constructor */ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE constexpr PlainObjectBase(PlainObjectBase&&) = default; + /** \brief Move assignment operator */ EIGEN_DEVICE_FUNC constexpr PlainObjectBase& operator=(PlainObjectBase&& other) EIGEN_NOEXCEPT { m_storage = std::move(other.m_storage); return *this;