casa
$Rev:20696$
|
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