aimstil  5.0.5
til::expr::TExpr< Expr > Class Template Reference

A wrapper class of a template expression. More...

#include <til/TExpr.h>

Public Types

typedef void IsATExpr
 

Public Member Functions

 EXPR_RESULT_TYPE (typename Expr::template TypeStruct< Iterator1 TIL_COMMA Iterator2 TIL_COMMA Iterator3 >::Type)
 
 TExpr ()
 
 TExpr (const Expr &e)
 
const Expr & getExpr () const
 
 EXPRFUNC_1ARG (operator(), return m_e(i1);)
 
 EXPRFUNC_2ARG (operator(), return m_e(i1, i2);)
 
 EXPRFUNC_3ARG (operator(), return m_e(i1, i2, i3);)
 
template<typename Expr2 >
TExpr< TExprBinaryOperator_NoRes< Expr, Expr2, functor::Assign > > operator= (const TExpr< Expr2 > &e2) const
 Assignement to one expression. More...
 
template<typename T >
TExpr< TExprBinaryOperator_NoRes< Expr, TExprConstant< T >, functor::Assign > > operator= (const T &value) const
 Assignement to a constant. More...
 
template<typename Expr2 >
TExpr< TExprBinaryOperator< Expr, Expr2, functor::Call > > operator() (const TExpr< Expr2 > &e2) const
 
 TIL_DEFINE_TEXPR_ARITHMETIC_OPERATOR (operator+=, til::expr::functor::AddTo)
 
 TIL_DEFINE_TEXPR_ARITHMETIC_OPERATOR (operator-=, til::expr::functor::SubTo)
 
 TIL_DEFINE_TEXPR_ARITHMETIC_OPERATOR (operator*=, til::expr::functor::MulTo)
 
 TIL_DEFINE_TEXPR_ARITHMETIC_OPERATOR (operator/=, til::expr::functor::DivTo)
 

Detailed Description

template<class Expr>
class til::expr::TExpr< Expr >

A wrapper class of a template expression.

The reason for this is that we want all template expressions to be variations of the same template class, so that manipulation with operators is made easier, if not just plain possible.

Definition at line 128 of file TExpr.h.

Member Typedef Documentation

◆ IsATExpr

template<class Expr>
typedef void til::expr::TExpr< Expr >::IsATExpr

Definition at line 132 of file TExpr.h.

Constructor & Destructor Documentation

◆ TExpr() [1/2]

template<class Expr>
til::expr::TExpr< Expr >::TExpr ( )
inlineexplicit

Definition at line 138 of file TExpr.h.

◆ TExpr() [2/2]

template<class Expr>
til::expr::TExpr< Expr >::TExpr ( const Expr &  e)
inline

Definition at line 139 of file TExpr.h.

Member Function Documentation

◆ EXPR_RESULT_TYPE()

template<class Expr>
til::expr::TExpr< Expr >::EXPR_RESULT_TYPE ( typename Expr::template TypeStruct< Iterator1 TIL_COMMA Iterator2 TIL_COMMA Iterator3 >::Type  )

◆ EXPRFUNC_1ARG()

template<class Expr>
til::expr::TExpr< Expr >::EXPRFUNC_1ARG ( operator()  ,
return m_e(i1);   
)

◆ EXPRFUNC_2ARG()

template<class Expr>
til::expr::TExpr< Expr >::EXPRFUNC_2ARG ( operator()  ,
return m_e(i1, i2);   
)

◆ EXPRFUNC_3ARG()

template<class Expr>
til::expr::TExpr< Expr >::EXPRFUNC_3ARG ( operator()  ,
return m_e(i1, i2, i3);   
)

◆ getExpr()

◆ operator()()

template<class Expr>
template<typename Expr2 >
TExpr< TExprBinaryOperator<Expr, Expr2, functor::Call> > til::expr::TExpr< Expr >::operator() ( const TExpr< Expr2 > &  e2) const
inline

◆ operator=() [1/2]

template<class Expr>
template<typename Expr2 >
TExpr< TExprBinaryOperator_NoRes < Expr, Expr2, functor::Assign> > til::expr::TExpr< Expr >::operator= ( const TExpr< Expr2 > &  e2) const
inline

Assignement to one expression.

Definition at line 156 of file TExpr.h.

References til::expr::TExpr< Expr >::getExpr().

◆ operator=() [2/2]

template<class Expr>
template<typename T >
TExpr< TExprBinaryOperator_NoRes < Expr, TExprConstant<T>, functor::Assign > > til::expr::TExpr< Expr >::operator= ( const T &  value) const
inline

Assignement to a constant.

Definition at line 165 of file TExpr.h.

◆ TIL_DEFINE_TEXPR_ARITHMETIC_OPERATOR() [1/4]

template<class Expr>
til::expr::TExpr< Expr >::TIL_DEFINE_TEXPR_ARITHMETIC_OPERATOR ( operator+  ,
til::expr::functor::AddTo   
)

◆ TIL_DEFINE_TEXPR_ARITHMETIC_OPERATOR() [2/4]

template<class Expr>
til::expr::TExpr< Expr >::TIL_DEFINE_TEXPR_ARITHMETIC_OPERATOR ( operator-  ,
til::expr::functor::SubTo   
)

◆ TIL_DEFINE_TEXPR_ARITHMETIC_OPERATOR() [3/4]

template<class Expr>
til::expr::TExpr< Expr >::TIL_DEFINE_TEXPR_ARITHMETIC_OPERATOR ( operator*  ,
til::expr::functor::MulTo   
)

◆ TIL_DEFINE_TEXPR_ARITHMETIC_OPERATOR() [4/4]

template<class Expr>
til::expr::TExpr< Expr >::TIL_DEFINE_TEXPR_ARITHMETIC_OPERATOR ( operator/  ,
til::expr::functor::DivTo   
)

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