12 #ifndef EIGEN_ASSIGN_H 13 #define EIGEN_ASSIGN_H 16 #include "./InternalHeaderCheck.h" 20 template <
typename Derived>
21 template <
typename OtherDerived>
23 enum { SameType = internal::is_same<typename Derived::Scalar, typename OtherDerived::Scalar>::value };
25 EIGEN_STATIC_ASSERT_LVALUE(Derived)
26 EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(Derived, OtherDerived)
29 YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
31 eigen_assert(rows() == other.rows() && cols() == other.cols());
32 internal::call_assignment_no_alias(derived(), other.derived());
37 template <
typename Derived>
38 template <
typename OtherDerived>
40 internal::call_assignment(derived(), other.
derived());
44 template <
typename Derived>
46 internal::call_assignment(derived(), other.
derived());
50 template <
typename Derived>
52 internal::call_assignment(derived(), other.
derived());
56 template <
typename Derived>
57 template <
typename OtherDerived>
59 internal::call_assignment(derived(), other.
derived());
63 template <
typename Derived>
64 template <
typename OtherDerived>
66 internal::call_assignment(derived(), other.derived());
70 template <
typename Derived>
71 template <
typename OtherDerived>
73 const ReturnByValue<OtherDerived>& other) {
74 other.derived().evalTo(derived());
80 #endif // EIGEN_ASSIGN_H constexpr Derived & derived()
Definition: EigenBase.h:49
Namespace containing all symbols from the Eigen library.
Definition: B01_Experimental.dox:1
Derived & operator=(const DenseBase< OtherDerived > &other)
Definition: Assign.h:39
Base class for all dense matrices, vectors, and arrays.
Definition: DenseBase.h:38
Derived & operator=(const MatrixBase &other)
Definition: Assign.h:51
EIGEN_DEPRECATED Derived & lazyAssign(const DenseBase< OtherDerived > &other)
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:52