25 #ifndef EIGEN_NOALIAS_H
26 #define EIGEN_NOALIAS_H
45 template<
typename ExpressionType,
template <
typename>
class StorageBase>
48 typedef typename ExpressionType::Scalar Scalar;
54 template<
typename OtherDerived>
56 {
return internal::assign_selector<ExpressionType,OtherDerived,false>::run(
m_expression,other.derived()); }
59 template<
typename OtherDerived>
64 typedef typename internal::nested<OtherDerived>::type OtherDerivedNested;
65 typedef typename internal::remove_all<OtherDerivedNested>::type _OtherDerivedNested;
66 internal::assign_selector<SelfAdder,_OtherDerivedNested,false>::run(tmp,OtherDerivedNested(other.derived()));
71 template<
typename OtherDerived>
76 typedef typename internal::nested<OtherDerived>::type OtherDerivedNested;
77 typedef typename internal::remove_all<OtherDerivedNested>::type _OtherDerivedNested;
78 internal::assign_selector<SelfAdder,_OtherDerivedNested,false>::run(tmp,OtherDerivedNested(other.derived()));
82 #ifndef EIGEN_PARSED_BY_DOXYGEN
83 template<
typename ProductDerived,
typename Lhs,
typename Rhs>
87 template<
typename ProductDerived,
typename Lhs,
typename Rhs>
91 template<
typename Lhs,
typename Rhs,
int NestingFlags>
93 {
return m_expression.derived() += CoeffBasedProduct<Lhs,Rhs,NestByRefBit>(other.lhs(), other.rhs()); }
95 template<
typename Lhs,
typename Rhs,
int NestingFlags>
97 {
return m_expression.derived() -= CoeffBasedProduct<Lhs,Rhs,NestByRefBit>(other.lhs(), other.rhs()); }
132 template<
typename Derived>
140 #endif // EIGEN_NOALIAS_H