mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
As proposed on the list:
- rename EvalBeforeAssignBit to MayAliasBit - make .lazy() remove the MayAliasBit only, and mark it as deprecated - add a NoAlias pseudo expression, and MatrixBase::noalias() function Todo: - we have to decide whether += and -= assume no aliasing by default ? - once we agree on the API: update the Sparse module and the unit tests respectively.
This commit is contained in:
@@ -179,11 +179,11 @@ template<typename Derived> class MapBase
|
||||
// explicitly add these two overloads.
|
||||
// Maybe there exists a better solution though.
|
||||
template<typename ProductDerived, typename Lhs,typename Rhs>
|
||||
Derived& operator+=(const Flagged<ProductBase<ProductDerived,Lhs,Rhs>, 0, EvalBeforeNestingBit | EvalBeforeAssigningBit>& other)
|
||||
Derived& operator+=(const Flagged<ProductBase<ProductDerived,Lhs,Rhs>, 0, MayAliasBit>& other)
|
||||
{ return Base::operator+=(other); }
|
||||
|
||||
template<typename ProductDerived, typename Lhs,typename Rhs>
|
||||
Derived& operator-=(const Flagged<ProductBase<ProductDerived,Lhs,Rhs>, 0, EvalBeforeNestingBit | EvalBeforeAssigningBit>& other)
|
||||
Derived& operator-=(const Flagged<ProductBase<ProductDerived,Lhs,Rhs>, 0, MayAliasBit>& other)
|
||||
{ return Base::operator-=(other); }
|
||||
|
||||
template<typename OtherDerived>
|
||||
|
||||
Reference in New Issue
Block a user