1 #ifndef TIL_TEXPR_FUNCTIONS_H 2 #define TIL_TEXPR_FUNCTIONS_H 8 namespace til {
namespace expr {
14 template <
typename ExprIf,
typename ExprThen >
22 TExpr<TExprIfThen<ExprIf, ExprThen> >
34 template <
typename ExprIf,
typename ExprThen,
typename ExprElse >
48 template <
typename Expr >
71 template <
typename T >
78 template <
typename TFunctor >
79 typename boost::enable_if<
80 is_detemplated_functor<TFunctor>,
88 template <
typename TFunctor >
89 typename boost::disable_if<
90 is_detemplated_functor<TFunctor>,
130 template <
typename TTo,
typename Expr >
140 template <
typename Expr1,
typename Expr2 >
Apply a binary numerical functor to two template expressions.
boost::enable_if< is_detemplated_functor< TFunctor >, expr::TExprFunctorHelper< TFunctor > >::type func(TFunctor &f)
If/then block using template expressions.
DetemplateOperator2< til::functor::CastTo > CastTo
TExpr< TExprIfThen< ExprIf, ExprThen > > if_then(const TExpr< ExprIf > &eIf, const TExpr< ExprThen > &eThen)
if/then block for expressions
DetemplateOperator1< til::functor::Sqrt > Sqrt
Belongs to package Box Do not include directly, include til/Box.h instead.
TExpr< TExprBinaryOperator< Expr1, Expr2, functor::CastTo > > castTo(TExpr< Expr1 > e1, TExpr< Expr2 > e2)
If/then block using template expressions.
A wrapper class of a template expression.
A template expression class for left-values.
TExpr< TExprIfThenElse< ExprIf, ExprThen, ExprElse > > if_then_else(const TExpr< ExprIf > &eIf, const TExpr< ExprThen > &eThen, const TExpr< ExprElse > &eElse)
If/then/else structure for template expressions.
Apply a unary numerical functor to a template expression.
TExpr< TExprLValue< T > > var(T &lvalue)
Insert a left value in a template expression.
TExpr< TExprUnaryOperator< Expr, functor::Cast< TTo > > > cast(const TExpr< Expr > &e)
static type casting.
TExpr< TExprUnaryOperator< Expr, functor::Sqrt > > sqrt(const TExpr< Expr > &e)
Square root.
const Expr & getExpr() const