rasdaman complete source
qtmintervalop.hh
Go to the documentation of this file.
1 #ifndef _QTMINTERVALOP_
2 #define _QTMINTERVALOP_
3 
4 #ifndef CPPSTDLIB
5 #include <ospace/string.h> // STL<ToolKit>
6 #else
7 #include <string>
8 #endif
9 
11 
12 /*
13 * This file is part of rasdaman community.
14 *
15 * Rasdaman community is free software: you can redistribute it and/or modify
16 * it under the terms of the GNU General Public License as published by
17 * the Free Software Foundation, either version 3 of the License, or
18 * (at your option) any later version.
19 *
20 * Rasdaman community is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * You should have received a copy of the GNU General Public License
26 * along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
27 *
28 * Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
29 rasdaman GmbH.
30 *
31 * For more information please see <http://www.rasdaman.org>
32 * or contact Peter Baumann via <baumann@rasdaman.com>.
33 */
34 /*************************************************************
35  *
36  *
37  * COMMENTS:
38  *
39  ************************************************************/
40 
41 //@ManMemo: Module: {\bf qlparser}
42 
43 /*@Doc:
44 
45  The class represents the root of an minterval expression.
46 
47 */
48 
50 {
51 public:
53  QtMintervalOp( QtOperationList* opList );
54 
56  QtData* evaluate( QtDataList* inputList );
60  virtual void printTree( int tab, std::ostream& s = std::cout, QtChildType mode = QT_ALL_NODES );
62 
64  virtual void printAlgebraicExpression( std::ostream& s = std::cout );
65 
67  inline virtual const QtNodeType getNodeType() const;
68 
70  virtual const QtTypeElement& checkType( QtTypeTuple* typeTuple = NULL );
71 
72 private:
74  static const QtNodeType nodeType;
75 };
76 
77 
78 #include "qlparser/qtmintervalop.icc"
79 
80 #endif
81 
virtual const QtNodeType getNodeType() const
method for identification of nodes
std::vector< QtData * > QtDataList
list of QtData pointers
Definition: qtnode.hh:77
virtual const QtTypeElement & checkType(QtTypeTuple *typeTuple=NULL)
type checking of the subtree
Definition: qtnode.hh:463
Definition: qtdata.hh:83
QtChildType
Definition: qtnode.hh:186
QtNodeType
Definition: qtnode.hh:93
Definition: qtnode.hh:394
Definition: qtnaryoperation.hh:52
Definition: qtmintervalop.hh:49
QtData * evaluate(QtDataList *inputList)
method for evaluating the node
virtual void printTree(int tab, std::ostream &s=std::cout, QtChildType mode=QT_ALL_NODES)
prints the tree
std::vector< QtOperation * > QtOperationList
list of QtOperation pointers
Definition: qtnode.hh:194
Definition: qtnode.hh:190
QtMintervalOp(QtOperationList *opList)
constructor getting the two operands
virtual void printAlgebraicExpression(std::ostream &s=std::cout)
prints the algebraic expression