rasdaman complete source
Public Member Functions | List of all members
QtConst Class Reference

#include <qtconst.hh>

Inheritance diagram for QtConst:
QtOperation QtNode

Public Member Functions

 QtConst (QtData *newDataObj)
 constructor getting a pointer to the data object More...
 
virtual ~QtConst ()
 virtual destructor More...
 
virtual bool equalMeaning (QtNode *node)
 test if the two nodes have an equal meaning in the query tree More...
 
virtual std::string getSpelling ()
 creates a unique name for a common subexpression More...
 
virtual QtAreaType getAreaType ()
 test if the edge to the parent node is of type mdd or atomic More...
 
virtual void optimizeLoad (QtTrimList *trimList)
 optimizing load access More...
 
QtDataevaluate (QtDataList *inputList)
 method for evaluating the node More...
 
virtual void printTree (int tab, std::ostream &s=std::cout, QtChildType mode=QT_ALL_NODES)
 prints the tree More...
 
virtual void printAlgebraicExpression (std::ostream &s=std::cout)
 prints the algebraic expression More...
 
virtual const QtNodeType getNodeType () const
 method for identification of nodes More...
 
virtual const QtTypeElementcheckType (QtTypeTuple *typeTuple=NULL)
 type checking of the subtree More...
 
QtDataListnext ()
 
QtDatagetDataObj ()
 return the data object More...
 
- Public Member Functions inherited from QtOperation
 QtOperation ()
 default constructor More...
 
 QtOperation (QtNode *parent)
 constructor getting a pointer to the parent More...
 
virtual QtOperationgetUniqueOrder (const QtNode::QtNodeType ID)
 for associative law 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 QtTypeElementgetDataStreamType () const
 
- Public Member Functions inherited from QtNode
 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...
 
virtual QtNodeListgetChilds (QtChildType flag)
 return childs of the node More...
 
QtNodeListgetChild (const QtNodeType node, QtChildType flag=QT_DIRECT_CHILDS)
 return childs of a certain class More...
 
virtual void simplify ()
 simplifies the tree More...
 
enum QtNodeType getQtNodeTypeParent (enum QtNodeType)
 method for pre optimizations (basically load optimization) More...
 
virtual void setInput (QtOperation *inputOld, QtOperation *inputNew)
 
QtNodegetParent () const
 
void setParent (QtNode *node)
 
const ParseInfogetParseInfo ()
 
void setParseInfo (const ParseInfo &info)
 

Additional Inherited Members

- Public Types inherited from QtNode
enum  QtNodeType {
  QT_UNDEFINED_NODE, QT_MDD_ACCESS, QT_OPERATION_ITERATOR, QT_SELECTION_ITERATOR,
  QT_JOIN_ITERATOR, QT_UPDATE, QT_INSERT, QT_DELETE,
  QT_COMMAND, QT_PLUS, QT_MINUS, QT_MULT,
  QT_DIV, QT_OR, QT_AND, QT_XOR,
  QT_IS, QT_EQUAL, QT_NOT_EQUAL, QT_LESS,
  QT_LESS_EQUAL, QT_NOT, QT_SQRT, QT_EXECUTE,
  QT_ONC_STREAM, QT_ITERATOR, QT_OPERATION, QT_BINARY_OPERATION,
  QT_BINARY_INDUCE, QT_GROUP_ITERATOR, QT_IDENT, QT_NARY_OPERATION,
  QT_UNARY_OPERATION, QT_CONDENSE, QT_UNARY_INDUCE, QT_ABS,
  QT_EXP, QT_LOG, QT_LN, QT_SIN,
  QT_COS, QT_TAN, QT_SINH, QT_COSH,
  QT_TANH, QT_ARCSIN, QT_ARCCOS, QT_ARCTAN,
  QT_REALPART, QT_IMAGINARPART, QT_CAST, QT_CSE_ROOT,
  QT_DOMAIN_OPERATION, QT_ALL, QT_SOME, QT_COUNTCELLS,
  QT_ADDCELLS, QT_AVGCELLS, QT_MINCELLS, QT_MAXCELLS,
  QT_MDD_VAR, QT_MDD_STREAM, QT_CONST, QT_DOT,
  QT_CONVERSION, QT_OID, QT_INTERVALOP, QT_MINTERVALOP,
  QT_POINTOP, QT_LO, QT_HI, QT_SDOM,
  QT_SHIFT, QT_EXTEND, QT_MARRAYOP, QT_CONDENSEOP,
  QT_SCALE, QT_OVERLAY, QT_BIT, QT_PYRAMID,
  QT_ENCODE, QT_CONCAT, QT_CASEOP, QT_INFO,
  QT_LAST_NODE_TYPE
}
 
enum  QtAreaType { QT_AREA_MDD, QT_AREA_SCALAR }
 
enum  QtChildType { QT_DIRECT_CHILDS, QT_LEAF_NODES, QT_ALL_NODES }
 
typedef std::vector< QtData * > QtDataList
 list of QtData pointers More...
 
typedef std::vector
< QtTrimElement * > 
QtTrimList
 list of QtTrimData structures More...
 
typedef std::list< QtNode * > QtNodeList
 list of QtNode pointers More...
 
typedef std::vector
< QtOperation * > 
QtOperationList
 list of QtOperation pointers More...
 
- Static Public Attributes inherited from QtNode
static const int QtNodes
 number of QtNodeTypes More...
 
static const QtNodeType QtRoot
 the root of the inheritance tree More...
 
static const QtNodeType QtInheritance [][2]
 the inheritance relations list More...
 
- Protected Member Functions inherited from QtNode
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 inherited from QtOperation
QtTypeElement dataStreamType
 result type of the node More...
 
- Protected Attributes inherited from QtNode
ParseInfo parseInfo
 attribute for parser info More...
 

Constructor & Destructor Documentation

QtConst::QtConst ( QtData newDataObj)

constructor getting a pointer to the data object

virtual QtConst::~QtConst ( )
virtual

virtual destructor

Lifetime of { newDataObj} is managed by this class from now on.

Member Function Documentation

virtual const QtTypeElement& QtConst::checkType ( QtTypeTuple typeTuple = NULL)
virtual

type checking of the subtree

Reimplemented from QtOperation.

virtual bool QtConst::equalMeaning ( QtNode node)
virtual

test if the two nodes have an equal meaning in the query tree

Reimplemented from QtNode.

QtData* QtConst::evaluate ( QtDataList inputList)
virtual

method for evaluating the node

Reimplemented from QtOperation.

virtual QtAreaType QtConst::getAreaType ( )
virtual

test if the edge to the parent node is of type mdd or atomic

Reimplemented from QtNode.

QtData* QtConst::getDataObj ( )
inline

return the data object

virtual const QtNodeType QtConst::getNodeType ( ) const
inlinevirtual

method for identification of nodes

Reimplemented from QtNode.

virtual std::string QtConst::getSpelling ( )
virtual

creates a unique name for a common subexpression

Reimplemented from QtNode.

QtDataList* QtConst::next ( )
virtual void QtConst::optimizeLoad ( QtTrimList trimList)
virtual

optimizing load access

Reimplemented from QtOperation.

virtual void QtConst::printAlgebraicExpression ( std::ostream &  s = std::cout)
virtual

prints the algebraic expression

Implements QtNode.

virtual void QtConst::printTree ( int  tab,
std::ostream &  s = std::cout,
QtChildType  mode = QT_ALL_NODES 
)
virtual

prints the tree

Implements QtNode.


The documentation for this class was generated from the following file: