Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Eigen::NoAlias< ExpressionType, StorageBase > Class Template Reference

Pseudo expression providing an operator = assuming no aliasing. More...

#include <src/eigen/Eigen/src/Core/NoAlias.h>

Public Types

typedef ExpressionType::Scalar Scalar
 

Public Member Functions

 NoAlias (ExpressionType &expression)
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ExpressionType & operator= (const StorageBase< OtherDerived > &other)
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ExpressionType & operator+= (const StorageBase< OtherDerived > &other)
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ExpressionType & operator-= (const StorageBase< OtherDerived > &other)
 
EIGEN_DEVICE_FUNC ExpressionType & expression () const
 

Protected Attributes

ExpressionType & m_expression
 

Detailed Description

template<typename ExpressionType, template< typename > class StorageBase>
class Eigen::NoAlias< ExpressionType, StorageBase >

Pseudo expression providing an operator = assuming no aliasing.

Template Parameters
ExpressionTypethe type of the object on which to do the lazy assignment

This class represents an expression with special assignment operators assuming no aliasing between the target expression and the source expression. More precisely it alloas to bypass the EvalBeforeAssignBit flag of the source expression. It is the return type of MatrixBase::noalias() and most of the time this is the only way it is used.

See also
MatrixBase::noalias()

Member Typedef Documentation

◆ Scalar

template<typename ExpressionType , template< typename > class StorageBase>
typedef ExpressionType::Scalar Eigen::NoAlias< ExpressionType, StorageBase >::Scalar

Constructor & Destructor Documentation

◆ NoAlias()

template<typename ExpressionType , template< typename > class StorageBase>
Eigen::NoAlias< ExpressionType, StorageBase >::NoAlias ( ExpressionType &  expression)
inlineexplicit
ExpressionType & m_expression
Definition NoAlias.h:69
EIGEN_DEVICE_FUNC ExpressionType & expression() const
Definition NoAlias.h:63

Member Function Documentation

◆ expression()

template<typename ExpressionType , template< typename > class StorageBase>
EIGEN_DEVICE_FUNC ExpressionType & Eigen::NoAlias< ExpressionType, StorageBase >::expression ( ) const
inline
64 {
65 return m_expression;
66 }

References Eigen::NoAlias< ExpressionType, StorageBase >::m_expression.

Referenced by Eigen::internal::call_assignment().

+ Here is the caller graph for this function:

◆ operator+=()

template<typename ExpressionType , template< typename > class StorageBase>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ExpressionType & Eigen::NoAlias< ExpressionType, StorageBase >::operator+= ( const StorageBase< OtherDerived > &  other)
inline
49 {
50 call_assignment_no_alias(m_expression, other.derived(), internal::add_assign_op<Scalar,typename OtherDerived::Scalar>());
51 return m_expression;
52 }
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void call_assignment_no_alias(Dst &dst, const Src &src, const Func &func)
Definition AssignEvaluator.h:819

References Eigen::NoAlias< ExpressionType, StorageBase >::m_expression.

◆ operator-=()

template<typename ExpressionType , template< typename > class StorageBase>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ExpressionType & Eigen::NoAlias< ExpressionType, StorageBase >::operator-= ( const StorageBase< OtherDerived > &  other)
inline
57 {
58 call_assignment_no_alias(m_expression, other.derived(), internal::sub_assign_op<Scalar,typename OtherDerived::Scalar>());
59 return m_expression;
60 }

References Eigen::NoAlias< ExpressionType, StorageBase >::m_expression.

◆ operator=()

template<typename ExpressionType , template< typename > class StorageBase>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ExpressionType & Eigen::NoAlias< ExpressionType, StorageBase >::operator= ( const StorageBase< OtherDerived > &  other)
inline
41 {
42 call_assignment_no_alias(m_expression, other.derived(), internal::assign_op<Scalar,typename OtherDerived::Scalar>());
43 return m_expression;
44 }

References Eigen::NoAlias< ExpressionType, StorageBase >::m_expression.

Member Data Documentation

◆ m_expression

template<typename ExpressionType , template< typename > class StorageBase>
ExpressionType& Eigen::NoAlias< ExpressionType, StorageBase >::m_expression
protected

The documentation for this class was generated from the following file: