casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
ExprDerNodeArray.h
Go to the documentation of this file.
00001 //# ExprDerArrayNode.h: Nodes representing constant arrays in table select expression tree
00002 //# Copyright (C) 1997,1999,2000
00003 //# Associated Universities, Inc. Washington DC, USA.
00004 //#
00005 //# This library is free software; you can redistribute it and/or modify it
00006 //# under the terms of the GNU Library General Public License as published by
00007 //# the Free Software Foundation; either version 2 of the License, or (at your
00008 //# option) any later version.
00009 //#
00010 //# This library is distributed in the hope that it will be useful, but WITHOUT
00011 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00012 //# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
00013 //# License for more details.
00014 //#
00015 //# You should have received a copy of the GNU Library General Public License
00016 //# along with this library; if not, write to the Free Software Foundation,
00017 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
00018 //#
00019 //# Correspondence concerning AIPS++ should be addressed as follows:
00020 //#        Internet email: aips2-request@nrao.edu.
00021 //#        Postal address: AIPS++ Project Office
00022 //#                        National Radio Astronomy Observatory
00023 //#                        520 Edgemont Road
00024 //#                        Charlottesville, VA 22903-2475 USA
00025 //#
00026 //# $Id: ExprDerNodeArray.h 20652 2009-07-06 05:04:32Z Malte.Marquarding $
00027 
00028 #ifndef TABLES_EXPRDERNODEARRAY_H
00029 #define TABLES_EXPRDERNODEARRAY_H
00030 
00031 //# Includes
00032 #include <casa/aips.h>
00033 #include <tables/Tables/ExprNodeArray.h>
00034 #include <casa/Arrays/Array.h>
00035 
00036 namespace casa { //# NAMESPACE CASA - BEGIN
00037 
00038 //# Forward Declarations
00039 
00040 
00041 // <summary>
00042 // Bool Array constant in table select expression tree
00043 // </summary>
00044 
00045 // <use visibility=local>
00046 
00047 // <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
00048 // </reviewed>
00049 
00050 // <prerequisite>
00051 //# Classes you should understand before using this one.
00052 //   <li> TableExprNodeArray
00053 // </prerequisite>
00054 
00055 // <synopsis> 
00056 // This class represents a constant in a table select expression tree.
00057 // This is also used to hold the value of a table keyword, which is
00058 // constant over the entire table.
00059 // </synopsis> 
00060 
00061 class TableExprNodeArrayConstBool : public TableExprNodeArray
00062 {
00063 public:
00064     TableExprNodeArrayConstBool (const Array<Bool>& value);
00065     ~TableExprNodeArrayConstBool();
00066     Array<Bool> getArrayBool (const TableExprId& id);
00067 private:
00068     Array<Bool> value_p;
00069 };
00070 
00071 
00072 // <summary>
00073 // Int Array constant in table select expression tree
00074 // </summary>
00075 
00076 // <use visibility=local>
00077 
00078 // <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
00079 // </reviewed>
00080 
00081 // <prerequisite>
00082 //# Classes you should understand before using this one.
00083 //   <li> TableExprNodeArray
00084 // </prerequisite>
00085 
00086 // <synopsis> 
00087 // This class represents a constant in a table select expression tree.
00088 // This is also used to hold the value of a table keyword, which is
00089 // constant over the entire table.
00090 // </synopsis> 
00091 
00092 class TableExprNodeArrayConstInt : public TableExprNodeArray
00093 {
00094 public:
00095     TableExprNodeArrayConstInt (const Array<Int64>& value);
00096     TableExprNodeArrayConstInt (const Array<uInt>& value);
00097     TableExprNodeArrayConstInt (const Array<Int>& value);
00098     TableExprNodeArrayConstInt (const Array<uShort>& value);
00099     TableExprNodeArrayConstInt (const Array<Short>& value);
00100     TableExprNodeArrayConstInt (const Array<uChar>& value);
00101     ~TableExprNodeArrayConstInt();
00102     Array<Int64>    getArrayInt      (const TableExprId& id);
00103     Array<Double>   getArrayDouble   (const TableExprId& id);
00104     Array<DComplex> getArrayDComplex (const TableExprId& id);
00105 private:
00106     Array<Int64> value_p;
00107 };
00108 
00109 
00110 // <summary>
00111 // Double Array constant in table select expression tree
00112 // </summary>
00113 
00114 // <use visibility=local>
00115 
00116 // <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
00117 // </reviewed>
00118 
00119 // <prerequisite>
00120 //# Classes you should understand before using this one.
00121 //   <li> TableExprNodeArray
00122 // </prerequisite>
00123 
00124 // <synopsis> 
00125 // This class represents a constant in a table select expression tree.
00126 // This is also used to hold the value of a table keyword, which is
00127 // constant over the entire table.
00128 // </synopsis> 
00129 
00130 class TableExprNodeArrayConstDouble : public TableExprNodeArray
00131 {
00132 public:
00133     TableExprNodeArrayConstDouble (const Array<Double>& value);
00134     TableExprNodeArrayConstDouble (const Array<Float>& value);
00135     TableExprNodeArrayConstDouble (const Array<Int64>& value);
00136     ~TableExprNodeArrayConstDouble();
00137     Array<Double>   getArrayDouble   (const TableExprId& id);
00138     Array<DComplex> getArrayDComplex (const TableExprId& id);
00139 private:
00140     Array<Double> value_p;
00141 };
00142 
00143 
00144 // <summary>
00145 // DComplex Array constant in table select expression tree
00146 // </summary>
00147 
00148 // <use visibility=local>
00149 
00150 // <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
00151 // </reviewed>
00152 
00153 // <prerequisite>
00154 //# Classes you should understand before using this one.
00155 //   <li> TableExprNodeArray
00156 // </prerequisite>
00157 
00158 // <synopsis> 
00159 // This class represents a constant in a table select expression tree.
00160 // This is also used to hold the value of a table keyword, which is
00161 // constant over the entire table.
00162 // </synopsis> 
00163 
00164 class TableExprNodeArrayConstDComplex : public TableExprNodeArray
00165 {
00166 public:
00167     TableExprNodeArrayConstDComplex (const Array<DComplex>& value);
00168     TableExprNodeArrayConstDComplex (const Array<Complex>& value);
00169     TableExprNodeArrayConstDComplex (const Array<Double>& value);
00170     TableExprNodeArrayConstDComplex (const Array<Int64>& value);
00171     ~TableExprNodeArrayConstDComplex();
00172     Array<DComplex> getArrayDComplex (const TableExprId& id);
00173 private:
00174     Array<DComplex> value_p;
00175 };
00176 
00177 
00178 // <summary>
00179 // String Array constant in table select expression tree
00180 // </summary>
00181 
00182 // <use visibility=local>
00183 
00184 // <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
00185 // </reviewed>
00186 
00187 // <prerequisite>
00188 //# Classes you should understand before using this one.
00189 //   <li> TableExprNodeArray
00190 // </prerequisite>
00191 
00192 // <synopsis> 
00193 // This class represents a constant in a table select expression tree.
00194 // This is also used to hold the value of a table keyword, which is
00195 // constant over the entire table.
00196 // </synopsis> 
00197 
00198 class TableExprNodeArrayConstString : public TableExprNodeArray
00199 {
00200 public:
00201     TableExprNodeArrayConstString (const Array<String>& value);
00202     ~TableExprNodeArrayConstString();
00203     Array<String> getArrayString (const TableExprId& id);
00204 private:
00205     Array<String> value_p;
00206 };
00207 
00208 
00209 // <summary>
00210 // Date Array constant in table select expression tree
00211 // </summary>
00212 
00213 // <use visibility=local>
00214 
00215 // <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
00216 // </reviewed>
00217 
00218 // <prerequisite>
00219 //# Classes you should understand before using this one.
00220 //   <li> TableExprNodeArray
00221 // </prerequisite>
00222 
00223 // <synopsis> 
00224 // This class represents a constant in a table select expression tree.
00225 // This is also used to hold the value of a table keyword, which is
00226 // constant over the entire table.
00227 // </synopsis> 
00228 
00229 class TableExprNodeArrayConstDate : public TableExprNodeArray
00230 {
00231 public:
00232     TableExprNodeArrayConstDate (const Array<MVTime>& value);
00233     ~TableExprNodeArrayConstDate();
00234     Array<Double> getArrayDouble(const TableExprId& id);
00235     Array<MVTime> getArrayDate  (const TableExprId& id);
00236 private:
00237     Array<MVTime> value_p;
00238 };
00239 
00240 
00241 
00242 
00243 } //# NAMESPACE CASA - END
00244 
00245 #endif