Revert "Make fixed-size Matrix and Array trivially copyable after C++20"

This reverts commit 47eac21072
This commit is contained in:
Antonio Sánchez
2022-02-05 04:40:29 +00:00
parent 979fdd58a4
commit 9441d94dcc
11 changed files with 2 additions and 127 deletions

View File

@@ -463,12 +463,6 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
return _set(other);
}
#if EIGEN_COMP_HAS_P0848R3
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE PlainObjectBase& operator=(
const PlainObjectBase& other) requires internal::has_trivially_copyable_storage<Derived>::value = default;
#endif
/** \sa MatrixBase::lazyAssign() */
template<typename OtherDerived>
EIGEN_DEVICE_FUNC
@@ -520,27 +514,10 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type
return *this;
}
#if EIGEN_COMP_HAS_P0848R3
EIGEN_DEVICE_FUNC
PlainObjectBase(PlainObjectBase&& other) EIGEN_NOEXCEPT
requires internal::has_trivially_copyable_storage<Derived>::value = default;
EIGEN_DEVICE_FUNC
PlainObjectBase& operator=(PlainObjectBase&& other) EIGEN_NOEXCEPT
requires internal::has_trivially_copyable_storage<Derived>::value = default;
#endif
/** Copy constructor */
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE PlainObjectBase(const PlainObjectBase& other)
: Base(), m_storage(other.m_storage) { }
#if EIGEN_COMP_HAS_P0848R3
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE PlainObjectBase(
const PlainObjectBase& other) requires internal::has_trivially_copyable_storage<Derived>::value = default;
#endif
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE PlainObjectBase(Index size, Index rows, Index cols)
: m_storage(size, rows, cols)