Public Member Functions | Protected Attributes | Private Types
NoAlias< ExpressionType, StorageBase > Class Template Reference

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

#include <NoAlias.h>

List of all members.

Public Member Functions

 NoAlias (ExpressionType &expression)
template<typename OtherDerived >
EIGEN_STRONG_INLINE
ExpressionType & 
operator+= (const StorageBase< OtherDerived > &other)
template<typename ProductDerived , typename Lhs , typename Rhs >
EIGEN_STRONG_INLINE
ExpressionType & 
operator+= (const ProductBase< ProductDerived, Lhs, Rhs > &other)
template<typename Lhs , typename Rhs , int NestingFlags>
EIGEN_STRONG_INLINE
ExpressionType & 
operator+= (const CoeffBasedProduct< Lhs, Rhs, NestingFlags > &other)
template<typename OtherDerived >
EIGEN_STRONG_INLINE
ExpressionType & 
operator-= (const StorageBase< OtherDerived > &other)
template<typename ProductDerived , typename Lhs , typename Rhs >
EIGEN_STRONG_INLINE
ExpressionType & 
operator-= (const ProductBase< ProductDerived, Lhs, Rhs > &other)
template<typename Lhs , typename Rhs , int NestingFlags>
EIGEN_STRONG_INLINE
ExpressionType & 
operator-= (const CoeffBasedProduct< Lhs, Rhs, NestingFlags > &other)
template<typename OtherDerived >
EIGEN_STRONG_INLINE
ExpressionType & 
operator= (const StorageBase< OtherDerived > &other)

Protected Attributes

ExpressionType & m_expression

Private Types

typedef ExpressionType::Scalar Scalar

Detailed Description

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

Pseudo expression providing an operator = assuming no aliasing.

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()

Definition at line 44 of file NoAlias.h.


Member Typedef Documentation

template<typename ExpressionType, template< typename > class StorageBase>
typedef ExpressionType::Scalar NoAlias< ExpressionType, StorageBase >::Scalar [private]

Definition at line 46 of file NoAlias.h.


Constructor & Destructor Documentation

template<typename ExpressionType, template< typename > class StorageBase>
NoAlias< ExpressionType, StorageBase >::NoAlias ( ExpressionType &  expression) [inline]

Definition at line 48 of file NoAlias.h.


Member Function Documentation

template<typename ExpressionType, template< typename > class StorageBase>
template<typename OtherDerived >
EIGEN_STRONG_INLINE ExpressionType& NoAlias< ExpressionType, StorageBase >::operator+= ( const StorageBase< OtherDerived > &  other) [inline]
See also:
MatrixBase::operator+=

Definition at line 58 of file NoAlias.h.

template<typename ExpressionType, template< typename > class StorageBase>
template<typename ProductDerived , typename Lhs , typename Rhs >
EIGEN_STRONG_INLINE ExpressionType& NoAlias< ExpressionType, StorageBase >::operator+= ( const ProductBase< ProductDerived, Lhs, Rhs > &  other) [inline]

Definition at line 82 of file NoAlias.h.

template<typename ExpressionType, template< typename > class StorageBase>
template<typename Lhs , typename Rhs , int NestingFlags>
EIGEN_STRONG_INLINE ExpressionType& NoAlias< ExpressionType, StorageBase >::operator+= ( const CoeffBasedProduct< Lhs, Rhs, NestingFlags > &  other) [inline]

Definition at line 90 of file NoAlias.h.

template<typename ExpressionType, template< typename > class StorageBase>
template<typename OtherDerived >
EIGEN_STRONG_INLINE ExpressionType& NoAlias< ExpressionType, StorageBase >::operator-= ( const StorageBase< OtherDerived > &  other) [inline]
See also:
MatrixBase::operator-=

Definition at line 70 of file NoAlias.h.

template<typename ExpressionType, template< typename > class StorageBase>
template<typename ProductDerived , typename Lhs , typename Rhs >
EIGEN_STRONG_INLINE ExpressionType& NoAlias< ExpressionType, StorageBase >::operator-= ( const ProductBase< ProductDerived, Lhs, Rhs > &  other) [inline]

Definition at line 86 of file NoAlias.h.

template<typename ExpressionType, template< typename > class StorageBase>
template<typename Lhs , typename Rhs , int NestingFlags>
EIGEN_STRONG_INLINE ExpressionType& NoAlias< ExpressionType, StorageBase >::operator-= ( const CoeffBasedProduct< Lhs, Rhs, NestingFlags > &  other) [inline]

Definition at line 94 of file NoAlias.h.

template<typename ExpressionType, template< typename > class StorageBase>
template<typename OtherDerived >
EIGEN_STRONG_INLINE ExpressionType& NoAlias< ExpressionType, StorageBase >::operator= ( const StorageBase< OtherDerived > &  other) [inline]

Behaves like MatrixBase::lazyAssign(other)

See also:
MatrixBase::lazyAssign()

Definition at line 53 of file NoAlias.h.


Member Data Documentation

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

Definition at line 99 of file NoAlias.h.


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


re_vision
Author(s): Dorian Galvez-Lopez
autogenerated on Sun Jan 5 2014 11:34:15