5 #include <ospace/string.h>
57 const std::string& initIteratorName,
118 std::string iteratorName;
124 Ops::OpType operation;
128 #include "qlparser/qtcondenseop.icc"
Definition: qtcondenseop.hh:52
std::list< QtNode * > QtNodeList
list of QtNode pointers
Definition: qtnode.hh:91
virtual const QtTypeElement & checkType(QtTypeTuple *typeTuple=NULL)
type checking of the subtree
std::vector< QtData * > QtDataList
list of QtData pointers
Definition: qtnode.hh:77
std::vector< QtTrimElement * > QtTrimList
list of QtTrimData structures
Definition: qtnode.hh:88
Definition: qtnode.hh:463
QtCondenseOp(Ops::OpType newOperation, const std::string &initIteratorName, QtOperation *mintervalExp, QtOperation *cellExp, QtOperation *condExp=NULL)
constructor getting iterator, minterval exp, cell exp, and cell condition exp (optional) ...
QtOperation * getCondOp()
virtual void printTree(int tab, std::ostream &s=std::cout, QtChildType mode=QT_ALL_NODES)
prints the tree
QtChildType
Definition: qtnode.hh:186
~QtCondenseOp()
virtual destructor
QtNodeType
Definition: qtnode.hh:93
Definition: qtnode.hh:394
virtual std::string getSpelling()
creates a unique name for a common subexpression
virtual void printAlgebraicExpression(std::ostream &s=std::cout)
prints the algebraic expression
virtual QtNodeList * getChilds(QtChildType flag)
return childs of the node
virtual void simplify()
simplifies the tree
virtual bool isCommutative() const
returns FALSE saying that the operation IS NOT commutative
Definition: qtbinaryoperation.hh:52
virtual const QtNodeType getNodeType() const
method for identification of nodes
virtual void setInput(QtOperation *inputOld, QtOperation *inputNew)
method for query rewrite
Definition: qtoperation.hh:57
virtual bool equalMeaning(QtNode *node)
test if the two nodes have an equal meaning in a subtree
QtData * evaluate(QtDataList *inputList)
method for evaluating the node
void optimizeLoad(QtTrimList *trimList)
optimizing load access
Definition: qtnode.hh:190