Public Types | Public Member Functions | Protected Attributes

ProductBase< Derived, Lhs, Rhs > Class Template Reference

#include <ProductBase.h>

Inheritance diagram for ProductBase< Derived, Lhs, Rhs >:
MatrixBase< Derived > DenseBase< Derived > internal::special_scalar_op_base< Derived, internal::traits< Derived >::Scalar, NumTraits< internal::traits< Derived >::Scalar >::Real > DenseCoeffsBase

List of all members.

Public Types

typedef MatrixBase< Derived > Base
typedef Lhs::Nested LhsNested
typedef internal::remove_all
< LhsNested >::type 
_LhsNested
typedef internal::blas_traits
< _LhsNested
LhsBlasTraits
typedef
LhsBlasTraits::DirectLinearAccessType 
ActualLhsType
typedef internal::remove_all
< ActualLhsType >::type 
_ActualLhsType
typedef internal::traits< Lhs >
::Scalar 
LhsScalar
typedef Rhs::Nested RhsNested
typedef internal::remove_all
< RhsNested >::type 
_RhsNested
typedef internal::blas_traits
< _RhsNested
RhsBlasTraits
typedef
RhsBlasTraits::DirectLinearAccessType 
ActualRhsType
typedef internal::remove_all
< ActualRhsType >::type 
_ActualRhsType
typedef internal::traits< Rhs >
::Scalar 
RhsScalar
typedef CoeffBasedProduct
< LhsNested, RhsNested, 0 > 
FullyLazyCoeffBaseProductType
typedef Base::PlainObject PlainObject
 The plain matrix type corresponding to this expression.

Public Member Functions

 ProductBase (const Lhs &lhs, const Rhs &rhs)
Index rows () const
Index cols () const
template<typename Dest >
void evalTo (Dest &dst) const
template<typename Dest >
void addTo (Dest &dst) const
template<typename Dest >
void subTo (Dest &dst) const
template<typename Dest >
void scaleAndAddTo (Dest &dst, Scalar alpha) const
const _LhsNestedlhs () const
const _RhsNestedrhs () const
 operator const PlainObject & () const
const Diagonal< const
FullyLazyCoeffBaseProductType, 0 > 
diagonal () const
template<int Index>
const Diagonal
< FullyLazyCoeffBaseProductType,
Index
diagonal () const
const Diagonal
< FullyLazyCoeffBaseProductType,
Dynamic
diagonal (Index index) const
Base::CoeffReturnType coeff (Index row, Index col) const
Base::CoeffReturnType coeff (Index i) const
const ScalarcoeffRef (Index row, Index col) const
const ScalarcoeffRef (Index i) const

Protected Attributes

const LhsNested m_lhs
const RhsNested m_rhs
PlainObject m_result

template<typename Derived, typename Lhs, typename Rhs>
class ProductBase< Derived, Lhs, Rhs >


Member Typedef Documentation

template<typename Derived, typename Lhs, typename Rhs>
typedef internal::remove_all<ActualLhsType>::type ProductBase< Derived, Lhs, Rhs >::_ActualLhsType
template<typename Derived, typename Lhs, typename Rhs>
typedef internal::remove_all<ActualRhsType>::type ProductBase< Derived, Lhs, Rhs >::_ActualRhsType
template<typename Derived, typename Lhs, typename Rhs>
typedef internal::remove_all<LhsNested>::type ProductBase< Derived, Lhs, Rhs >::_LhsNested
template<typename Derived, typename Lhs, typename Rhs>
typedef internal::remove_all<RhsNested>::type ProductBase< Derived, Lhs, Rhs >::_RhsNested
template<typename Derived, typename Lhs, typename Rhs>
typedef LhsBlasTraits::DirectLinearAccessType ProductBase< Derived, Lhs, Rhs >::ActualLhsType
template<typename Derived, typename Lhs, typename Rhs>
typedef RhsBlasTraits::DirectLinearAccessType ProductBase< Derived, Lhs, Rhs >::ActualRhsType
template<typename Derived, typename Lhs, typename Rhs>
typedef MatrixBase<Derived> ProductBase< Derived, Lhs, Rhs >::Base

Reimplemented from MatrixBase< Derived >.

Reimplemented in ScaledProduct< NestedProduct >.

template<typename Derived, typename Lhs, typename Rhs>
typedef CoeffBasedProduct<LhsNested, RhsNested, 0> ProductBase< Derived, Lhs, Rhs >::FullyLazyCoeffBaseProductType
template<typename Derived, typename Lhs, typename Rhs>
typedef internal::blas_traits<_LhsNested> ProductBase< Derived, Lhs, Rhs >::LhsBlasTraits
template<typename Derived, typename Lhs, typename Rhs>
typedef Lhs::Nested ProductBase< Derived, Lhs, Rhs >::LhsNested
template<typename Derived, typename Lhs, typename Rhs>
typedef internal::traits<Lhs>::Scalar ProductBase< Derived, Lhs, Rhs >::LhsScalar
template<typename Derived, typename Lhs, typename Rhs>
typedef Base::PlainObject ProductBase< Derived, Lhs, Rhs >::PlainObject

The plain matrix type corresponding to this expression.

This is not necessarily exactly the return type of eval(). In the case of plain matrices, the return type of eval() is a const reference to a matrix, not a matrix! It is however guaranteed that the return type of eval() is either PlainObject or const PlainObject&.

Reimplemented from MatrixBase< Derived >.

Reimplemented in ScaledProduct< NestedProduct >.

template<typename Derived, typename Lhs, typename Rhs>
typedef internal::blas_traits<_RhsNested> ProductBase< Derived, Lhs, Rhs >::RhsBlasTraits
template<typename Derived, typename Lhs, typename Rhs>
typedef Rhs::Nested ProductBase< Derived, Lhs, Rhs >::RhsNested
template<typename Derived, typename Lhs, typename Rhs>
typedef internal::traits<Rhs>::Scalar ProductBase< Derived, Lhs, Rhs >::RhsScalar

Constructor & Destructor Documentation

template<typename Derived, typename Lhs, typename Rhs>
ProductBase< Derived, Lhs, Rhs >::ProductBase ( const Lhs &  lhs,
const Rhs &  rhs 
) [inline]

Member Function Documentation

template<typename Derived, typename Lhs, typename Rhs>
template<typename Dest >
void ProductBase< Derived, Lhs, Rhs >::addTo ( Dest &  dst  )  const [inline]

Reimplemented in ScaledProduct< NestedProduct >.

template<typename Derived, typename Lhs, typename Rhs>
Base::CoeffReturnType ProductBase< Derived, Lhs, Rhs >::coeff ( Index  row,
Index  col 
) const [inline]
template<typename Derived, typename Lhs, typename Rhs>
Base::CoeffReturnType ProductBase< Derived, Lhs, Rhs >::coeff ( Index  i  )  const [inline]
template<typename Derived, typename Lhs, typename Rhs>
const Scalar& ProductBase< Derived, Lhs, Rhs >::coeffRef ( Index  i  )  const [inline]
template<typename Derived, typename Lhs, typename Rhs>
const Scalar& ProductBase< Derived, Lhs, Rhs >::coeffRef ( Index  row,
Index  col 
) const [inline]
template<typename Derived, typename Lhs, typename Rhs>
Index ProductBase< Derived, Lhs, Rhs >::cols ( void   )  const [inline]
template<typename Derived, typename Lhs, typename Rhs>
const Diagonal<const FullyLazyCoeffBaseProductType,0> ProductBase< Derived, Lhs, Rhs >::diagonal (  )  const [inline]

This is the const version of diagonal().

This is the const version of diagonal<int>().

Reimplemented from MatrixBase< Derived >.

template<typename Derived, typename Lhs, typename Rhs>
template<int Index>
const Diagonal<FullyLazyCoeffBaseProductType,Index> ProductBase< Derived, Lhs, Rhs >::diagonal (  )  const [inline]

This is the const version of diagonal().

This is the const version of diagonal<int>().

Reimplemented from MatrixBase< Derived >.

template<typename Derived, typename Lhs, typename Rhs>
const Diagonal<FullyLazyCoeffBaseProductType,Dynamic> ProductBase< Derived, Lhs, Rhs >::diagonal ( Index  index  )  const [inline]

This is the const version of diagonal(Index).

Reimplemented from MatrixBase< Derived >.

template<typename Derived, typename Lhs, typename Rhs>
template<typename Dest >
void ProductBase< Derived, Lhs, Rhs >::evalTo ( Dest &  dst  )  const [inline]

Reimplemented from DenseBase< Derived >.

Reimplemented in ScaledProduct< NestedProduct >.

template<typename Derived, typename Lhs, typename Rhs>
const _LhsNested& ProductBase< Derived, Lhs, Rhs >::lhs (  )  const [inline]
template<typename Derived, typename Lhs, typename Rhs>
ProductBase< Derived, Lhs, Rhs >::operator const PlainObject & (  )  const [inline]
template<typename Derived, typename Lhs, typename Rhs>
const _RhsNested& ProductBase< Derived, Lhs, Rhs >::rhs (  )  const [inline]
template<typename Derived, typename Lhs, typename Rhs>
Index ProductBase< Derived, Lhs, Rhs >::rows ( void   )  const [inline]
template<typename Derived, typename Lhs, typename Rhs>
template<typename Dest >
void ProductBase< Derived, Lhs, Rhs >::subTo ( Dest &  dst  )  const [inline]

Reimplemented in ScaledProduct< NestedProduct >.


Member Data Documentation

template<typename Derived, typename Lhs, typename Rhs>
const LhsNested ProductBase< Derived, Lhs, Rhs >::m_lhs [protected]
template<typename Derived, typename Lhs, typename Rhs>
PlainObject ProductBase< Derived, Lhs, Rhs >::m_result [mutable, protected]
template<typename Derived, typename Lhs, typename Rhs>
const RhsNested ProductBase< Derived, Lhs, Rhs >::m_rhs [protected]

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