Main MRPT website > C++ reference
MRPT logo
Public Types | Public Member Functions | Protected Attributes

ProductBase< Derived, Lhs, Rhs > Class Template Reference


Detailed Description

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

Definition at line 76 of file ProductBase.h.

#include <src/Core/ProductBase.h>

Inheritance diagram for ProductBase< Derived, Lhs, Rhs >:
Inheritance graph
[legend]

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 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 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
< FullyLazyCoeffBaseProductType, 0 > 
diagonal () const
 This is the const version of diagonal().
template<int Index>
const Diagonal
< FullyLazyCoeffBaseProductType,
Index
diagonal () const
 This is the const version of diagonal().
const Diagonal
< FullyLazyCoeffBaseProductType,
Dynamic
diagonal (Index index) const
 This is the const version of diagonal(Index).
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

Member Typedef Documentation

template<typename Derived, typename Lhs, typename Rhs>
typedef internal::remove_all<ActualLhsType>::type ProductBase< Derived, Lhs, Rhs >::_ActualLhsType

Definition at line 86 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef internal::remove_all<ActualRhsType>::type ProductBase< Derived, Lhs, Rhs >::_ActualRhsType

Definition at line 92 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef internal::remove_all<LhsNested>::type ProductBase< Derived, Lhs, Rhs >::_LhsNested

Definition at line 83 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef internal::remove_all<RhsNested>::type ProductBase< Derived, Lhs, Rhs >::_RhsNested

Definition at line 89 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef LhsBlasTraits::DirectLinearAccessType ProductBase< Derived, Lhs, Rhs >::ActualLhsType

Definition at line 85 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef RhsBlasTraits::DirectLinearAccessType ProductBase< Derived, Lhs, Rhs >::ActualRhsType

Definition at line 91 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef MatrixBase<Derived> ProductBase< Derived, Lhs, Rhs >::Base

Reimplemented from DenseBase< Derived >.

Reimplemented in ScaledProduct< NestedProduct >.

Definition at line 79 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef CoeffBasedProduct<LhsNested, RhsNested, 0> ProductBase< Derived, Lhs, Rhs >::FullyLazyCoeffBaseProductType

Definition at line 95 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef internal::blas_traits<_LhsNested> ProductBase< Derived, Lhs, Rhs >::LhsBlasTraits

Definition at line 84 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef Lhs::Nested ProductBase< Derived, Lhs, Rhs >::LhsNested

Definition at line 82 of file ProductBase.h.

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 >.

Definition at line 99 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef internal::blas_traits<_RhsNested> ProductBase< Derived, Lhs, Rhs >::RhsBlasTraits

Definition at line 90 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef Rhs::Nested ProductBase< Derived, Lhs, Rhs >::RhsNested

Definition at line 88 of file ProductBase.h.


Constructor & Destructor Documentation

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

Definition at line 101 of file ProductBase.h.


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 >.

Definition at line 116 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
Base::CoeffReturnType ProductBase< Derived, Lhs, Rhs >::coeff ( Index  row,
Index  col 
) const [inline]

Definition at line 146 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
Base::CoeffReturnType ProductBase< Derived, Lhs, Rhs >::coeff ( Index  i  )  const [inline]

Definition at line 153 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
const Scalar& ProductBase< Derived, Lhs, Rhs >::coeffRef ( Index  i  )  const [inline]

Definition at line 167 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
const Scalar& ProductBase< Derived, Lhs, Rhs >::coeffRef ( Index  row,
Index  col 
) const [inline]

Definition at line 160 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
Index ProductBase< Derived, Lhs, Rhs >::cols ( void   )  const [inline]

Definition at line 110 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
const Diagonal<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 >.

Definition at line 135 of file ProductBase.h.

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 >.

Definition at line 139 of file ProductBase.h.

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 >.

Definition at line 142 of file ProductBase.h.

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 >.

Definition at line 113 of file ProductBase.h.

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

Definition at line 124 of file ProductBase.h.

Referenced by TriangularView< _MatrixType, _Mode >::assignProduct().

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

Definition at line 128 of file ProductBase.h.

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

Definition at line 125 of file ProductBase.h.

Referenced by TriangularView< _MatrixType, _Mode >::assignProduct().

template<typename Derived, typename Lhs, typename Rhs>
Index ProductBase< Derived, Lhs, Rhs >::rows ( void   )  const [inline]

Definition at line 109 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
template<typename Dest >
void ProductBase< Derived, Lhs, Rhs >::scaleAndAddTo ( Dest &  dst,
Scalar  alpha 
) 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 >.

Definition at line 119 of file ProductBase.h.


Member Data Documentation

template<typename Derived, typename Lhs, typename Rhs>
const LhsNested ProductBase< Derived, Lhs, Rhs >::m_lhs [protected]

Definition at line 176 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
PlainObject ProductBase< Derived, Lhs, Rhs >::m_result [mutable, protected]

Definition at line 179 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
const RhsNested ProductBase< Derived, Lhs, Rhs >::m_rhs [protected]

Definition at line 177 of file ProductBase.h.




Page generated by Doxygen 1.7.1 for MRPT 0.9.4 SVN: at Mon Jan 10 23:33:19 UTC 2011