rasdaman complete source
Public Types | Public Member Functions | Protected Attributes | List of all members
QtIterator Class Reference

#include <qtiterator.hh>

Inheritance diagram for QtIterator:
QtONCStream QtNode QtJoinIterator QtOperationIterator QtSelectionIterator

Public Types

typedef std::vector
< QtONCStream * > 
QtONCStreamList
 list of QtONCStream objects More...
 
- 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...
 

Public Member Functions

 QtIterator ()
 default constructor More...
 
 QtIterator (QtNode *node)
 constructor getting a pointer to the parent More...
 
virtual ~QtIterator ()
 destructor More...
 
virtual QtNodeListgetChilds (QtChildType flag)
 return childs of 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...
 
void getInputTypeTuple (QtTypeTuple &typeTuple)
 pre optimization More...
 
virtual void open ()
 
virtual void close ()
 
virtual void reset ()
 
void setStreamInputs (QtONCStreamList *inputs)
 
QtONCStreamListgetStreamInputs ()
 Returns inputs. More...
 
void setStreamInput (QtONCStream *oldInput, QtONCStream *newInput)
 exchange the stream input { oldInput} with { newInput} More...
 
- Public Member Functions inherited from QtONCStream
 QtONCStream ()
 default constructor More...
 
 QtONCStream (QtNode *node)
 constructor getting a pointer to the parent More...
 
virtual const QtTypeTuplecheckType ()=0
 type checking of the subtree More...
 
virtual QtDataListnext ()=0
 
void setDataStreamType (const QtTypeTuple &type)
 
const QtTypeTuplegetDataStreamType () 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...
 
QtNodeListgetChild (const QtNodeType node, QtChildType flag=QT_DIRECT_CHILDS)
 return childs of a certain class More...
 
virtual bool equalMeaning (QtNode *node)
 test if the two nodes have an equal meaning in a subtree 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 simplify ()
 simplifies the tree 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...
 
virtual void setInput (QtOperation *inputOld, QtOperation *inputNew)
 
QtNodegetParent () const
 
void setParent (QtNode *node)
 
const ParseInfogetParseInfo ()
 
void setParseInfo (const ParseInfo &info)
 

Protected Attributes

QtONCStreamListinputs
 list of input streams More...
 
- Protected Attributes inherited from QtONCStream
QtTypeTuple dataStreamType
 result type of the node More...
 
- Protected Attributes inherited from QtNode
ParseInfo parseInfo
 attribute for parser info More...
 

Additional Inherited Members

- 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...
 

Member Typedef Documentation

list of QtONCStream objects

Constructor & Destructor Documentation

QtIterator::QtIterator ( )

default constructor

QtIterator::QtIterator ( QtNode node)

constructor getting a pointer to the parent

virtual QtIterator::~QtIterator ( )
virtual

destructor

Member Function Documentation

virtual void QtIterator::close ( )
virtual

Implements QtONCStream.

Reimplemented in QtJoinIterator.

virtual QtNodeList* QtIterator::getChilds ( QtChildType  flag)
virtual

return childs of the node

Reimplemented from QtNode.

Reimplemented in QtOperationIterator, and QtSelectionIterator.

void QtIterator::getInputTypeTuple ( QtTypeTuple typeTuple)

pre optimization

Pre-Optimization step is passed to the input streams.get input type tuple

QtONCStreamList* QtIterator::getStreamInputs ( )

Returns inputs.

virtual void QtIterator::open ( )
virtual

Implements QtONCStream.

Reimplemented in QtJoinIterator.

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

prints the algebraic expression

Implements QtNode.

Reimplemented in QtOperationIterator, QtSelectionIterator, and QtJoinIterator.

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

prints the tree

Implements QtNode.

Reimplemented in QtOperationIterator, QtSelectionIterator, and QtJoinIterator.

virtual void QtIterator::reset ( )
virtual

Implements QtONCStream.

Reimplemented in QtJoinIterator.

void QtIterator::setStreamInput ( QtONCStream oldInput,
QtONCStream newInput 
)

exchange the stream input { oldInput} with { newInput}

void QtIterator::setStreamInputs ( QtONCStreamList inputs)
inline

Member Data Documentation

QtONCStreamList* QtIterator::inputs
protected

list of input streams


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