1 #ifndef _QTBINARYOPERATION_
2 #define _QTBINARYOPERATION_
5 #include <ospace/string.h>
143 #include "qlparser/qtbinaryoperation.icc"
std::list< QtNode * > QtNodeList
list of QtNode pointers
Definition: qtnode.hh:91
QtBinaryOperation()
default constructor
std::vector< QtData * > QtDataList
list of QtData pointers
Definition: qtnode.hh:77
std::vector< QtTrimElement * > QtTrimList
list of QtTrimData structures
Definition: qtnode.hh:88
virtual std::string getSpelling()
creates a unique name for a subexpression
QtAreaType
Definition: qtnode.hh:180
virtual void simplify()
simplifies the tree
virtual void printTree(int tab, std::ostream &s=std::cout, QtChildType mode=QT_ALL_NODES)
debugging method
virtual void setInput(QtOperation *inputOld, QtOperation *inputNew)
method for query rewrite
QtChildType
Definition: qtnode.hh:186
QtOperation * input2
second operation operand
Definition: qtbinaryoperation.hh:140
virtual bool isCommutative() const
returns commutativity information (by default, an operation IS commutative)
virtual QtAreaType getAreaType()
test if the edge to the parent node is of type mdd or atomic
Definition: qtbinaryoperation.hh:52
void setInput2(QtOperation *input)
void setInput1(QtOperation *input)
QtOperation * getInput1()
bool getOperand(QtDataList *inputList, QtData *&operand1, int number)
method for testing and evaluating the input branches
QtOperation * input1
first operation operand
Definition: qtbinaryoperation.hh:138
virtual QtNodeList * getChilds(QtChildType flag)
return childs of the node
Definition: qtoperation.hh:57
QtOperation * getInput2()
bool getOperands(QtDataList *inputList, QtData *&operand1, QtData *&operand2)
method for testing and evaluating the input branches
virtual ~QtBinaryOperation()
virtual destructor
Definition: qtnode.hh:190
virtual bool equalMeaning(QtNode *node)
test if the two nodes have an equal meaning in the query tree
virtual void optimizeLoad(QtTrimList *trimList)
optimizing load access