Implement interface for NoAlias assignments.

* Rename the old copy_using_evaluators to noalias_copy_using_evaluators.
* Write a new copy_using_evaluators which strips NoAlias expression, if present,
  and calls noalias_copy_using_evaluators; in future, it will also take care of
  aliasing in products.
* Add expression() getter to NoAlias.
This commit is contained in:
Jitse Niesen
2012-06-29 13:24:04 +01:00
parent 069fd0e4be
commit c1eb820e50
3 changed files with 23 additions and 2 deletions

View File

@@ -97,6 +97,11 @@ class NoAlias
{ return m_expression.derived() -= CoeffBasedProduct<Lhs,Rhs,NestByRefBit>(other.lhs(), other.rhs()); }
#endif
ExpressionType& expression() const
{
return m_expression;
}
protected:
ExpressionType& m_expression;
};