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