10 #ifndef EIGEN_NOALIAS_H 11 #define EIGEN_NOALIAS_H 30 template<
typename ExpressionType,
template <
typename>
class StorageBase>
34 typedef typename ExpressionType::Scalar Scalar;
36 explicit NoAlias(ExpressionType& expression) : m_expression(expression) {}
38 template<
typename OtherDerived>
40 EIGEN_STRONG_INLINE ExpressionType& operator=(
const StorageBase<OtherDerived>& other)
42 call_assignment_no_alias(m_expression, other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
46 template<
typename OtherDerived>
48 EIGEN_STRONG_INLINE ExpressionType& operator+=(
const StorageBase<OtherDerived>& other)
50 call_assignment_no_alias(m_expression, other.derived(), internal::add_assign_op<Scalar,typename OtherDerived::Scalar>());
54 template<
typename OtherDerived>
56 EIGEN_STRONG_INLINE ExpressionType& operator-=(
const StorageBase<OtherDerived>& other)
58 call_assignment_no_alias(m_expression, other.derived(), internal::sub_assign_op<Scalar,typename OtherDerived::Scalar>());
63 ExpressionType& expression()
const 69 ExpressionType& m_expression;
100 template<
typename Derived>
108 #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:287
NoAlias< Derived, Eigen::MatrixBase > noalias()
Definition: NoAlias.h:101