MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
grad::VectorVectorVectorBinaryExpr< ScalarBinFunc, VectorLhsExpr, VectorRhsExpr > Class Template Reference

#include <matvec.h>

Collaboration diagram for grad::VectorVectorVectorBinaryExpr< ScalarBinFunc, VectorLhsExpr, VectorRhsExpr >:

Public Types

typedef ScalarBinFunc::ScalarType ScalarType
 
typedef
ScalarBinFunc::ExpressionType 
ExpressionType
 

Public Member Functions

 VectorVectorVectorBinaryExpr (const VectorLhsExpr &u, const VectorRhsExpr &v)
 
ExpressionType operator() (index_type i) const
 
index_type iGetNumRows () const
 
template<typename ScalarType2 >
bool bHaveReferenceTo (const ScalarType2 *pFirst, const ScalarType2 *pLast) const
 

Static Public Attributes

static const bool bAlias = VectorLhsExpr::bAlias || VectorRhsExpr::bAlias
 
static const index_type iNumRows = VectorLhsExpr::iNumRows
 

Private Attributes

const VectorLhsExpr oU
 
const VectorRhsExpr oV
 

Detailed Description

template<typename ScalarBinFunc, typename VectorLhsExpr, typename VectorRhsExpr>
class grad::VectorVectorVectorBinaryExpr< ScalarBinFunc, VectorLhsExpr, VectorRhsExpr >

This class handles binary expressions of the form f(vector1, vector2) = vector3

Definition at line 691 of file matvec.h.

Member Typedef Documentation

template<typename ScalarBinFunc , typename VectorLhsExpr , typename VectorRhsExpr >
typedef ScalarBinFunc::ExpressionType grad::VectorVectorVectorBinaryExpr< ScalarBinFunc, VectorLhsExpr, VectorRhsExpr >::ExpressionType

Definition at line 696 of file matvec.h.

template<typename ScalarBinFunc , typename VectorLhsExpr , typename VectorRhsExpr >
typedef ScalarBinFunc::ScalarType grad::VectorVectorVectorBinaryExpr< ScalarBinFunc, VectorLhsExpr, VectorRhsExpr >::ScalarType

Definition at line 695 of file matvec.h.

Constructor & Destructor Documentation

template<typename ScalarBinFunc , typename VectorLhsExpr , typename VectorRhsExpr >
grad::VectorVectorVectorBinaryExpr< ScalarBinFunc, VectorLhsExpr, VectorRhsExpr >::VectorVectorVectorBinaryExpr ( const VectorLhsExpr &  u,
const VectorRhsExpr &  v 
)
inline

Definition at line 698 of file matvec.h.

699  :oU(u), oV(v) {
700 
701  }
const VectorRhsExpr oV
Definition: matvec.h:722
const VectorLhsExpr oU
Definition: matvec.h:721

Member Function Documentation

template<typename ScalarBinFunc , typename VectorLhsExpr , typename VectorRhsExpr >
template<typename ScalarType2 >
bool grad::VectorVectorVectorBinaryExpr< ScalarBinFunc, VectorLhsExpr, VectorRhsExpr >::bHaveReferenceTo ( const ScalarType2 *  pFirst,
const ScalarType2 *  pLast 
) const
inline

Definition at line 716 of file matvec.h.

References grad::VectorVectorVectorBinaryExpr< ScalarBinFunc, VectorLhsExpr, VectorRhsExpr >::oU, and grad::VectorVectorVectorBinaryExpr< ScalarBinFunc, VectorLhsExpr, VectorRhsExpr >::oV.

716  {
717  return oU.bHaveReferenceTo(pFirst, pLast) || oV.bHaveReferenceTo(pFirst, pLast);
718  }
const VectorRhsExpr oV
Definition: matvec.h:722
const VectorLhsExpr oU
Definition: matvec.h:721
template<typename ScalarBinFunc , typename VectorLhsExpr , typename VectorRhsExpr >
index_type grad::VectorVectorVectorBinaryExpr< ScalarBinFunc, VectorLhsExpr, VectorRhsExpr >::iGetNumRows ( void  ) const
inline
template<typename ScalarBinFunc , typename VectorLhsExpr , typename VectorRhsExpr >
ExpressionType grad::VectorVectorVectorBinaryExpr< ScalarBinFunc, VectorLhsExpr, VectorRhsExpr >::operator() ( index_type  i) const
inline

Member Data Documentation

template<typename ScalarBinFunc , typename VectorLhsExpr , typename VectorRhsExpr >
const bool grad::VectorVectorVectorBinaryExpr< ScalarBinFunc, VectorLhsExpr, VectorRhsExpr >::bAlias = VectorLhsExpr::bAlias || VectorRhsExpr::bAlias
static

Definition at line 693 of file matvec.h.

template<typename ScalarBinFunc , typename VectorLhsExpr , typename VectorRhsExpr >
const index_type grad::VectorVectorVectorBinaryExpr< ScalarBinFunc, VectorLhsExpr, VectorRhsExpr >::iNumRows = VectorLhsExpr::iNumRows
static

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