std::vector< QtData * > QtDataList
list of QtData pointers
Definition: qtnode.hh:77
Definition: qtnode.hh:463
virtual void printTree(int tab, std::ostream &s=std::cout, QtChildType mode=QT_ALL_NODES)
prints the tree
QtChildType
Definition: qtnode.hh:186
virtual const QtTypeElement & checkInducedType(QtTypeTuple *typeTuple=NULL)
type checking for the induced method
QtNodeType
Definition: qtnode.hh:93
QtData * inducedEvaluate(QtDataList *inputList)
method for evaluating the node
Definition: qtnode.hh:394
Definition: qtnaryoperation.hh:52
QtData * evaluate(QtDataList *inputList)
method for evaluating the node
const BaseType * getResultType(const BaseType *op1, const BaseType *op2)
type coercion: given 2 types, computes the resulting type
virtual const QtNodeType getNodeType() const
method for identification of nodes
void getCaseOperands(QtDataList *operandList, QtDataList *conditionList, QtDataList *resultList, QtData *&defaultResult)
breaks down the operand list into conditions and results
Definition: relcatalogif/basetype.hh:66
Definition: qtcaseop.hh:49
virtual void printAlgebraicExpression(std::ostream &s=std::cout)
prints the algebraic expression
virtual const QtTypeElement & checkType(QtTypeTuple *typeTuple=NULL)
type checking of the subtree
std::vector< QtOperation * > QtOperationList
list of QtOperation pointers
Definition: qtnode.hh:194
int isSignedType(const BaseType *type)
indicates if a type is signed or not
Definition: qtnode.hh:190
QtCaseOp(QtOperationList *opList)
constructor getting the operand list and a boolean