Public Types | Public Member Functions | Protected Attributes

CwiseBinaryOp< BinaryOp, Lhs, Rhs > Class Template Reference

Generic expression where a coefficient-wise binary operator is applied to two expressions. More...

#include <CwiseBinaryOp.h>

Inheritance diagram for CwiseBinaryOp< BinaryOp, Lhs, Rhs >:
internal::no_assignment_operator

List of all members.

Public Types

typedef CwiseBinaryOpImpl
< BinaryOp, Lhs, Rhs, typename
internal::promote_storage_type
< typename internal::traits
< Lhs >::StorageKind, typename
internal::traits< Rhs >
::StorageKind >::ret >::Base 
Base
typedef internal::nested< Lhs >
::type 
LhsNested
typedef internal::nested< Rhs >
::type 
RhsNested
typedef
internal::remove_reference
< LhsNested >::type 
_LhsNested
typedef
internal::remove_reference
< RhsNested >::type 
_RhsNested

Public Member Functions

EIGEN_STRONG_INLINE CwiseBinaryOp (const Lhs &lhs, const Rhs &rhs, const BinaryOp &func=BinaryOp())
EIGEN_STRONG_INLINE Index rows () const
EIGEN_STRONG_INLINE Index cols () const
const _LhsNestedlhs () const
const _RhsNestedrhs () const
const BinaryOp & functor () const

Protected Attributes

const LhsNested m_lhs
const RhsNested m_rhs
const BinaryOp m_functor

Detailed Description

template<typename BinaryOp, typename Lhs, typename Rhs>
class CwiseBinaryOp< BinaryOp, Lhs, Rhs >

Generic expression where a coefficient-wise binary operator is applied to two expressions.

Parameters:
BinaryOp template functor implementing the operator
Lhs the type of the left-hand side
Rhs the type of the right-hand side

This class represents an expression where a coefficient-wise binary operator is applied to two expressions. It is the return type of binary operators, by which we mean only those binary operators where both the left-hand side and the right-hand side are Eigen expressions. For example, the return type of matrix1+matrix2 is a CwiseBinaryOp.

Most of the time, this is the only way that it is used, so you typically don't have to name CwiseBinaryOp types explicitly.

See also:
MatrixBase::binaryExpr(const MatrixBase<OtherDerived> &,const CustomBinaryOp &) const, class CwiseUnaryOp, class CwiseNullaryOp

Member Typedef Documentation

template<typename BinaryOp, typename Lhs, typename Rhs>
typedef internal::remove_reference<LhsNested>::type CwiseBinaryOp< BinaryOp, Lhs, Rhs >::_LhsNested
template<typename BinaryOp, typename Lhs, typename Rhs>
typedef internal::remove_reference<RhsNested>::type CwiseBinaryOp< BinaryOp, Lhs, Rhs >::_RhsNested
template<typename BinaryOp, typename Lhs, typename Rhs>
typedef CwiseBinaryOpImpl< BinaryOp, Lhs, Rhs, typename internal::promote_storage_type<typename internal::traits<Lhs>::StorageKind, typename internal::traits<Rhs>::StorageKind>::ret>::Base CwiseBinaryOp< BinaryOp, Lhs, Rhs >::Base
template<typename BinaryOp, typename Lhs, typename Rhs>
typedef internal::nested<Lhs>::type CwiseBinaryOp< BinaryOp, Lhs, Rhs >::LhsNested
template<typename BinaryOp, typename Lhs, typename Rhs>
typedef internal::nested<Rhs>::type CwiseBinaryOp< BinaryOp, Lhs, Rhs >::RhsNested

Constructor & Destructor Documentation

template<typename BinaryOp, typename Lhs, typename Rhs>
EIGEN_STRONG_INLINE CwiseBinaryOp< BinaryOp, Lhs, Rhs >::CwiseBinaryOp ( const Lhs &  lhs,
const Rhs &  rhs,
const BinaryOp &  func = BinaryOp() 
) [inline]

Member Function Documentation

template<typename BinaryOp, typename Lhs, typename Rhs>
EIGEN_STRONG_INLINE Index CwiseBinaryOp< BinaryOp, Lhs, Rhs >::cols (  )  const [inline]
template<typename BinaryOp, typename Lhs, typename Rhs>
const BinaryOp& CwiseBinaryOp< BinaryOp, Lhs, Rhs >::functor (  )  const [inline]
Returns:
the functor representing the binary operation
template<typename BinaryOp, typename Lhs, typename Rhs>
const _LhsNested& CwiseBinaryOp< BinaryOp, Lhs, Rhs >::lhs (  )  const [inline]
Returns:
the left hand side nested expression
template<typename BinaryOp, typename Lhs, typename Rhs>
const _RhsNested& CwiseBinaryOp< BinaryOp, Lhs, Rhs >::rhs (  )  const [inline]
Returns:
the right hand side nested expression
template<typename BinaryOp, typename Lhs, typename Rhs>
EIGEN_STRONG_INLINE Index CwiseBinaryOp< BinaryOp, Lhs, Rhs >::rows (  )  const [inline]

Member Data Documentation

template<typename BinaryOp, typename Lhs, typename Rhs>
const BinaryOp CwiseBinaryOp< BinaryOp, Lhs, Rhs >::m_functor [protected]
template<typename BinaryOp, typename Lhs, typename Rhs>
const LhsNested CwiseBinaryOp< BinaryOp, Lhs, Rhs >::m_lhs [protected]
template<typename BinaryOp, typename Lhs, typename Rhs>
const RhsNested CwiseBinaryOp< BinaryOp, Lhs, Rhs >::m_rhs [protected]

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