10 #ifndef EIGEN_NOALIAS_H 11 #define EIGEN_NOALIAS_H 30 template<
typename ExpressionType,
template <
typename>
class StorageBase>
34 typedef typename ExpressionType::Scalar Scalar;
37 explicit NoAlias(ExpressionType& expression) : m_expression(expression) {}
39 template<
typename OtherDerived>
41 EIGEN_STRONG_INLINE ExpressionType& operator=(
const StorageBase<OtherDerived>& other)
43 call_assignment_no_alias(m_expression, other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
47 template<
typename OtherDerived>
49 EIGEN_STRONG_INLINE ExpressionType& operator+=(
const StorageBase<OtherDerived>& other)
51 call_assignment_no_alias(m_expression, other.derived(), internal::add_assign_op<Scalar,typename OtherDerived::Scalar>());
55 template<
typename OtherDerived>
57 EIGEN_STRONG_INLINE ExpressionType& operator-=(
const StorageBase<OtherDerived>& other)
59 call_assignment_no_alias(m_expression, other.derived(), internal::sub_assign_op<Scalar,typename OtherDerived::Scalar>());
64 ExpressionType& expression()
const 70 ExpressionType& m_expression;
101 template<
typename Derived>
109 #endif // EIGEN_NOALIAS_H Pseudo expression providing an operator = assuming no aliasing.
Definition: NoAlias.h:31
Namespace containing all symbols from the Eigen library.
Definition: Core:141
NoAlias< Derived, Eigen::MatrixBase > noalias()
Definition: NoAlias.h:102