casacore
Loading...
Searching...
No Matches
StManColumn.h
Go to the documentation of this file.
1//# StManColumn.h: Base storage manager column class
2//# Copyright (C) 1994,1995,1996,1998,2002
3//# Associated Universities, Inc. Washington DC, USA.
4//#
5//# This library is free software; you can redistribute it and/or modify it
6//# under the terms of the GNU Library General Public License as published by
7//# the Free Software Foundation; either version 2 of the License, or (at your
8//# option) any later version.
9//#
10//# This library is distributed in the hope that it will be useful, but WITHOUT
11//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13//# License for more details.
14//#
15//# You should have received a copy of the GNU Library General Public License
16//# along with this library; if not, write to the Free Software Foundation,
17//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18//#
19//# Correspondence concerning AIPS++ should be addressed as follows:
20//# Internet email: casa-feedback@nrao.edu.
21//# Postal address: AIPS++ Project Office
22//# National Radio Astronomy Observatory
23//# 520 Edgemont Road
24//# Charlottesville, VA 22903-2475 USA
25
26#ifndef TABLES_STMANCOLUMN_H
27#define TABLES_STMANCOLUMN_H
28
29
30//# Includes
31#include <casacore/casa/aips.h>
32#include <casacore/tables/DataMan/StManColumnBase.h>
33#include <casacore/casa/Arrays/IPosition.h>
34
35namespace casacore { //# NAMESPACE CASACORE - BEGIN
36
37// <summary>
38// Base table column storage manager class
39// </summary>
40
41// <use visibility=local>
42
43// <reviewed reviewer="Gareth Hunt" date="94Nov17" tests="">
44// </reviewed>
45
46// <prerequisite>
47//# Classes you should understand before using this one.
48// <li> DataManagerColumn
49// </prerequisite>
50
51// <etymology>
52// StManColumn handles a column for a storage manager.
53// </etymology>
54
55// <synopsis>
56// StManColumn is the old storage manager base class which has been replaced
57// by StManColumnBase.
58// However, the class still exists for backward compatibility for external storage
59// managers (such as LofarStMan) that do not derive from StManColumnBase yet.
60// It also maps the new get/put functions taking a rownr_t to the old
61// functions taking a uInt rownr.
62// </synopsis>
63
64// <motivation>
65// Provide backward compatibility for external storage managers.
66// </motivation>
67
68// <todo asof="$DATE:$">
69//# A List of bugs, limitations, extensions or planned refinements.
70// </todo>
71
72
74{
75public:
76
77 // Default constructor.
81
82 virtual ~StManColumn();
83
84 // The object cannot be copied.
85 StManColumn (const StManColumn&) = delete;
86
87 // The object cannot be assigned to.
89
90 // Set the shape of an (variable-shaped) array in the given row.
91 // By default it throws a "not possible" exception.
92 virtual void setShape (rownr_t rownr, const IPosition& shape);
93 virtual void setShape (uInt rownr, const IPosition& shape);
94
95 // Set the shape and tile shape of an (variable-shaped) array
96 // in the given row.
97 // By default it ignores the tile shape (thus only sets the shape).
98 virtual void setShapeTiled (rownr_t rownr, const IPosition& shape,
99 const IPosition& tileShape);
100 virtual void setShapeTiled (uInt rownr, const IPosition& shape,
101 const IPosition& tileShape);
102
103 // Is the value shape defined in the given row?
104 // By default it returns True.
105 virtual Bool isShapeDefined (rownr_t rownr);
106 virtual Bool isShapeDefined (uInt rownr);
107
108 // Get the dimensionality of the item in the given row.
109 // By default it returns shape(rownr).nelements().
110 virtual uInt ndim (rownr_t rownr);
111 virtual uInt ndim (uInt rownr);
112
113 // Get the shape of the item in the given row.
114 // By default it returns a zero-length IPosition (for a scalar value).
115 virtual IPosition shape (rownr_t rownr);
116 virtual IPosition shape (uInt rownr);
117
118 // Get the tile shape of the item in the given row.
119 // By default it returns a zero-length IPosition.
120 virtual IPosition tileShape (rownr_t rownr);
121 virtual IPosition tileShape (uInt rownr);
122
123
124 // Get the scalar value in the given row.
125 // <group>
126 virtual void getBool (rownr_t rownr, Bool* dataPtr);
127 virtual void getuChar (rownr_t rownr, uChar* dataPtr);
128 virtual void getShort (rownr_t rownr, Short* dataPtr);
129 virtual void getuShort (rownr_t rownr, uShort* dataPtr);
130 virtual void getInt (rownr_t rownr, Int* dataPtr);
131 virtual void getuInt (rownr_t rownr, uInt* dataPtr);
132 virtual void getfloat (rownr_t rownr, float* dataPtr);
133 virtual void getdouble (rownr_t rownr, double* dataPtr);
134 virtual void getComplex (rownr_t rownr, Complex* dataPtr);
135 virtual void getDComplex (rownr_t rownr, DComplex* dataPtr);
136 virtual void getString (rownr_t rownr, String* dataPtr);
137 // </group>
138
139 // Put the scalar value in the given row.
140 // <group>
141 virtual void putBool (rownr_t rownr, const Bool* dataPtr);
142 virtual void putuChar (rownr_t rownr, const uChar* dataPtr);
143 virtual void putShort (rownr_t rownr, const Short* dataPtr);
144 virtual void putuShort (rownr_t rownr, const uShort* dataPtr);
145 virtual void putInt (rownr_t rownr, const Int* dataPtr);
146 virtual void putuInt (rownr_t rownr, const uInt* dataPtr);
147 virtual void putfloat (rownr_t rownr, const float* dataPtr);
148 virtual void putdouble (rownr_t rownr, const double* dataPtr);
149 virtual void putComplex (rownr_t rownr, const Complex* dataPtr);
150 virtual void putDComplex (rownr_t rownr, const DComplex* dataPtr);
151 virtual void putString (rownr_t rownr, const String* dataPtr);
152 // </group>
153
154 // Get all scalar values in the column.
155 // The argument dataPtr is in fact a Vector<T>&, but an ArrayBase&
156 // is needed to be generic.
157 // The vector pointed to by dataPtr has to have the correct length
158 // (which is guaranteed by the ScalarColumn getColumn function).
159 // The default implementation calls the appropriate getScalarColumnXXV.
160 virtual void getScalarColumnV (ArrayBase& dataPtr);
161
162 // Put all scalar values in the column.
163 // The argument dataPtr is in fact a const Vector<T>&, but a const ArrayBase&
164 // is needed to be generic.
165 // The vector pointed to by dataPtr has to have the correct length
166 // (which is guaranteed by the ScalarColumn putColumn function).
167 // The default implementation calls the appropriate putScalarColumnXXV.
168 virtual void putScalarColumnV (const ArrayBase& dataPtr);
169
170 // Get some scalar values in the column.
171 // The argument dataPtr is in fact a Vector<T>&, but an ArrayBase&
172 // is needed to be generic.
173 // The vector pointed to by dataPtr has to have the correct length
174 // (which is guaranteed by the ScalarColumn getColumn function).
175 // The default implementation calls the appropriate getScalarColumnCellsXXV.
176 virtual void getScalarColumnCellsV (const RefRows& rownrs,
177 ArrayBase& dataPtr);
178
179 // Put some scalar values in the column.
180 // The argument dataPtr is in fact a const Vector<T>&, but a const ArrayBase&
181 // is needed to be generic.
182 // The vector pointed to by dataPtr has to have the correct length
183 // (which is guaranteed by the ScalarColumn getColumn function).
184 // The default implementation calls the appropriate putScalarColumnCellsXXV.
185 virtual void putScalarColumnCellsV (const RefRows& rownrs,
186 const ArrayBase& dataPtr);
187
188 // Get the array value in the given row.
189 // The argument dataPtr is in fact an Array<T>&, but a ArrayBase&
190 // is needed to be generic.
191 // The array pointed to by dataPtr has to have the correct shape
192 // (which is guaranteed by the ArrayColumn get function).
193 // The default implementation calls the appropriate getArrayXXV.
194 virtual void getArrayV (rownr_t rownr, ArrayBase& dataPtr);
195
196 // Put the array value into the given row.
197 // The argument dataPtr is in fact a const Array<T>&, but a const ArrayBase&
198 // is needed to be generic.
199 // The array pointed to by dataPtr has to have the correct shape
200 // (which is guaranteed by the ArrayColumn put function).
201 // The default implementation calls the appropriate putArrayXXV.
202 virtual void putArrayV (rownr_t rownr, const ArrayBase& dataPtr);
203
204 // Get all array values in the column.
205 // The argument dataPtr is in fact an Array<T>&, but a ArrayBase&
206 // is needed to be generic.
207 // The vector pointed to by dataPtr has to have the correct length
208 // (which is guaranteed by the ArrayColumn getColumn function).
209 // The default implementation calls the appropriate getArrayColumnXXV.
210 virtual void getArrayColumnV (ArrayBase& dataPtr);
211
212 // Put all array values in the column.
213 // The argument dataPtr is in fact a const Array<T>&, but a const ArrayBase&
214 // is needed to be generic.
215 // The vector pointed to by dataPtr has to have the correct length
216 // (which is guaranteed by the ArrayColumn putColumn function).
217 // The default implementation calls the appropriate putArrayColumnXXV.
218 virtual void putArrayColumnV (const ArrayBase& dataPtr);
219
220 // Get some array values in the column.
221 // The argument dataPtr is in fact an Array<T>&, but a ArrayBase&
222 // is needed to be generic.
223 // The vector pointed to by dataPtr has to have the correct length
224 // (which is guaranteed by the ArrayColumn getColumn function).
225 // The default implementation calls the appropriate getArrayColumnCellsXXV.
226 virtual void getArrayColumnCellsV (const RefRows& rownrs,
227 ArrayBase& dataPtr);
228
229 // Put some array values in the column.
230 // The argument dataPtr is in fact an const Array<T>&, but a const ArrayBase&
231 // is needed to be generic.
232 // The vector pointed to by dataPtr has to have the correct length
233 // (which is guaranteed by the ArrayColumn getColumn function).
234 // The default implementation calls the appropriate putArrayColumnCellsXXV.
235 virtual void putArrayColumnCellsV (const RefRows& rownrs,
236 const ArrayBase& dataPtr);
237
238 // Get a section of the array in the given row.
239 // The argument dataPtr is in fact an Array<T>&, but a ArrayBase&
240 // is needed to be generic.
241 // The array pointed to by dataPtr has to have the correct shape
242 // (which is guaranteed by the ArrayColumn getSlice function).
243 // The default implementation calls the appropriate getSliceXXV.
244 virtual void getSliceV (rownr_t rownr, const Slicer& slicer,
245 ArrayBase& dataPtr);
246
247 // Put into a section of the array in the given row.
248 // The argument dataPtr is in fact a const Array<T>&, but a const ArrayBase&
249 // is needed to be generic.
250 // The array pointed to by dataPtr has to have the correct shape
251 // (which is guaranteed by the ArrayColumn putSlice function).
252 // The default implementation calls the appropriate putSliceXXV.
253 virtual void putSliceV (rownr_t rownr, const Slicer& slicer,
254 const ArrayBase& dataPtr);
255
256 // Get a section of all arrays in the column.
257 // The argument dataPtr is in fact an Array<T>&, but a ArrayBase&
258 // is needed to be generic.
259 // The array pointed to by dataPtr has to have the correct shape
260 // (which is guaranteed by the ArrayColumn getColumn function).
261 // The default implementation calls the appropriate getColumnSliceXXV.
262 virtual void getColumnSliceV (const Slicer& slicer, ArrayBase& dataPtr);
263
264 // Put into a section of all arrays in the column.
265 // The argument dataPtr is in fact a const Array<T>&, but a const ArrayBase&
266 // is needed to be generic.
267 // The array pointed to by dataPtr has to have the correct shape
268 // (which is guaranteed by the ArrayColumn putColumn function).
269 // The default implementation calls the appropriate putColumnSliceXXV.
270 virtual void putColumnSliceV (const Slicer& slicer, const ArrayBase& dataPtr);
271
272 // Get a section of some arrays in the column.
273 // The argument dataPtr is in fact an Array<T>&, but a ArrayBase&
274 // is needed to be generic.
275 // The array pointed to by dataPtr has to have the correct shape
276 // (which is guaranteed by the ArrayColumn getColumn function).
277 // The default implementation calls the appropriate getColumnSliceCellsXXV.
278 virtual void getColumnSliceCellsV (const RefRows& rownrs,
279 const Slicer& slicer, ArrayBase& dataPtr);
280
281 // Put into a section of some arrays in the column.
282 // The argument dataPtr is in fact a const Array<T>&, but a const ArrayBase&
283 // is needed to be generic.
284 // The array pointed to by dataPtr has to have the correct shape
285 // (which is guaranteed by the ArrayColumn putColumn function).
286 // The default implementation calls the appropriate putColumnSliceCellsXXV.
287 virtual void putColumnSliceCellsV (const RefRows& rownrs,
288 const Slicer& slicer,
289 const ArrayBase& dataPtr);
290
291
292private:
293 // Throw an "invalid operation" exception for the default
294 // implementation of getArray.
295 void throwInvalidOp(const String &op) const;
296
297protected:
298 // Get the scalar value in the given row.
299 // <group>
300 virtual void getBoolV (uInt rownr, Bool* dataPtr);
301 virtual void getuCharV (uInt rownr, uChar* dataPtr);
302 virtual void getShortV (uInt rownr, Short* dataPtr);
303 virtual void getuShortV (uInt rownr, uShort* dataPtr);
304 virtual void getIntV (uInt rownr, Int* dataPtr);
305 virtual void getuIntV (uInt rownr, uInt* dataPtr);
306 virtual void getfloatV (uInt rownr, float* dataPtr);
307 virtual void getdoubleV (uInt rownr, double* dataPtr);
308 virtual void getComplexV (uInt rownr, Complex* dataPtr);
309 virtual void getDComplexV (uInt rownr, DComplex* dataPtr);
310 virtual void getStringV (uInt rownr, String* dataPtr);
311 // </group>
312
313 // Put the scalar value in the given row.
314 // <group>
315 virtual void putBoolV (uInt rownr, const Bool* dataPtr);
316 virtual void putuCharV (uInt rownr, const uChar* dataPtr);
317 virtual void putShortV (uInt rownr, const Short* dataPtr);
318 virtual void putuShortV (uInt rownr, const uShort* dataPtr);
319 virtual void putIntV (uInt rownr, const Int* dataPtr);
320 virtual void putuIntV (uInt rownr, const uInt* dataPtr);
321 virtual void putfloatV (uInt rownr, const float* dataPtr);
322 virtual void putdoubleV (uInt rownr, const double* dataPtr);
323 virtual void putComplexV (uInt rownr, const Complex* dataPtr);
324 virtual void putDComplexV (uInt rownr, const DComplex* dataPtr);
325 virtual void putStringV (uInt rownr, const String* dataPtr);
326 // </group>
327
328 // Get the scalar values in the entire column.
329 // The buffer pointed to by dataPtr has to have the correct length.
330 // (which is guaranteed by the ScalarColumn getColumn function).
331 // The default implementations calls DataManagerColumn::getScalarColumnBase.
332 // <group>
333 virtual void getScalarColumnBoolV (Vector<Bool>* dataPtr);
334 virtual void getScalarColumnuCharV (Vector<uChar>* dataPtr);
335 virtual void getScalarColumnShortV (Vector<Short>* dataPtr);
336 virtual void getScalarColumnuShortV (Vector<uShort>* dataPtr);
337 virtual void getScalarColumnIntV (Vector<Int>* dataPtr);
338 virtual void getScalarColumnuIntV (Vector<uInt>* dataPtr);
339 virtual void getScalarColumnInt64V (Vector<Int64>* dataPtr);
340 virtual void getScalarColumnfloatV (Vector<float>* dataPtr);
341 virtual void getScalarColumndoubleV (Vector<double>* dataPtr);
344 virtual void getScalarColumnStringV (Vector<String>* dataPtr);
345 // </group>
346
347 // Put the scalar values into the entire column.
348 // The buffer pointed to by dataPtr has to have the correct length.
349 // (which is guaranteed by the ScalarColumn putColumn function).
350 // The default implementations calls DataManagerColumn::putScalarColumnBase.
351 // <group>
352 virtual void putScalarColumnBoolV (const Vector<Bool>* dataPtr);
353 virtual void putScalarColumnuCharV (const Vector<uChar>* dataPtr);
354 virtual void putScalarColumnShortV (const Vector<Short>* dataPtr);
355 virtual void putScalarColumnuShortV (const Vector<uShort>* dataPtr);
356 virtual void putScalarColumnIntV (const Vector<Int>* dataPtr);
357 virtual void putScalarColumnuIntV (const Vector<uInt>* dataPtr);
358 virtual void putScalarColumnInt64V (const Vector<Int64>* dataPtr);
359 virtual void putScalarColumnfloatV (const Vector<float>* dataPtr);
360 virtual void putScalarColumndoubleV (const Vector<double>* dataPtr);
361 virtual void putScalarColumnComplexV (const Vector<Complex>* dataPtr);
362 virtual void putScalarColumnDComplexV (const Vector<DComplex>* dataPtr);
363 virtual void putScalarColumnStringV (const Vector<String>* dataPtr);
364 // </group>
365
366 // Get the scalar values in some cells of the column.
367 // The buffer pointed to by dataPtr has to have the correct length.
368 // (which is guaranteed by the ScalarColumn getColumnCells function).
369 // The default implementations call DataManagerColumn::getScalarColumnCellsBase.
370 // <group>
371 virtual void getScalarColumnCellsBoolV (const RefRows& rownrs,
372 Vector<Bool>* dataPtr);
373 virtual void getScalarColumnCellsuCharV (const RefRows& rownrs,
374 Vector<uChar>* dataPtr);
375 virtual void getScalarColumnCellsShortV (const RefRows& rownrs,
376 Vector<Short>* dataPtr);
377 virtual void getScalarColumnCellsuShortV (const RefRows& rownrs,
378 Vector<uShort>* dataPtr);
379 virtual void getScalarColumnCellsIntV (const RefRows& rownrs,
380 Vector<Int>* dataPtr);
381 virtual void getScalarColumnCellsuIntV (const RefRows& rownrs,
382 Vector<uInt>* dataPtr);
383 virtual void getScalarColumnCellsInt64V (const RefRows& rownrs,
384 Vector<Int64>* dataPtr);
385 virtual void getScalarColumnCellsfloatV (const RefRows& rownrs,
386 Vector<float>* dataPtr);
387 virtual void getScalarColumnCellsdoubleV (const RefRows& rownrs,
388 Vector<double>* dataPtr);
389 virtual void getScalarColumnCellsComplexV (const RefRows& rownrs,
390 Vector<Complex>* dataPtr);
391 virtual void getScalarColumnCellsDComplexV (const RefRows& rownrs,
392 Vector<DComplex>* dataPtr);
393 virtual void getScalarColumnCellsStringV (const RefRows& rownrs,
394 Vector<String>* dataPtr);
395 // </group>
396
397 // Put the scalar values into some cells of the column.
398 // The buffer pointed to by dataPtr has to have the correct length.
399 // (which is guaranteed by the ScalarColumn putColumnCells function).
400 // The default implementations call DataManagerColumn::putScalarColumnCellsBase.
401 // <group>
402 virtual void putScalarColumnCellsBoolV (const RefRows& rownrs,
403 const Vector<Bool>* dataPtr);
404 virtual void putScalarColumnCellsuCharV (const RefRows& rownrs,
405 const Vector<uChar>* dataPtr);
406 virtual void putScalarColumnCellsShortV (const RefRows& rownrs,
407 const Vector<Short>* dataPtr);
408 virtual void putScalarColumnCellsuShortV (const RefRows& rownrs,
409 const Vector<uShort>* dataPtr);
410 virtual void putScalarColumnCellsIntV (const RefRows& rownrs,
411 const Vector<Int>* dataPtr);
412 virtual void putScalarColumnCellsuIntV (const RefRows& rownrs,
413 const Vector<uInt>* dataPtr);
414 virtual void putScalarColumnCellsInt64V (const RefRows& rownrs,
415 const Vector<Int64>* dataPtr);
416 virtual void putScalarColumnCellsfloatV (const RefRows& rownrs,
417 const Vector<float>* dataPtr);
418 virtual void putScalarColumnCellsdoubleV (const RefRows& rownrs,
419 const Vector<double>* dataPtr);
420 virtual void putScalarColumnCellsComplexV (const RefRows& rownrs,
421 const Vector<Complex>* dataPtr);
422 virtual void putScalarColumnCellsDComplexV (const RefRows& rownrs,
423 const Vector<DComplex>* dataPtr);
424 virtual void putScalarColumnCellsStringV (const RefRows& rownrs,
425 const Vector<String>* dataPtr);
426 // </group>
427
428 // Get the array value in the given row.
429 // The array pointed to by dataPtr has to have the correct length
430 // (which is guaranteed by the ArrayColumn get function).
431 // The default implementations throw an exception.
432 // <group>
433 virtual void getArrayBoolV (uInt rownr, Array<Bool>* dataPtr);
434 virtual void getArrayuCharV (uInt rownr, Array<uChar>* dataPtr);
435 virtual void getArrayShortV (uInt rownr, Array<Short>* dataPtr);
436 virtual void getArrayuShortV (uInt rownr, Array<uShort>* dataPtr);
437 virtual void getArrayIntV (uInt rownr, Array<Int>* dataPtr);
438 virtual void getArrayuIntV (uInt rownr, Array<uInt>* dataPtr);
439 virtual void getArrayInt64V (uInt rownr, Array<Int64>* dataPtr);
440 virtual void getArrayfloatV (uInt rownr, Array<float>* dataPtr);
441 virtual void getArraydoubleV (uInt rownr, Array<double>* dataPtr);
442 virtual void getArrayComplexV (uInt rownr, Array<Complex>* dataPtr);
443 virtual void getArrayDComplexV (uInt rownr, Array<DComplex>* dataPtr);
444 virtual void getArrayStringV (uInt rownr, Array<String>* dataPtr);
445 // </group>
446
447 // Put the array value into the given row.
448 // The buffer pointed to by dataPtr has to have the correct length
449 // (which is guaranteed by the ArrayColumn put function).
450 // The default implementations throw an exception.
451 // <group>
452 virtual void putArrayBoolV (uInt rownr,
453 const Array<Bool>* dataPtr);
454 virtual void putArrayuCharV (uInt rownr,
455 const Array<uChar>* dataPtr);
456 virtual void putArrayShortV (uInt rownr,
457 const Array<Short>* dataPtr);
458 virtual void putArrayuShortV (uInt rownr,
459 const Array<uShort>* dataPtr);
460 virtual void putArrayIntV (uInt rownr,
461 const Array<Int>* dataPtr);
462 virtual void putArrayuIntV (uInt rownr,
463 const Array<uInt>* dataPtr);
464 virtual void putArrayInt64V (uInt rownr,
465 const Array<Int64>* dataPtr);
466 virtual void putArrayfloatV (uInt rownr,
467 const Array<float>* dataPtr);
468 virtual void putArraydoubleV (uInt rownr,
469 const Array<double>* dataPtr);
470 virtual void putArrayComplexV (uInt rownr,
471 const Array<Complex>* dataPtr);
472 virtual void putArrayDComplexV (uInt rownr,
473 const Array<DComplex>* dataPtr);
474 virtual void putArrayStringV (uInt rownr,
475 const Array<String>* dataPtr);
476 // </group>
477
478 // Get the array values in the entire column.
479 // The buffer pointed to by dataPtr has to have the correct length.
480 // (which is guaranteed by the ArrayColumn getColumn function).
481 // The default implementations call DataManagerColumn::getArrayColumnBase.
482 // <group>
483 virtual void getArrayColumnBoolV (Array<Bool>* dataPtr);
484 virtual void getArrayColumnuCharV (Array<uChar>* dataPtr);
485 virtual void getArrayColumnShortV (Array<Short>* dataPtr);
486 virtual void getArrayColumnuShortV (Array<uShort>* dataPtr);
487 virtual void getArrayColumnIntV (Array<Int>* dataPtr);
488 virtual void getArrayColumnuIntV (Array<uInt>* dataPtr);
489 virtual void getArrayColumnInt64V (Array<Int64>* dataPtr);
490 virtual void getArrayColumnfloatV (Array<float>* dataPtr);
491 virtual void getArrayColumndoubleV (Array<double>* dataPtr);
492 virtual void getArrayColumnComplexV (Array<Complex>* dataPtr);
494 virtual void getArrayColumnStringV (Array<String>* dataPtr);
495 // </group>
496
497 // Put the array values into the entire column.
498 // The buffer pointed to by dataPtr has to have the correct length.
499 // (which is guaranteed by the ArrayColumn putColumn function).
500 // The default implementations call DataManagerColumn::putArrayColumnBase.
501 // <group>
502 virtual void putArrayColumnBoolV (const Array<Bool>* dataPtr);
503 virtual void putArrayColumnuCharV (const Array<uChar>* dataPtr);
504 virtual void putArrayColumnShortV (const Array<Short>* dataPtr);
505 virtual void putArrayColumnuShortV (const Array<uShort>* dataPtr);
506 virtual void putArrayColumnIntV (const Array<Int>* dataPtr);
507 virtual void putArrayColumnuIntV (const Array<uInt>* dataPtr);
508 virtual void putArrayColumnInt64V (const Array<Int64>* dataPtr);
509 virtual void putArrayColumnfloatV (const Array<float>* dataPtr);
510 virtual void putArrayColumndoubleV (const Array<double>* dataPtr);
511 virtual void putArrayColumnComplexV (const Array<Complex>* dataPtr);
512 virtual void putArrayColumnDComplexV (const Array<DComplex>* dataPtr);
513 virtual void putArrayColumnStringV (const Array<String>* dataPtr);
514 // </group>
515
516 // Get the array values in some cells of the column.
517 // The buffer pointed to by dataPtr has to have the correct length.
518 // (which is guaranteed by the ArrayColumn getColumnCells function).
519 // The default implementations call DataManagerColumn::getArrayColumnCellsBase.
520 // <group>
521 virtual void getArrayColumnCellsBoolV (const RefRows& rownrs,
522 Array<Bool>* dataPtr);
523 virtual void getArrayColumnCellsuCharV (const RefRows& rownrs,
524 Array<uChar>* dataPtr);
525 virtual void getArrayColumnCellsShortV (const RefRows& rownrs,
526 Array<Short>* dataPtr);
527 virtual void getArrayColumnCellsuShortV (const RefRows& rownrs,
528 Array<uShort>* dataPtr);
529 virtual void getArrayColumnCellsIntV (const RefRows& rownrs,
530 Array<Int>* dataPtr);
531 virtual void getArrayColumnCellsuIntV (const RefRows& rownrs,
532 Array<uInt>* dataPtr);
533 virtual void getArrayColumnCellsInt64V (const RefRows& rownrs,
534 Array<Int64>* dataPtr);
535 virtual void getArrayColumnCellsfloatV (const RefRows& rownrs,
536 Array<float>* dataPtr);
537 virtual void getArrayColumnCellsdoubleV (const RefRows& rownrs,
538 Array<double>* dataPtr);
539 virtual void getArrayColumnCellsComplexV (const RefRows& rownrs,
540 Array<Complex>* dataPtr);
541 virtual void getArrayColumnCellsDComplexV (const RefRows& rownrs,
542 Array<DComplex>* dataPtr);
543 virtual void getArrayColumnCellsStringV (const RefRows& rownrs,
544 Array<String>* dataPtr);
545 // </group>
546
547 // Put the array values into some cells of the column.
548 // The buffer pointed to by dataPtr has to have the correct length.
549 // (which is guaranteed by the ArrayColumn putColumnCells function).
550 // The default implementations call DataManagerColumn::putArrayColumnCellsBase.
551 // <group>
552 virtual void putArrayColumnCellsBoolV (const RefRows& rownrs,
553 const Array<Bool>* dataPtr);
554 virtual void putArrayColumnCellsuCharV (const RefRows& rownrs,
555 const Array<uChar>* dataPtr);
556 virtual void putArrayColumnCellsShortV (const RefRows& rownrs,
557 const Array<Short>* dataPtr);
558 virtual void putArrayColumnCellsuShortV (const RefRows& rownrs,
559 const Array<uShort>* dataPtr);
560 virtual void putArrayColumnCellsIntV (const RefRows& rownrs,
561 const Array<Int>* dataPtr);
562 virtual void putArrayColumnCellsuIntV (const RefRows& rownrs,
563 const Array<uInt>* dataPtr);
564 virtual void putArrayColumnCellsInt64V (const RefRows& rownrs,
565 const Array<Int64>* dataPtr);
566 virtual void putArrayColumnCellsfloatV (const RefRows& rownrs,
567 const Array<float>* dataPtr);
568 virtual void putArrayColumnCellsdoubleV (const RefRows& rownrs,
569 const Array<double>* dataPtr);
570 virtual void putArrayColumnCellsComplexV (const RefRows& rownrs,
571 const Array<Complex>* dataPtr);
572 virtual void putArrayColumnCellsDComplexV (const RefRows& rownrs,
573 const Array<DComplex>* dataPtr);
574 virtual void putArrayColumnCellsStringV (const RefRows& rownrs,
575 const Array<String>* dataPtr);
576 // </group>
577
578 // Get the array value in the given row.
579 // The array pointed to by dataPtr has to have the correct length
580 // (which is guaranteed by the ArrayColumn getSlice function).
581 // The default implementations call DataManagerColumn::getSliceBase.
582 // <group>
583 virtual void getSliceBoolV (uInt rownr, const Slicer& ns,
584 Array<Bool>* dataPtr);
585 virtual void getSliceuCharV (uInt rownr, const Slicer& ns,
586 Array<uChar>* dataPtr);
587 virtual void getSliceShortV (uInt rownr, const Slicer& ns,
588 Array<Short>* dataPtr);
589 virtual void getSliceuShortV (uInt rownr, const Slicer& ns,
590 Array<uShort>* dataPtr);
591 virtual void getSliceIntV (uInt rownr, const Slicer& ns,
592 Array<Int>* dataPtr);
593 virtual void getSliceuIntV (uInt rownr, const Slicer& ns,
594 Array<uInt>* dataPtr);
595 virtual void getSliceInt64V (uInt rownr, const Slicer& ns,
596 Array<Int64>* dataPtr);
597 virtual void getSlicefloatV (uInt rownr, const Slicer& ns,
598 Array<float>* dataPtr);
599 virtual void getSlicedoubleV (uInt rownr, const Slicer& ns,
600 Array<double>* dataPtr);
601 virtual void getSliceComplexV (uInt rownr, const Slicer& ns,
602 Array<Complex>* dataPtr);
603 virtual void getSliceDComplexV (uInt rownr, const Slicer& ns,
604 Array<DComplex>* dataPtr);
605 virtual void getSliceStringV (uInt rownr, const Slicer& ns,
606 Array<String>* dataPtr);
607 // </group>
608
609 // Put the array value into the given row.
610 // The buffer pointed to by dataPtr has to have the correct length
611 // (which is guaranteed by the ArrayColumn putSlice function).
612 // The default implementations call DataManagerColumn::putSliceBase.
613 // <group>
614 virtual void putSliceBoolV (uInt rownr, const Slicer& ns,
615 const Array<Bool>* dataPtr);
616 virtual void putSliceuCharV (uInt rownr, const Slicer& ns,
617 const Array<uChar>* dataPtr);
618 virtual void putSliceShortV (uInt rownr, const Slicer& ns,
619 const Array<Short>* dataPtr);
620 virtual void putSliceuShortV (uInt rownr, const Slicer& ns,
621 const Array<uShort>* dataPtr);
622 virtual void putSliceIntV (uInt rownr, const Slicer& ns,
623 const Array<Int>* dataPtr);
624 virtual void putSliceuIntV (uInt rownr, const Slicer& ns,
625 const Array<uInt>* dataPtr);
626 virtual void putSliceInt64V (uInt rownr, const Slicer& ns,
627 const Array<Int64>* dataPtr);
628 virtual void putSlicefloatV (uInt rownr, const Slicer& ns,
629 const Array<float>* dataPtr);
630 virtual void putSlicedoubleV (uInt rownr, const Slicer& ns,
631 const Array<double>* dataPtr);
632 virtual void putSliceComplexV (uInt rownr, const Slicer& ns,
633 const Array<Complex>* dataPtr);
634 virtual void putSliceDComplexV (uInt rownr, const Slicer& ns,
635 const Array<DComplex>* dataPtr);
636 virtual void putSliceStringV (uInt rownr, const Slicer& ns,
637 const Array<String>* dataPtr);
638 // </group>
639
640 // Get the array values in the entire column.
641 // The buffer pointed to by dataPtr has to have the correct length.
642 // (which is guaranteed by the ArrayColumn getColumn function).
643 // The default implementations call DataManagerColumn::getColumnSliceBase.
644 // <group>
645 virtual void getColumnSliceBoolV (const Slicer& ns,
646 Array<Bool>* dataPtr);
647 virtual void getColumnSliceuCharV (const Slicer& ns,
648 Array<uChar>* dataPtr);
649 virtual void getColumnSliceShortV (const Slicer& ns,
650 Array<Short>* dataPtr);
651 virtual void getColumnSliceuShortV (const Slicer& ns,
652 Array<uShort>* dataPtr);
653 virtual void getColumnSliceIntV (const Slicer& ns,
654 Array<Int>* dataPtr);
655 virtual void getColumnSliceuIntV (const Slicer& ns,
656 Array<uInt>* dataPtr);
657 virtual void getColumnSliceInt64V (const Slicer& ns,
658 Array<Int64>* dataPtr);
659 virtual void getColumnSlicefloatV (const Slicer& ns,
660 Array<float>* dataPtr);
661 virtual void getColumnSlicedoubleV (const Slicer& ns,
662 Array<double>* dataPtr);
663 virtual void getColumnSliceComplexV (const Slicer& ns,
664 Array<Complex>* dataPtr);
665 virtual void getColumnSliceDComplexV (const Slicer& ns,
666 Array<DComplex>* dataPtr);
667 virtual void getColumnSliceStringV (const Slicer& ns,
668 Array<String>* dataPtr);
669 // </group>
670
671 // Put the array values into the entire column.
672 // The buffer pointed to by dataPtr has to have the correct length.
673 // (which is guaranteed by the ArrayColumn putColumn function).
674 // The default implementations call DataManagerColumn::putColumnSliceBase.
675 // <group>
676 virtual void putColumnSliceBoolV (const Slicer& ns,
677 const Array<Bool>* dataPtr);
678 virtual void putColumnSliceuCharV (const Slicer& ns,
679 const Array<uChar>* dataPtr);
680 virtual void putColumnSliceShortV (const Slicer& ns,
681 const Array<Short>* dataPtr);
682 virtual void putColumnSliceuShortV (const Slicer& ns,
683 const Array<uShort>* dataPtr);
684 virtual void putColumnSliceIntV (const Slicer& ns,
685 const Array<Int>* dataPtr);
686 virtual void putColumnSliceuIntV (const Slicer& ns,
687 const Array<uInt>* dataPtr);
688 virtual void putColumnSliceInt64V (const Slicer& ns,
689 const Array<Int64>* dataPtr);
690 virtual void putColumnSlicefloatV (const Slicer& ns,
691 const Array<float>* dataPtr);
692 virtual void putColumnSlicedoubleV (const Slicer& ns,
693 const Array<double>* dataPtr);
694 virtual void putColumnSliceComplexV (const Slicer& ns,
695 const Array<Complex>* dataPtr);
696 virtual void putColumnSliceDComplexV (const Slicer& ns,
697 const Array<DComplex>* dataPtr);
698 virtual void putColumnSliceStringV (const Slicer& ns,
699 const Array<String>* dataPtr);
700 // </group>
701
702 // Get the array values in some cells of the column.
703 // The buffer pointed to by dataPtr has to have the correct length.
704 // (which is guaranteed by the ArrayColumn getColumnCells function).
705 // The default implementations call DataManagerColumn::getColumnSliceCellsBase.
706 // <group>
707 virtual void getColumnSliceCellsBoolV (const RefRows& rownrs,
708 const Slicer& ns,
709 Array<Bool>* dataPtr);
710 virtual void getColumnSliceCellsuCharV (const RefRows& rownrs,
711 const Slicer& ns,
712 Array<uChar>* dataPtr);
713 virtual void getColumnSliceCellsShortV (const RefRows& rownrs,
714 const Slicer& ns,
715 Array<Short>* dataPtr);
716 virtual void getColumnSliceCellsuShortV (const RefRows& rownrs,
717 const Slicer& ns,
718 Array<uShort>* dataPtr);
719 virtual void getColumnSliceCellsIntV (const RefRows& rownrs,
720 const Slicer& ns,
721 Array<Int>* dataPtr);
722 virtual void getColumnSliceCellsuIntV (const RefRows& rownrs,
723 const Slicer& ns,
724 Array<uInt>* dataPtr);
725 virtual void getColumnSliceCellsInt64V (const RefRows& rownrs,
726 const Slicer& ns,
727 Array<Int64>* dataPtr);
728 virtual void getColumnSliceCellsfloatV (const RefRows& rownrs,
729 const Slicer& ns,
730 Array<float>* dataPtr);
731 virtual void getColumnSliceCellsdoubleV (const RefRows& rownrs,
732 const Slicer& ns,
733 Array<double>* dataPtr);
734 virtual void getColumnSliceCellsComplexV (const RefRows& rownrs,
735 const Slicer& ns,
736 Array<Complex>* dataPtr);
737 virtual void getColumnSliceCellsDComplexV (const RefRows& rownrs,
738 const Slicer& ns,
739 Array<DComplex>* dataPtr);
740 virtual void getColumnSliceCellsStringV (const RefRows& rownrs,
741 const Slicer& ns,
742 Array<String>* dataPtr);
743 // </group>
744
745 // Put the array values into some cells of the column.
746 // The buffer pointed to by dataPtr has to have the correct length.
747 // (which is guaranteed by the ArrayColumn putColumnSlice function).
748 // The default implementations call DataManagerColumn::putColumnSliceCellsBase.
749 // <group>
750 virtual void putColumnSliceCellsBoolV (const RefRows& rownrs,
751 const Slicer& ns,
752 const Array<Bool>* dataPtr);
753 virtual void putColumnSliceCellsuCharV (const RefRows& rownrs,
754 const Slicer& ns,
755 const Array<uChar>* dataPtr);
756 virtual void putColumnSliceCellsShortV (const RefRows& rownrs,
757 const Slicer& ns,
758 const Array<Short>* dataPtr);
759 virtual void putColumnSliceCellsuShortV (const RefRows& rownrs,
760 const Slicer& ns,
761 const Array<uShort>* dataPtr);
762 virtual void putColumnSliceCellsIntV (const RefRows& rownrs,
763 const Slicer& ns,
764 const Array<Int>* dataPtr);
765 virtual void putColumnSliceCellsuIntV (const RefRows& rownrs,
766 const Slicer& ns,
767 const Array<uInt>* dataPtr);
768 virtual void putColumnSliceCellsInt64V (const RefRows& rownrs,
769 const Slicer& ns,
770 const Array<Int64>* dataPtr);
771 virtual void putColumnSliceCellsfloatV (const RefRows& rownrs,
772 const Slicer& ns,
773 const Array<float>* dataPtr);
774 virtual void putColumnSliceCellsdoubleV (const RefRows& rownrs,
775 const Slicer& ns,
776 const Array<double>* dataPtr);
777 virtual void putColumnSliceCellsComplexV (const RefRows& rownrs,
778 const Slicer& ns,
779 const Array<Complex>* dataPtr);
780 virtual void putColumnSliceCellsDComplexV (const RefRows& rownrs,
781 const Slicer& ns,
782 const Array<DComplex>* dataPtr);
783 virtual void putColumnSliceCellsStringV (const RefRows& rownrs,
784 const Slicer& ns,
785 const Array<String>* dataPtr);
786 // </group>
787};
788
789
790
791
792} //# NAMESPACE CASACORE - END
793
794#endif
Non-templated base class for templated Array class.
Definition ArrayBase.h:71
virtual int dataType() const
Return the data type of the column.
virtual void putArrayColumnCellsShortV(const RefRows &rownrs, const Array< Short > *dataPtr)
virtual void getArrayColumnuShortV(Array< uShort > *dataPtr)
virtual void putuIntV(uInt rownr, const uInt *dataPtr)
virtual void putSliceShortV(uInt rownr, const Slicer &ns, const Array< Short > *dataPtr)
virtual void putSliceV(rownr_t rownr, const Slicer &slicer, const ArrayBase &dataPtr)
Put into a section of the array in the given row.
virtual void getColumnSliceCellsuShortV(const RefRows &rownrs, const Slicer &ns, Array< uShort > *dataPtr)
virtual void getScalarColumnDComplexV(Vector< DComplex > *dataPtr)
virtual void getArrayColumnShortV(Array< Short > *dataPtr)
virtual void putColumnSliceCellsBoolV(const RefRows &rownrs, const Slicer &ns, const Array< Bool > *dataPtr)
Put the array values into some cells of the column.
virtual uInt ndim(uInt rownr)
virtual void putArrayBoolV(uInt rownr, const Array< Bool > *dataPtr)
Put the array value into the given row.
virtual void getScalarColumnCellsuIntV(const RefRows &rownrs, Vector< uInt > *dataPtr)
virtual void getArrayInt64V(uInt rownr, Array< Int64 > *dataPtr)
virtual Bool isShapeDefined(uInt rownr)
virtual void getColumnSliceIntV(const Slicer &ns, Array< Int > *dataPtr)
virtual void putScalarColumnCellsuShortV(const RefRows &rownrs, const Vector< uShort > *dataPtr)
virtual void putSliceuShortV(uInt rownr, const Slicer &ns, const Array< uShort > *dataPtr)
virtual void putScalarColumnCellsDComplexV(const RefRows &rownrs, const Vector< DComplex > *dataPtr)
virtual void getArrayColumnCellsV(const RefRows &rownrs, ArrayBase &dataPtr)
Get some array values in the column.
virtual void putColumnSliceCellsuIntV(const RefRows &rownrs, const Slicer &ns, const Array< uInt > *dataPtr)
virtual void getScalarColumnCellsV(const RefRows &rownrs, ArrayBase &dataPtr)
Get some scalar values in the column.
virtual void getArrayColumnCellsInt64V(const RefRows &rownrs, Array< Int64 > *dataPtr)
virtual void getSliceuShortV(uInt rownr, const Slicer &ns, Array< uShort > *dataPtr)
virtual void getColumnSliceCellsInt64V(const RefRows &rownrs, const Slicer &ns, Array< Int64 > *dataPtr)
virtual void putString(rownr_t rownr, const String *dataPtr)
virtual void getuShortV(uInt rownr, uShort *dataPtr)
virtual void getScalarColumnCellsStringV(const RefRows &rownrs, Vector< String > *dataPtr)
virtual void getArrayBoolV(uInt rownr, Array< Bool > *dataPtr)
Get the array value in the given row.
virtual void putScalarColumnCellsuIntV(const RefRows &rownrs, const Vector< uInt > *dataPtr)
virtual void putSliceuIntV(uInt rownr, const Slicer &ns, const Array< uInt > *dataPtr)
virtual void putArrayColumnDComplexV(const Array< DComplex > *dataPtr)
virtual void putScalarColumnCellsfloatV(const RefRows &rownrs, const Vector< float > *dataPtr)
virtual void putArrayColumnCellsV(const RefRows &rownrs, const ArrayBase &dataPtr)
Put some array values in the column.
virtual void getArrayColumnCellsBoolV(const RefRows &rownrs, Array< Bool > *dataPtr)
Get the array values in some cells of the column.
virtual void getArrayColumnCellsuCharV(const RefRows &rownrs, Array< uChar > *dataPtr)
virtual void putArrayColumnfloatV(const Array< float > *dataPtr)
virtual void getScalarColumnComplexV(Vector< Complex > *dataPtr)
virtual void getArrayColumnV(ArrayBase &dataPtr)
Get all array values in the column.
virtual void getSliceIntV(uInt rownr, const Slicer &ns, Array< Int > *dataPtr)
virtual void putArrayColumnCellsfloatV(const RefRows &rownrs, const Array< float > *dataPtr)
virtual void getColumnSliceBoolV(const Slicer &ns, Array< Bool > *dataPtr)
Get the array values in the entire column.
virtual void putColumnSliceV(const Slicer &slicer, const ArrayBase &dataPtr)
Put into a section of all arrays in the column.
virtual void putArrayShortV(uInt rownr, const Array< Short > *dataPtr)
virtual void putdoubleV(uInt rownr, const double *dataPtr)
virtual void getArrayColumnCellsfloatV(const RefRows &rownrs, Array< float > *dataPtr)
virtual void putScalarColumnBoolV(const Vector< Bool > *dataPtr)
Put the scalar values into the entire column.
virtual void putuInt(rownr_t rownr, const uInt *dataPtr)
virtual void putColumnSliceCellsDComplexV(const RefRows &rownrs, const Slicer &ns, const Array< DComplex > *dataPtr)
virtual void getString(rownr_t rownr, String *dataPtr)
virtual void putColumnSliceCellsInt64V(const RefRows &rownrs, const Slicer &ns, const Array< Int64 > *dataPtr)
virtual void putArrayColumnuShortV(const Array< uShort > *dataPtr)
virtual void getScalarColumndoubleV(Vector< double > *dataPtr)
virtual void putArrayColumnStringV(const Array< String > *dataPtr)
virtual void getColumnSliceV(const Slicer &slicer, ArrayBase &dataPtr)
Get a section of all arrays in the column.
virtual void getArrayDComplexV(uInt rownr, Array< DComplex > *dataPtr)
virtual void putColumnSliceCellsuCharV(const RefRows &rownrs, const Slicer &ns, const Array< uChar > *dataPtr)
virtual void putArrayStringV(uInt rownr, const Array< String > *dataPtr)
virtual void putColumnSliceCellsuShortV(const RefRows &rownrs, const Slicer &ns, const Array< uShort > *dataPtr)
virtual void getScalarColumnCellsIntV(const RefRows &rownrs, Vector< Int > *dataPtr)
virtual void putArrayColumnCellsuCharV(const RefRows &rownrs, const Array< uChar > *dataPtr)
virtual void getScalarColumnV(ArrayBase &dataPtr)
Get all scalar values in the column.
virtual void putScalarColumnCellsuCharV(const RefRows &rownrs, const Vector< uChar > *dataPtr)
virtual void getScalarColumnCellsBoolV(const RefRows &rownrs, Vector< Bool > *dataPtr)
Get the scalar values in some cells of the column.
virtual void putScalarColumnInt64V(const Vector< Int64 > *dataPtr)
virtual void putColumnSliceCellsComplexV(const RefRows &rownrs, const Slicer &ns, const Array< Complex > *dataPtr)
virtual void putArrayInt64V(uInt rownr, const Array< Int64 > *dataPtr)
virtual void getSliceBoolV(uInt rownr, const Slicer &ns, Array< Bool > *dataPtr)
Get the array value in the given row.
virtual void getColumnSliceCellsStringV(const RefRows &rownrs, const Slicer &ns, Array< String > *dataPtr)
virtual void getuChar(rownr_t rownr, uChar *dataPtr)
virtual IPosition tileShape(rownr_t rownr)
Get the tile shape of the item in the given row.
virtual void putShort(rownr_t rownr, const Short *dataPtr)
virtual void getColumnSliceComplexV(const Slicer &ns, Array< Complex > *dataPtr)
virtual void putArrayColumnCellsStringV(const RefRows &rownrs, const Array< String > *dataPtr)
virtual void getScalarColumnfloatV(Vector< float > *dataPtr)
virtual void putComplex(rownr_t rownr, const Complex *dataPtr)
virtual void getuInt(rownr_t rownr, uInt *dataPtr)
virtual void putScalarColumnComplexV(const Vector< Complex > *dataPtr)
virtual void putArrayColumnCellsuShortV(const RefRows &rownrs, const Array< uShort > *dataPtr)
virtual void getSliceV(rownr_t rownr, const Slicer &slicer, ArrayBase &dataPtr)
Get a section of the array in the given row.
virtual void getColumnSliceuShortV(const Slicer &ns, Array< uShort > *dataPtr)
virtual void putArrayDComplexV(uInt rownr, const Array< DComplex > *dataPtr)
virtual void putArrayColumnBoolV(const Array< Bool > *dataPtr)
Put the array values into the entire column.
virtual void putScalarColumnuIntV(const Vector< uInt > *dataPtr)
virtual void getDComplexV(uInt rownr, DComplex *dataPtr)
virtual uInt ndim(rownr_t rownr)
Get the dimensionality of the item in the given row.
virtual void getSlicedoubleV(uInt rownr, const Slicer &ns, Array< double > *dataPtr)
virtual void getSliceDComplexV(uInt rownr, const Slicer &ns, Array< DComplex > *dataPtr)
void throwInvalidOp(const String &op) const
Throw an "invalid operation" exception for the default implementation of getArray.
virtual void getSliceShortV(uInt rownr, const Slicer &ns, Array< Short > *dataPtr)
virtual void getBoolV(uInt rownr, Bool *dataPtr)
Get the scalar value in the given row.
virtual void putArrayColumnCellsIntV(const RefRows &rownrs, const Array< Int > *dataPtr)
virtual void putArrayuShortV(uInt rownr, const Array< uShort > *dataPtr)
virtual void getColumnSliceuIntV(const Slicer &ns, Array< uInt > *dataPtr)
virtual void putfloat(rownr_t rownr, const float *dataPtr)
virtual void putfloatV(uInt rownr, const float *dataPtr)
virtual void putSliceIntV(uInt rownr, const Slicer &ns, const Array< Int > *dataPtr)
virtual void getArrayColumnCellsdoubleV(const RefRows &rownrs, Array< double > *dataPtr)
virtual void putColumnSliceCellsIntV(const RefRows &rownrs, const Slicer &ns, const Array< Int > *dataPtr)
virtual void getArrayColumnCellsStringV(const RefRows &rownrs, Array< String > *dataPtr)
virtual void putShortV(uInt rownr, const Short *dataPtr)
virtual IPosition shape(uInt rownr)
virtual Bool isShapeDefined(rownr_t rownr)
Is the value shape defined in the given row? By default it returns True.
virtual void putuChar(rownr_t rownr, const uChar *dataPtr)
virtual IPosition shape(rownr_t rownr)
Get the shape of the item in the given row.
virtual void putArrayColumnCellsdoubleV(const RefRows &rownrs, const Array< double > *dataPtr)
virtual void getSlicefloatV(uInt rownr, const Slicer &ns, Array< float > *dataPtr)
virtual void putArrayColumnShortV(const Array< Short > *dataPtr)
virtual void putSliceComplexV(uInt rownr, const Slicer &ns, const Array< Complex > *dataPtr)
virtual void getSliceuIntV(uInt rownr, const Slicer &ns, Array< uInt > *dataPtr)
virtual void getColumnSliceCellsIntV(const RefRows &rownrs, const Slicer &ns, Array< Int > *dataPtr)
virtual void getScalarColumnStringV(Vector< String > *dataPtr)
virtual void getInt(rownr_t rownr, Int *dataPtr)
virtual void putArrayuCharV(uInt rownr, const Array< uChar > *dataPtr)
virtual void getIntV(uInt rownr, Int *dataPtr)
virtual void putStringV(uInt rownr, const String *dataPtr)
virtual void putScalarColumnCellsInt64V(const RefRows &rownrs, const Vector< Int64 > *dataPtr)
virtual void getArrayuIntV(uInt rownr, Array< uInt > *dataPtr)
virtual void getArrayColumnInt64V(Array< Int64 > *dataPtr)
virtual void putArrayColumnuCharV(const Array< uChar > *dataPtr)
virtual void getStringV(uInt rownr, String *dataPtr)
virtual void putScalarColumnV(const ArrayBase &dataPtr)
Put all scalar values in the column.
virtual void getArrayColumnIntV(Array< Int > *dataPtr)
virtual void getColumnSliceCellsfloatV(const RefRows &rownrs, const Slicer &ns, Array< float > *dataPtr)
virtual void putSliceuCharV(uInt rownr, const Slicer &ns, const Array< uChar > *dataPtr)
virtual void getArrayfloatV(uInt rownr, Array< float > *dataPtr)
virtual void putArrayColumnCellsBoolV(const RefRows &rownrs, const Array< Bool > *dataPtr)
Put the array values into some cells of the column.
virtual void getScalarColumnIntV(Vector< Int > *dataPtr)
virtual void putArrayColumnComplexV(const Array< Complex > *dataPtr)
virtual void getArrayIntV(uInt rownr, Array< Int > *dataPtr)
virtual void getArrayColumnCellsuShortV(const RefRows &rownrs, Array< uShort > *dataPtr)
virtual void putSlicefloatV(uInt rownr, const Slicer &ns, const Array< float > *dataPtr)
virtual void getScalarColumnCellsdoubleV(const RefRows &rownrs, Vector< double > *dataPtr)
virtual void getScalarColumnuCharV(Vector< uChar > *dataPtr)
virtual void putSliceBoolV(uInt rownr, const Slicer &ns, const Array< Bool > *dataPtr)
Put the array value into the given row.
StManColumn & operator=(const StManColumn &)=delete
The object cannot be assigned to.
virtual void putSliceInt64V(uInt rownr, const Slicer &ns, const Array< Int64 > *dataPtr)
virtual void getfloat(rownr_t rownr, float *dataPtr)
StManColumn(int dataType)
Default constructor.
Definition StManColumn.h:78
virtual void putDComplex(rownr_t rownr, const DComplex *dataPtr)
virtual void putuCharV(uInt rownr, const uChar *dataPtr)
virtual void getScalarColumnCellsDComplexV(const RefRows &rownrs, Vector< DComplex > *dataPtr)
virtual void putArraydoubleV(uInt rownr, const Array< double > *dataPtr)
virtual void setShape(uInt rownr, const IPosition &shape)
virtual void getColumnSliceCellsV(const RefRows &rownrs, const Slicer &slicer, ArrayBase &dataPtr)
Get a section of some arrays in the column.
virtual void putSliceDComplexV(uInt rownr, const Slicer &ns, const Array< DComplex > *dataPtr)
virtual void putSlicedoubleV(uInt rownr, const Slicer &ns, const Array< double > *dataPtr)
virtual void putColumnSliceuCharV(const Slicer &ns, const Array< uChar > *dataPtr)
virtual void getScalarColumnInt64V(Vector< Int64 > *dataPtr)
virtual void putArrayColumnCellsComplexV(const RefRows &rownrs, const Array< Complex > *dataPtr)
virtual void setShapeTiled(rownr_t rownr, const IPosition &shape, const IPosition &tileShape)
Set the shape and tile shape of an (variable-shaped) array in the given row.
virtual void putScalarColumnuCharV(const Vector< uChar > *dataPtr)
virtual void getSliceComplexV(uInt rownr, const Slicer &ns, Array< Complex > *dataPtr)
virtual void getArrayColumnuIntV(Array< uInt > *dataPtr)
virtual void getColumnSliceInt64V(const Slicer &ns, Array< Int64 > *dataPtr)
virtual void getScalarColumnCellsComplexV(const RefRows &rownrs, Vector< Complex > *dataPtr)
virtual void putArrayColumnV(const ArrayBase &dataPtr)
Put all array values in the column.
virtual void putComplexV(uInt rownr, const Complex *dataPtr)
virtual void putColumnSliceBoolV(const Slicer &ns, const Array< Bool > *dataPtr)
Put the array values into the entire column.
virtual void putScalarColumnCellsBoolV(const RefRows &rownrs, const Vector< Bool > *dataPtr)
Put the scalar values into some cells of the column.
virtual void getScalarColumnBoolV(Vector< Bool > *dataPtr)
Get the scalar values in the entire column.
virtual void getBool(rownr_t rownr, Bool *dataPtr)
Get the scalar value in the given row.
virtual void putInt(rownr_t rownr, const Int *dataPtr)
virtual void getColumnSlicedoubleV(const Slicer &ns, Array< double > *dataPtr)
virtual void putArrayColumnCellsuIntV(const RefRows &rownrs, const Array< uInt > *dataPtr)
virtual void getScalarColumnCellsuShortV(const RefRows &rownrs, Vector< uShort > *dataPtr)
virtual void putColumnSliceCellsStringV(const RefRows &rownrs, const Slicer &ns, const Array< String > *dataPtr)
virtual void putColumnSliceCellsV(const RefRows &rownrs, const Slicer &slicer, const ArrayBase &dataPtr)
Put into a section of some arrays in the column.
virtual void putArrayColumnInt64V(const Array< Int64 > *dataPtr)
virtual void getColumnSliceCellsShortV(const RefRows &rownrs, const Slicer &ns, Array< Short > *dataPtr)
virtual void setShape(rownr_t rownr, const IPosition &shape)
Set the shape of an (variable-shaped) array in the given row.
virtual void getColumnSliceStringV(const Slicer &ns, Array< String > *dataPtr)
virtual void putScalarColumnStringV(const Vector< String > *dataPtr)
virtual void putColumnSlicedoubleV(const Slicer &ns, const Array< double > *dataPtr)
virtual void putColumnSliceComplexV(const Slicer &ns, const Array< Complex > *dataPtr)
virtual void putArrayfloatV(uInt rownr, const Array< float > *dataPtr)
virtual void getArrayColumnComplexV(Array< Complex > *dataPtr)
virtual void getSliceuCharV(uInt rownr, const Slicer &ns, Array< uChar > *dataPtr)
virtual void putScalarColumnCellsStringV(const RefRows &rownrs, const Vector< String > *dataPtr)
virtual void putColumnSliceCellsfloatV(const RefRows &rownrs, const Slicer &ns, const Array< float > *dataPtr)
virtual void getColumnSliceCellsDComplexV(const RefRows &rownrs, const Slicer &ns, Array< DComplex > *dataPtr)
virtual void putSliceStringV(uInt rownr, const Slicer &ns, const Array< String > *dataPtr)
StManColumn(const StManColumn &)=delete
The object cannot be copied.
virtual void putBoolV(uInt rownr, const Bool *dataPtr)
Put the scalar value in the given row.
virtual void getArraydoubleV(uInt rownr, Array< double > *dataPtr)
virtual void getuCharV(uInt rownr, uChar *dataPtr)
virtual void putColumnSliceStringV(const Slicer &ns, const Array< String > *dataPtr)
virtual void getColumnSliceCellsComplexV(const RefRows &rownrs, const Slicer &ns, Array< Complex > *dataPtr)
virtual void putColumnSliceCellsdoubleV(const RefRows &rownrs, const Slicer &ns, const Array< double > *dataPtr)
virtual void putArrayColumnIntV(const Array< Int > *dataPtr)
virtual void putArrayV(rownr_t rownr, const ArrayBase &dataPtr)
Put the array value into the given row.
virtual void putArrayColumnuIntV(const Array< uInt > *dataPtr)
virtual void getComplexV(uInt rownr, Complex *dataPtr)
virtual IPosition tileShape(uInt rownr)
virtual void getDComplex(rownr_t rownr, DComplex *dataPtr)
virtual void setShapeTiled(uInt rownr, const IPosition &shape, const IPosition &tileShape)
virtual void putArrayIntV(uInt rownr, const Array< Int > *dataPtr)
virtual void putDComplexV(uInt rownr, const DComplex *dataPtr)
virtual void getArrayV(rownr_t rownr, ArrayBase &dataPtr)
Get the array value in the given row.
virtual void putColumnSlicefloatV(const Slicer &ns, const Array< float > *dataPtr)
virtual void getScalarColumnShortV(Vector< Short > *dataPtr)
virtual void getArrayStringV(uInt rownr, Array< String > *dataPtr)
virtual void getdoubleV(uInt rownr, double *dataPtr)
virtual void getScalarColumnCellsuCharV(const RefRows &rownrs, Vector< uChar > *dataPtr)
virtual void getColumnSliceuCharV(const Slicer &ns, Array< uChar > *dataPtr)
virtual void getColumnSliceDComplexV(const Slicer &ns, Array< DComplex > *dataPtr)
virtual void getfloatV(uInt rownr, float *dataPtr)
virtual void getSliceInt64V(uInt rownr, const Slicer &ns, Array< Int64 > *dataPtr)
virtual void putColumnSliceuShortV(const Slicer &ns, const Array< uShort > *dataPtr)
virtual void getuShort(rownr_t rownr, uShort *dataPtr)
virtual void getSliceStringV(uInt rownr, const Slicer &ns, Array< String > *dataPtr)
virtual void getArrayComplexV(uInt rownr, Array< Complex > *dataPtr)
virtual void putArrayColumnCellsDComplexV(const RefRows &rownrs, const Array< DComplex > *dataPtr)
virtual void getArrayColumnDComplexV(Array< DComplex > *dataPtr)
virtual void putScalarColumnCellsdoubleV(const RefRows &rownrs, const Vector< double > *dataPtr)
virtual void getColumnSliceShortV(const Slicer &ns, Array< Short > *dataPtr)
virtual void putuShort(rownr_t rownr, const uShort *dataPtr)
virtual void putColumnSliceCellsShortV(const RefRows &rownrs, const Slicer &ns, const Array< Short > *dataPtr)
virtual void getScalarColumnCellsfloatV(const RefRows &rownrs, Vector< float > *dataPtr)
virtual void putuShortV(uInt rownr, const uShort *dataPtr)
virtual void getArrayColumnCellsShortV(const RefRows &rownrs, Array< Short > *dataPtr)
virtual void getuIntV(uInt rownr, uInt *dataPtr)
virtual void putScalarColumnCellsV(const RefRows &rownrs, const ArrayBase &dataPtr)
Put some scalar values in the column.
virtual void getArrayColumnCellsDComplexV(const RefRows &rownrs, Array< DComplex > *dataPtr)
virtual void getArrayColumnCellsuIntV(const RefRows &rownrs, Array< uInt > *dataPtr)
virtual void getScalarColumnCellsShortV(const RefRows &rownrs, Vector< Short > *dataPtr)
virtual void putColumnSliceInt64V(const Slicer &ns, const Array< Int64 > *dataPtr)
virtual void getArrayColumnfloatV(Array< float > *dataPtr)
virtual void putScalarColumnShortV(const Vector< Short > *dataPtr)
virtual void getComplex(rownr_t rownr, Complex *dataPtr)
virtual void putArrayColumndoubleV(const Array< double > *dataPtr)
virtual void getArrayColumnuCharV(Array< uChar > *dataPtr)
virtual void getColumnSliceCellsBoolV(const RefRows &rownrs, const Slicer &ns, Array< Bool > *dataPtr)
Get the array values in some cells of the column.
virtual void putBool(rownr_t rownr, const Bool *dataPtr)
Put the scalar value in the given row.
virtual void getArrayColumnStringV(Array< String > *dataPtr)
virtual void putColumnSliceDComplexV(const Slicer &ns, const Array< DComplex > *dataPtr)
virtual void putColumnSliceShortV(const Slicer &ns, const Array< Short > *dataPtr)
virtual void putScalarColumnCellsComplexV(const RefRows &rownrs, const Vector< Complex > *dataPtr)
virtual void putScalarColumnfloatV(const Vector< float > *dataPtr)
virtual void putIntV(uInt rownr, const Int *dataPtr)
virtual void putColumnSliceIntV(const Slicer &ns, const Array< Int > *dataPtr)
virtual void putArrayComplexV(uInt rownr, const Array< Complex > *dataPtr)
virtual void getArrayuCharV(uInt rownr, Array< uChar > *dataPtr)
virtual void putArrayuIntV(uInt rownr, const Array< uInt > *dataPtr)
virtual void getArrayColumnCellsIntV(const RefRows &rownrs, Array< Int > *dataPtr)
virtual void putScalarColumnuShortV(const Vector< uShort > *dataPtr)
virtual void putColumnSliceuIntV(const Slicer &ns, const Array< uInt > *dataPtr)
virtual void getColumnSlicefloatV(const Slicer &ns, Array< float > *dataPtr)
virtual void putScalarColumnIntV(const Vector< Int > *dataPtr)
virtual void getShortV(uInt rownr, Short *dataPtr)
virtual void getArrayColumnCellsComplexV(const RefRows &rownrs, Array< Complex > *dataPtr)
virtual void getColumnSliceCellsdoubleV(const RefRows &rownrs, const Slicer &ns, Array< double > *dataPtr)
virtual void getScalarColumnuIntV(Vector< uInt > *dataPtr)
virtual void getScalarColumnuShortV(Vector< uShort > *dataPtr)
virtual void getArrayShortV(uInt rownr, Array< Short > *dataPtr)
virtual void putScalarColumnCellsIntV(const RefRows &rownrs, const Vector< Int > *dataPtr)
virtual void putScalarColumnDComplexV(const Vector< DComplex > *dataPtr)
virtual void getColumnSliceCellsuIntV(const RefRows &rownrs, const Slicer &ns, Array< uInt > *dataPtr)
virtual void getArrayuShortV(uInt rownr, Array< uShort > *dataPtr)
virtual void putScalarColumnCellsShortV(const RefRows &rownrs, const Vector< Short > *dataPtr)
virtual void putArrayColumnCellsInt64V(const RefRows &rownrs, const Array< Int64 > *dataPtr)
virtual void getColumnSliceCellsuCharV(const RefRows &rownrs, const Slicer &ns, Array< uChar > *dataPtr)
virtual void getShort(rownr_t rownr, Short *dataPtr)
virtual void getArrayColumnBoolV(Array< Bool > *dataPtr)
Get the array values in the entire column.
virtual void getScalarColumnCellsInt64V(const RefRows &rownrs, Vector< Int64 > *dataPtr)
virtual void putdouble(rownr_t rownr, const double *dataPtr)
virtual void getdouble(rownr_t rownr, double *dataPtr)
virtual void getArrayColumndoubleV(Array< double > *dataPtr)
virtual void putScalarColumndoubleV(const Vector< double > *dataPtr)
String: the storage and methods of handling collections of characters.
Definition String.h:223
this file contains all the compiler specific defines
Definition mainpage.dox:28
unsigned char uChar
Definition aipstype.h:45
short Short
Definition aipstype.h:46
unsigned int uInt
Definition aipstype.h:49
unsigned short uShort
Definition aipstype.h:47
int Int
Definition aipstype.h:48
bool Bool
Define the standard types used by Casacore.
Definition aipstype.h:40
uInt64 rownr_t
Define the type of a row number in a table.
Definition aipsxtype.h:44