rasdaman complete source
Public Types | Public Member Functions | Static Public Member Functions | List of all members
QtConversion Class Reference

#include <qtconversion.hh>

Inheritance diagram for QtConversion:
QtUnaryOperation QtOperation QtNode

Public Types

enum  QtConversionType {
  QT_UNKNOWN, QT_TOTIFF, QT_TOBMP, QT_TOHDF,
  QT_TONETCDF, QT_TOCSV, QT_TOJPEG, QT_TOPNG,
  QT_TOVFF, QT_TOTOR, QT_TODEM, QT_FROMTIFF,
  QT_FROMBMP, QT_FROMHDF, QT_FROMNETCDF, QT_FROMCSV,
  QT_FROMJPEG, QT_FROMPNG, QT_FROMVFF, QT_FROMTOR,
  QT_FROMDEM
}
 
- 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

 QtConversion (QtOperation *newInput, QtConversionType newConversionType, const char *=NULL)
 constructor getting operand and format conversion type More...
 
void setConversionTypeByName (std::string formatName)
 set the format conversion type by name More...
 
virtual bool equalMeaning (QtNode *node)
 test if the two nodes have an equal meaning in a subtree More...
 
QtDataevaluate (QtDataList *inputList)
 evaluates 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...
 
- Public Member Functions inherited from QtUnaryOperation
 QtUnaryOperation ()
 default constructor More...
 
 QtUnaryOperation (QtOperation *input)
 constructor getting the node to its operand More...
 
virtual ~QtUnaryOperation ()
 virtual destructor More...
 
virtual std::string getSpelling ()
 creates a unique name for a common subexpression More...
 
virtual void simplify ()
 simplifies the tree More...
 
virtual QtNodeListgetChilds (QtChildType flag)
 return childs of the node More...
 
virtual QtAreaType getAreaType ()
 test if the edge to the parent node is of type mdd or atomic More...
 
virtual void setInput (QtOperation *inputOld, QtOperation *inputNew)
 method for query rewrite More...
 
virtual void optimizeLoad (QtTrimList *trimList)
 optimizing load access More...
 
virtual void setInput (QtOperation *input)
 
QtOperationgetInput ()
 
- 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 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...
 
QtNodeListgetChild (const QtNodeType node, QtChildType flag=QT_DIRECT_CHILDS)
 return childs of a certain class More...
 
enum QtNodeType getQtNodeTypeParent (enum QtNodeType)
 method for pre optimizations (basically load optimization) More...
 
QtNodegetParent () const
 
void setParent (QtNode *node)
 
const ParseInfogetParseInfo ()
 
void setParseInfo (const ParseInfo &info)
 

Static Public Member Functions

static bool lookupConversionTypeByName (std::string formatName)
 look up the format conversion type by name 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...
 
- Protected Attributes inherited from QtUnaryOperation
QtOperationinput
 operation operand 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...
 

Member Enumeration Documentation

Enumerator
QT_UNKNOWN 
QT_TOTIFF 
QT_TOBMP 
QT_TOHDF 
QT_TONETCDF 
QT_TOCSV 
QT_TOJPEG 
QT_TOPNG 
QT_TOVFF 
QT_TOTOR 
QT_TODEM 
QT_FROMTIFF 
QT_FROMBMP 
QT_FROMHDF 
QT_FROMNETCDF 
QT_FROMCSV 
QT_FROMJPEG 
QT_FROMPNG 
QT_FROMVFF 
QT_FROMTOR 
QT_FROMDEM 

Constructor & Destructor Documentation

QtConversion::QtConversion ( QtOperation newInput,
QtConversionType  newConversionType,
const char *  = NULL 
)

constructor getting operand and format conversion type

Member Function Documentation

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

type checking of the subtree

Reimplemented from QtOperation.

virtual bool QtConversion::equalMeaning ( QtNode node)
virtual

test if the two nodes have an equal meaning in a subtree

Reimplemented from QtUnaryOperation.

QtData* QtConversion::evaluate ( QtDataList inputList)
virtual

evaluates the node

Reimplemented from QtOperation.

virtual const QtNodeType QtConversion::getNodeType ( ) const
inlinevirtual

method for identification of nodes

Reimplemented from QtNode.

static bool QtConversion::lookupConversionTypeByName ( std::string  formatName)
static

look up the format conversion type by name

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

prints the algebraic expression

Implements QtNode.

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

prints the tree

Reimplemented from QtUnaryOperation.

void QtConversion::setConversionTypeByName ( std::string  formatName)

set the format conversion type by name


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