|
Classes |
class | ConstantExpression< T > |
class | ConstantExpression< EString > |
class | FieldExpression< T > |
class | FieldExpression< EString > |
Defines |
#define | OP(N, Name, Out, Expr) |
#define | A (_args[0]->template eval<T>(ctxt)) |
#define | B (_args[1]->template eval<T>(ctxt)) |
#define | C (_args[2]->template eval<T>(ctxt)) |
#define | A_as(type) (_args[0]->template eval<type>(ctxt)) |
Functions |
vector< ptr< Expression > > | makeArgs (ptr< Expression > a=ptr< Expression >(), ptr< Expression > b=ptr< Expression >(), ptr< Expression > c=ptr< Expression >()) |
template<class T> T | exprMod (T a, T b) |
template<> single | exprMod (single a, single b) |
template<> double | exprMod (double a, double b) |
template<class T> T | divide (T a, T b) |
| OP (2, Plus, T, A+B) |
| OP (2, Minus, T, A-B) |
| OP (2, Times, T, A *B) |
| OP (2, Div, T, divide(A, B)) |
| OP (2, Mod, T, exprMod(A, B)) |
| OP (2, Concat, T, A.concat(B, ctxt.getPool())) |
| OP (2, EQ, bool, A==B) |
| OP (2, NE, bool, A!=B) |
| OP (2, LT, bool, A< B) |
| OP (2, GT, bool, A > B) |
| OP (2, LE, bool, A<=B) |
| OP (2, GE, bool, A >=B) |
| OP (2, And, bool, A &&B) |
| OP (2, Or, bool, A||B) |
| OP (1, UMinus, T,-A) |
| OP (1, Not, T,!A) |
| OP (3, IfThenElse, T, A_as(bool)?B:C) |
template<typename Types> ptr< Expression > | arithPromote (ptr< Expression > l, ptr< Expression > r) throw ( ExprException ) |
template<typename Types> ptr< Expression > | relPromote (ptr< Expression > l, ptr< Expression > r) throw ( ExprException ) |