rasdaman complete source
|
#include <qtnaryoperation.hh>
Public Member Functions | |
QtNaryOperation () | |
default constructor More... | |
QtNaryOperation (QtNode *node) | |
constructor getting the node to the parent More... | |
QtNaryOperation (QtOperationList *opList) | |
constructor getting a list of operands More... | |
virtual | ~QtNaryOperation () |
virtual destructor More... | |
virtual void | simplify () |
simplifies the tree More... | |
virtual bool | equalMeaning (QtNode *node) |
test if the two nodes have an equal meaning in the query tree More... | |
virtual QtNodeList * | getChilds (QtChildType flag) |
return childs of the node More... | |
virtual std::string | getSpelling () |
creates a unique name for a subexpression More... | |
virtual void | setInput (QtOperation *, QtOperation *inputNew) |
method for query rewrite More... | |
virtual QtAreaType | getAreaType () |
tests if the edge to the parent node is of type mdd or atomic More... | |
virtual void | optimizeLoad (QtTrimList *trimList) |
optimizing load access More... | |
virtual void | printTree (int tab, std::ostream &s=std::cout, QtChildType mode=QT_ALL_NODES) |
debugging method More... | |
virtual void | printAlgebraicExpression (std::ostream &s=std::cout) |
prints the algebraic expression More... | |
void | setInputs (QtOperationList *opList) |
QtNode::QtOperationList * | getInputs () |
![]() | |
QtOperation () | |
default constructor More... | |
QtOperation (QtNode *parent) | |
constructor getting a pointer to the parent More... | |
virtual QtOperation * | getUniqueOrder (const QtNode::QtNodeType ID) |
for associative law More... | |
virtual QtData * | evaluate (QtDataList *inputList) |
method for evaluating the node More... | |
virtual const QtTypeElement & | checkType (QtTypeTuple *typeTuple=NULL) |
type checking of the subtree More... | |
void | printTree (int tab, std::ostream &s, QtChildType mode=QT_ALL_NODES) |
prints the tree More... | |
void | printAlgebraicExpression (std::ostream &s) |
prints the algebraic expression More... | |
void | setDataStreamType (const QtTypeElement &type) |
const QtTypeElement & | getDataStreamType () const |
![]() | |
QtNode () | |
default constructor More... | |
QtNode (QtNode *node) | |
constructor getting a pointer to the parent More... | |
virtual | ~QtNode () |
destructor More... | |
bool | subtype (enum QtNodeType a, enum QtNodeType b) |
returns weather class b is a subtype of class a More... | |
QtNodeList * | getChild (const QtNodeType node, QtChildType flag=QT_DIRECT_CHILDS) |
return childs of a certain class More... | |
virtual const QtNodeType | getNodeType () const |
methods for identification of nodes More... | |
enum QtNodeType | getQtNodeTypeParent (enum QtNodeType) |
method for pre optimizations (basically load optimization) More... | |
QtNode * | getParent () const |
void | setParent (QtNode *node) |
const ParseInfo & | getParseInfo () |
void | setParseInfo (const ParseInfo &info) |
Protected Member Functions | |
bool | getOperands (QtDataList *inputList, QtDataList *&operandList) |
method for testing and evaluating the input branches More... | |
![]() | |
void | startTimer (const char *name) |
start node timer (called at evaluation time) More... | |
void | stopTimer () |
stop timer (at end of evaluation) More... | |
void | pauseTimer () |
pause More... | |
void | resumeTimer () |
resume More... | |
std::string | getEvaluationTime () |
get elapsed time if timer was started, returns a string e.g. "15 usecs" More... | |
Protected Attributes | |
QtOperationList * | operationList |
operation trees More... | |
![]() | |
QtTypeElement | dataStreamType |
result type of the node More... | |
![]() | |
ParseInfo | parseInfo |
attribute for parser info More... | |
QtNaryOperation::QtNaryOperation | ( | ) |
default constructor
QtNaryOperation::QtNaryOperation | ( | QtNode * | node | ) |
constructor getting the node to the parent
QtNaryOperation::QtNaryOperation | ( | QtOperationList * | opList | ) |
constructor getting a list of operands
|
virtual |
virtual destructor
|
virtual |
|
virtual |
|
virtual |
return childs of the node
The meaning of a binary operation is equal, iff all operands have the same meaning.
Reimplemented from QtNode.
|
inline |
|
protected |
method for testing and evaluating the input branches
|
virtual |
|
virtual |
optimizing load access
Reimplemented from QtOperation.
|
virtual |
prints the algebraic expression
Implements QtNode.
Reimplemented in QtCaseOp, QtMintervalOp, QtPointOp, and QtConcat.
|
virtual |
debugging method
The method deletes the given { trimList} and passes the { optimizeLoad} message with empty triming lists to its input trees.
Implements QtNode.
Reimplemented in QtCaseOp, QtMintervalOp, QtPointOp, and QtConcat.
|
virtual |
method for query rewrite
Reimplemented from QtNode.
|
inline |
|
virtual |
|
protected |
operation trees
The method checks if the input branches are valid. Then it passes the evaluate message to its two operands with the { inputList} as argument. The returned results are provided through the arguments { operand1} and { operand2} called by reference. The method returns { true} if the operands are valid, otherwise { false}.