aimstil  5.0.5
TExprOperators.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 til
 Belongs to package Box Do not include directly, include til/Box.h instead.
 
 til::expr
 namespace for template expressions.
 

Macros

#define TIL_DEFINITION_UNARY_OPERATOR_EXPRS(opName, functor)
 
#define TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE_LEFT(opName, functor)
 
#define TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE_RIGHT(opName, functor)
 
#define TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE(opName, functor)
 
#define TIL_DEFINITION_BINARY_OPERATOR_EXPRS(opName, functor)
 

Functions

 til::expr::TIL_DEFINITION_UNARY_OPERATOR_EXPRS (operator-, functor::Negate)
 
 til::expr::TIL_DEFINITION_UNARY_OPERATOR_EXPRS (abs, functor::Abs)
 
 til::expr::TIL_DEFINITION_UNARY_OPERATOR_EXPRS (operator*, functor::Deref)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE (operator+, functor::Plus)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE (operator-, functor::Minus)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE (operator*, functor::Multiplies)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE (operator/, functor::Divides)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE (operator<, functor::Less)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE (operator<=, functor::Less_Equal)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE (operator==, functor::Equal_To)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE (operator!=, functor::Not_Equal_To)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPRS (operator+, functor::Plus)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPRS (operator-, functor::Minus)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPRS (operator*, functor::Multiplies)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPRS (operator/, functor::Divides)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPRS (operator<, functor::Less)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPRS (operator<=, functor::Less_Equal)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPRS (operator==, functor::Equal_To)
 
 til::expr::TIL_DEFINITION_BINARY_OPERATOR_EXPRS (operator!=, functor::Not_Equal_To)
 
template<typename Expr1 , typename Expr2 >
TExpr< TExprCouple< Expr1, Expr2 > > til::expr::operator, (const TExpr< Expr1 > &e1, const TExpr< Expr2 > &e2)
 Sequential evaluation of two template expressions. More...
 

Macro Definition Documentation

◆ TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE

#define TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE (   opName,
  functor 
)
Value:
TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE_RIGHT(opName, functor)
#define TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE_LEFT(opName, functor)

Definition at line 58 of file TExprOperators.h.

◆ TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE_LEFT

#define TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE_LEFT (   opName,
  functor 
)
Value:
template < typename Expr, typename T > \
inline \
TExpr< TExprBinaryOperator< Expr, TExprConstant<T>, functor > > \
opName ( const TExpr<Expr> & e, const T & value ) \
{ \
typedef TExprBinaryOperator<Expr, TExprConstant<T>, functor > TExprRet; \
return TExpr<TExprRet>(TExprRet(e.getExpr(), TExprConstant<T>(value), functor())); \
}

Definition at line 38 of file TExprOperators.h.

◆ TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE_RIGHT

#define TIL_DEFINITION_BINARY_OPERATOR_EXPR_VALUE_RIGHT (   opName,
  functor 
)
Value:
template < typename Expr, typename T > \
inline \
TExpr< TExprBinaryOperator< TExprConstant<T>, Expr, functor > > \
opName ( const T & value, const TExpr<Expr> & e ) \
{ \
typedef TExprBinaryOperator<TExprConstant<T>, Expr, functor > TExprRet; \
return TExpr<TExprRet>(TExprRet(TExprConstant<T>(value), e.getExpr(), functor())); \
}

Definition at line 48 of file TExprOperators.h.

◆ TIL_DEFINITION_BINARY_OPERATOR_EXPRS

#define TIL_DEFINITION_BINARY_OPERATOR_EXPRS (   opName,
  functor 
)
Value:
template < typename Expr1, typename Expr2 > \
inline \
TExpr< TExprBinaryOperator< Expr1, Expr2, functor > > \
opName ( const TExpr<Expr1> &e1, const TExpr<Expr2> &e2) \
{ \
typedef TExprBinaryOperator<Expr1, Expr2, functor > TExprRet; \
return TExpr<TExprRet>(TExprRet(e1.getExpr(), e2.getExpr(), functor())); \
}

Definition at line 90 of file TExprOperators.h.

◆ TIL_DEFINITION_UNARY_OPERATOR_EXPRS

#define TIL_DEFINITION_UNARY_OPERATOR_EXPRS (   opName,
  functor 
)
Value:
template < typename Expr > \
inline \
TExpr< TExprUnaryOperator< Expr, functor > > \
opName ( const TExpr<Expr> &e) \
{ \
typedef TExprUnaryOperator< Expr, functor > TExprRet; \
return TExpr<TExprRet>(TExprRet(e.getExpr(), functor ())); \
} \

Definition at line 16 of file TExprOperators.h.