casacore
Loading...
Searching...
No Matches
TableColumn.h
Go to the documentation of this file.
1// # TableColumn.h: Access to a table column
2// # Copyright (C) 1994,1995,1996,1997,1998,1999,2001,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_TABLECOLUMN_H
27#define TABLES_TABLECOLUMN_H
28
29// # Includes
30#include <casacore/casa/aips.h>
31#include <casacore/tables/Tables/BaseColumn.h>
32#include <casacore/tables/Tables/BaseTable.h>
33#include <casacore/casa/BasicSL/String.h>
34#include <casacore/casa/Arrays/IPosition.h>
35
36namespace casacore { // # NAMESPACE CASACORE - BEGIN
37
38// # Forward Declarations
39class Table;
40class BaseTable;
41
42// # Check the number of rows in debug mode.
43#if defined(AIPS_DEBUG)
44#define TABLECOLUMNCHECKROW(ROWNR) (checkRowNumber(ROWNR))
45#else
46#define TABLECOLUMNCHECKROW(ROWNR)
47#endif
48
49// <summary>
50// Read/write access to a table column
51// </summary>
52
53// <use visibility=export>
54
55// <reviewed reviewer="dschieb" date="1994/08/10" tests="none">
56// </reviewed>
57
58// <prerequisite>
59// <li> Table
60// <li> ColumnDesc
61// </prerequisite>
62
63// <synopsis>
64// The class TableColumn gives read and write access to a column
65// in a table. In particular access to the column description
66// (for name, data type, etc.) and to the column keyword set
67// can be obtained.
68// Another important function is isDefined, which tests if a
69// cell (i.e. table row) in a column contains a value.
70//
71// The classes ScalarColumn<T> and ArrayColumn<T> have to be
72// used to get/put the data in the column cells.
73// However, TableColumn has get functions for the basic data types
74// (Bool, uChar, Short, uSort, Int, uInt, Int64, float, double,
75// Complex, DComplex and String).
76// Opposite to the get functions in ScalarColumn<T>, the
77// TableColumn get functions support data type promotion.
78//
79// A default constructor is defined to allow construction of an array
80// of TableColumn objects. However, this constructs an object not
81// referencing a column. Functions like get, etc. will fail (i.e. result
82// in a segmentation fault) when used on such objects. The functions
83// isNull and throwIfNull can be used to test on this.
84// The functions attach and reference can fill in the object.
85// </synopsis>
86
87// <example>
88// See module <linkto module="Tables#open">Tables</linkto>.
89// </example>
90
92 friend class ForwardColumn; // # for function baseColPtr()
93
94 public:
95 // The default constructor creates a null object, i.e. it
96 // does not reference a table column.
97 // The sole purpose of this constructor is to allow construction
98 // of an array of TableColumn objects.
99 // The functions reference and attach can be used to make a null object
100 // reference a column.
101 // Note that get functions, etc. will cause a segmentation fault
102 // when operating on a null object. It was felt it was too expensive
103 // to test on null over and over again. The user should use the isNull
104 // or throwIfNull function in case of doubt.
106
107 // Construct the object for a column in the table using its name.
108 TableColumn(const Table&, const String& columnName);
109
110 // Construct the object for a column in the table using its index.
111 // This allows to loop through all columns in a table as:
112 // <srcblock>
113 // for (uInt=0; i<tab.ncolumn(); i++) {
114 // TableColumn tabcol(tab,i);
115 // }
116 // </srcblock>
117 TableColumn(const Table&, uInt columnIndex);
118
119 // Copy constructor (reference semantics).
121
122 virtual ~TableColumn();
123
124 // Assignment has reference semantics.
125 // It copies the object, not the data of that column to this column.
126 // Function <src>putColumn</src> can be used to copy the data of a column.
127 // <br>It does the same as the reference function.
129
130 // Clone the object.
131 virtual TableColumn* clone() const;
132
133 // Change the reference to another column.
134 // This is in fact an assignment operator with reference semantics.
135 // It removes the reference to the current column and creates
136 // a reference to the column referenced in the other object.
137 // It will handle null objects correctly.
138 void reference(const TableColumn&);
139
140 // Attach a column to the object.
141 // This is in fact only a shorthand for
142 // <<br><src> reference (TableColumn (table, columnName)); </src>
143 // <group>
144 void attach(const Table& table, const String& columnName) {
145 reference(TableColumn(table, columnName));
146 }
147 void attach(const Table& table, uInt columnIndex) { reference(TableColumn(table, columnIndex)); }
148 // </group>
149
150 // Test if the object is null, i.e. does not reference a column.
151 Bool isNull() const { return (baseColPtr_p == 0 ? True : False); }
152
153 // Throw an exception if the object is null, i.e.
154 // if function isNull() is True.
155 void throwIfNull() const;
156
157 // Test if the column can be written to, thus if the column and
158 // the underlying table can be written to.
159 Bool isWritable() const { return baseTabPtr_p->isWritable() && isColWritable_p; }
160
161 // Test if the column is writable at all (virtual columns might not be).
162 // Note that keywords can always be written, even for virtual columns.
164
165 // Check if the column is writable and throw an exception if not.
166 void checkWritable() const {
168 }
169
170 // Get readonly access to the column keyword set.
171 const TableRecord& keywordSet() const { return baseColPtr_p->keywordSet(); }
172
173 // Get read/write access to the column keyword set.
174 // An exception is thrown if the table is not writable.
176
177 // Get const access to the column description.
178 // ColumnDesc functions have to be used to get the data type, etc..
179 const ColumnDesc& columnDesc() const;
180
181 // Get the Table object this column belongs to.
182 Table table() const;
183
184 // Get the number of rows in the column.
185 rownr_t nrow() const { return baseColPtr_p->nrow(); }
186
187 // Can the shape of an already existing non-FixedShape array be changed?
188 // This depends on the storage manager. Most storage managers
189 // can handle it, but TiledDataStMan and TiledColumnStMan can not.
191
192 // Get the global #dimensions of an array (ie. for all cells in column).
193 // This is always set for fixed shape arrays.
194 // Otherwise, 0 will be returned.
195 uInt ndimColumn() const { return baseColPtr_p->ndimColumn(); }
196
197 // Get the global shape of an array (ie. for all cells in the column).
198 // This is always set for fixed shape arrays.
199 // Otherwise, a 0-dim shape will be returned.
200 IPosition shapeColumn() const { return baseColPtr_p->shapeColumn(); }
201
202 // Test if the given cell contains a defined value.
203 Bool isDefined(rownr_t rownr) const {
204 TABLECOLUMNCHECKROW(rownr);
205 return baseColPtr_p->isDefined(rownr);
206 }
207
208 // Does the column has content in the given row (default is the first row)?
209 // It has if it is defined and does not contain an empty array.
210 Bool hasContent(rownr_t rownr = 0) const;
211
212 // Get the #dimensions of an array in a particular cell.
213 uInt ndim(rownr_t rownr) const {
214 TABLECOLUMNCHECKROW(rownr);
215 return baseColPtr_p->ndim(rownr);
216 }
217
218 // Get the shape of an array in a particular cell.
219 IPosition shape(rownr_t rownr) const {
220 TABLECOLUMNCHECKROW(rownr);
221 return baseColPtr_p->shape(rownr);
222 }
223
224 // Get the tile shape of an array in a particular cell.
226 TABLECOLUMNCHECKROW(rownr);
227 return baseColPtr_p->tileShape(rownr);
228 }
229
230 // Get the value of a scalar in the given row.
231 // Data type promotion is possible.
232 // These functions only work for the standard data types.
233 // <group>
234 void getScalar(rownr_t rownr, Bool& value) const {
235 TABLECOLUMNCHECKROW(rownr);
236 baseColPtr_p->getScalar(rownr, value);
237 }
238 void getScalar(rownr_t rownr, uChar& value) const {
239 TABLECOLUMNCHECKROW(rownr);
240 baseColPtr_p->getScalar(rownr, value);
241 }
242 void getScalar(rownr_t rownr, Short& value) const {
243 TABLECOLUMNCHECKROW(rownr);
244 baseColPtr_p->getScalar(rownr, value);
245 }
246 void getScalar(rownr_t rownr, uShort& value) const {
247 TABLECOLUMNCHECKROW(rownr);
248 baseColPtr_p->getScalar(rownr, value);
249 }
250 void getScalar(rownr_t rownr, Int& value) const {
251 TABLECOLUMNCHECKROW(rownr);
252 baseColPtr_p->getScalar(rownr, value);
253 }
254 void getScalar(rownr_t rownr, uInt& value) const {
255 TABLECOLUMNCHECKROW(rownr);
256 baseColPtr_p->getScalar(rownr, value);
257 }
258 void getScalar(rownr_t rownr, Int64& value) const {
259 TABLECOLUMNCHECKROW(rownr);
260 baseColPtr_p->getScalar(rownr, value);
261 }
262 void getScalar(rownr_t rownr, float& value) const {
263 TABLECOLUMNCHECKROW(rownr);
264 baseColPtr_p->getScalar(rownr, value);
265 }
266 void getScalar(rownr_t rownr, double& value) const {
267 TABLECOLUMNCHECKROW(rownr);
268 baseColPtr_p->getScalar(rownr, value);
269 }
270 void getScalar(rownr_t rownr, Complex& value) const {
271 TABLECOLUMNCHECKROW(rownr);
272 baseColPtr_p->getScalar(rownr, value);
273 }
274 void getScalar(rownr_t rownr, DComplex& value) const {
275 TABLECOLUMNCHECKROW(rownr);
276 baseColPtr_p->getScalar(rownr, value);
277 }
278 void getScalar(rownr_t rownr, String& value) const {
279 TABLECOLUMNCHECKROW(rownr);
280 baseColPtr_p->getScalar(rownr, value);
281 }
282 // </group>
283
284 // Get the value from the row and convert it to the required type.
285 // This can only be used for scalar columns with a standard data type.
286 // <group>
287 Bool asBool(rownr_t rownr) const;
288 uChar asuChar(rownr_t rownr) const;
289 Short asShort(rownr_t rownr) const;
290 uShort asuShort(rownr_t rownr) const;
291 Int asInt(rownr_t rownr) const;
292 uInt asuInt(rownr_t rownr) const;
293 Int64 asInt64(rownr_t rownr) const;
294 float asfloat(rownr_t rownr) const;
295 double asdouble(rownr_t rownr) const;
296 Complex asComplex(rownr_t rownr) const;
297 DComplex asDComplex(rownr_t rownr) const;
298 String asString(rownr_t rownr) const;
299 // </group>
300
301 // Get the value of a scalar in the given row.
302 // These functions work for all data types.
303 // Data type promotion is possible for the standard data types.
304 // The functions are primarily meant for ScalarColumn<T>.
305 // <group>
306 void getScalarValue(rownr_t rownr, Bool* value, const String&) const {
307 TABLECOLUMNCHECKROW(rownr);
308 baseColPtr_p->getScalar(rownr, *value);
309 }
310 void getScalarValue(rownr_t rownr, uChar* value, const String&) const {
311 TABLECOLUMNCHECKROW(rownr);
312 baseColPtr_p->getScalar(rownr, *value);
313 }
314 void getScalarValue(rownr_t rownr, Short* value, const String&) const {
315 TABLECOLUMNCHECKROW(rownr);
316 baseColPtr_p->getScalar(rownr, *value);
317 }
318 void getScalarValue(rownr_t rownr, uShort* value, const String&) const {
319 TABLECOLUMNCHECKROW(rownr);
320 baseColPtr_p->getScalar(rownr, *value);
321 }
322 void getScalarValue(rownr_t rownr, Int* value, const String&) const {
323 TABLECOLUMNCHECKROW(rownr);
324 baseColPtr_p->getScalar(rownr, *value);
325 }
326 void getScalarValue(rownr_t rownr, uInt* value, const String&) const {
327 TABLECOLUMNCHECKROW(rownr);
328 baseColPtr_p->getScalar(rownr, *value);
329 }
330 void getScalarValue(rownr_t rownr, Int64* value, const String&) const {
331 TABLECOLUMNCHECKROW(rownr);
332 baseColPtr_p->getScalar(rownr, *value);
333 }
334 void getScalarValue(rownr_t rownr, float* value, const String&) const {
335 TABLECOLUMNCHECKROW(rownr);
336 baseColPtr_p->getScalar(rownr, *value);
337 }
338 void getScalarValue(rownr_t rownr, double* value, const String&) const {
339 TABLECOLUMNCHECKROW(rownr);
340 baseColPtr_p->getScalar(rownr, *value);
341 }
342 void getScalarValue(rownr_t rownr, Complex* value, const String&) const {
343 TABLECOLUMNCHECKROW(rownr);
344 baseColPtr_p->getScalar(rownr, *value);
345 }
346 void getScalarValue(rownr_t rownr, DComplex* value, const String&) const {
347 TABLECOLUMNCHECKROW(rownr);
348 baseColPtr_p->getScalar(rownr, *value);
349 }
350 void getScalarValue(rownr_t rownr, String* value, const String&) const {
351 TABLECOLUMNCHECKROW(rownr);
352 baseColPtr_p->getScalar(rownr, *value);
353 }
354 void getScalarValue(rownr_t rownr, void* value, const String& dataTypeId) const {
355 TABLECOLUMNCHECKROW(rownr);
356 baseColPtr_p->getScalar(rownr, value, dataTypeId);
357 }
358 // </group>
359
360 // Copy the value of a cell of that column to a cell of this column.
361 // This function only works for the standard data types.
362 // Data type promotion will be done if needed.
363 // An exception is thrown if this column is not writable or if
364 // the data cannot be converted.
365 // <group>
366 // Use the same row numbers for both cells.
367 void put(rownr_t rownr, const TableColumn& that, Bool preserveTileShape = False) {
368 put(rownr, that, rownr, preserveTileShape);
369 }
370 // Use possibly different row numbers for that (i.e. input) and
371 // and this (i.e. output) cell.
372 virtual void put(rownr_t thisRownr, const TableColumn& that, rownr_t thatRownr,
373 Bool preserveTileShape = False);
374 // </group>
375
376 // Copy the values of that column to this column.
377 // The numbers of rows in both columns must be equal.
378 // Data type promotion is possible.
379 // An exception is thrown if the data cannot be converted.
380 // This function is useful to copy one column to another without
381 // knowing their data types.
382 // In fact, this function is an assignment operator with copy semantics.
383 void putColumn(const TableColumn& that);
384
385 // Put the value of a scalar in the given row.
386 // Data type promotion is possible.
387 // These functions only work for the standard data types.
388 // <group>
389 void putScalar(rownr_t rownr, const Bool& value) {
390 TABLECOLUMNCHECKROW(rownr);
391 baseColPtr_p->putScalar(rownr, value);
392 }
393 void putScalar(rownr_t rownr, const uChar& value) {
394 TABLECOLUMNCHECKROW(rownr);
395 baseColPtr_p->putScalar(rownr, value);
396 }
397 void putScalar(rownr_t rownr, const Short& value) {
398 TABLECOLUMNCHECKROW(rownr);
399 baseColPtr_p->putScalar(rownr, value);
400 }
401 void putScalar(rownr_t rownr, const uShort& value) {
402 TABLECOLUMNCHECKROW(rownr);
403 baseColPtr_p->putScalar(rownr, value);
404 }
405 void putScalar(rownr_t rownr, const Int& value) {
406 TABLECOLUMNCHECKROW(rownr);
407 baseColPtr_p->putScalar(rownr, value);
408 }
409 void putScalar(rownr_t rownr, const uInt& value) {
410 TABLECOLUMNCHECKROW(rownr);
411 baseColPtr_p->putScalar(rownr, value);
412 }
413 void putScalar(rownr_t rownr, const Int64& value) {
414 TABLECOLUMNCHECKROW(rownr);
415 baseColPtr_p->putScalar(rownr, value);
416 }
417 void putScalar(rownr_t rownr, const float& value) {
418 TABLECOLUMNCHECKROW(rownr);
419 baseColPtr_p->putScalar(rownr, value);
420 }
421 void putScalar(rownr_t rownr, const double& value) {
422 TABLECOLUMNCHECKROW(rownr);
423 baseColPtr_p->putScalar(rownr, value);
424 }
425 void putScalar(rownr_t rownr, const Complex& value) {
426 TABLECOLUMNCHECKROW(rownr);
427 baseColPtr_p->putScalar(rownr, value);
428 }
429 void putScalar(rownr_t rownr, const DComplex& value) {
430 TABLECOLUMNCHECKROW(rownr);
431 baseColPtr_p->putScalar(rownr, value);
432 }
433 void putScalar(rownr_t rownr, const String& value) {
434 TABLECOLUMNCHECKROW(rownr);
435 baseColPtr_p->putScalar(rownr, value);
436 }
437 void putScalar(rownr_t rownr, const Char* value) { putScalar(rownr, String(value)); }
438 // </group>
439
440 // Check if the row number is valid.
441 // It throws an exception if out of range.
442 void checkRowNumber(rownr_t rownr) const { baseTabPtr_p->checkRowNumber(rownr); }
443
444 // Set the maximum cache size (in bytes) to be used by a storage manager.
445 void setMaximumCacheSize(uInt nbytes) const { baseColPtr_p->setMaximumCacheSize(nbytes); }
446
447 protected:
449 BaseColumn* baseColPtr_p; // # pointer to real column object
452 Bool isColWritable_p; // # is the column writable at all?
453
454 // Get the baseColPtr_p of this TableColumn object.
455 BaseColumn* baseColPtr() const { return baseColPtr_p; }
456
457 // Get the baseColPtr_p of another TableColumn object.
458 // This is needed for function put, because baseColPtr_p is a
459 // protected member of TableColumn. Another TableColumn has
460 // no access to that.
461 BaseColumn* baseColPtr(const TableColumn& that) const { return that.baseColPtr_p; }
462
463 private:
464 // Throw the exception that the column is not writable.
465 void throwNotWritable() const;
466};
467
468// Define ROTableColumn for backward compatibility.
470
471} // namespace casacore
472
473#endif
#define TABLECOLUMNCHECKROW(ROWNR)
Definition TableColumn.h:46
String: the storage and methods of handling collections of characters.
Definition String.h:355
void getScalar(rownr_t rownr, uShort &value) const
void putScalar(rownr_t rownr, const Complex &value)
void getScalar(rownr_t rownr, Int &value) const
void getScalarValue(rownr_t rownr, void *value, const String &dataTypeId) const
void putColumn(const TableColumn &that)
Copy the values of that column to this column.
void putScalar(rownr_t rownr, const Int &value)
uShort asuShort(rownr_t rownr) const
void getScalarValue(rownr_t rownr, Int64 *value, const String &) const
Int64 asInt64(rownr_t rownr) const
virtual void put(rownr_t thisRownr, const TableColumn &that, rownr_t thatRownr, Bool preserveTileShape=False)
Use possibly different row numbers for that (i.e.
Bool canChangeShape() const
Can the shape of an already existing non-FixedShape array be changed?
void getScalar(rownr_t rownr, uInt &value) const
TableRecord & rwKeywordSet()
Get read/write access to the column keyword set.
TableColumn(const Table &, uInt columnIndex)
Construct the object for a column in the table using its index.
const ColumnDesc & columnDesc() const
Get const access to the column description.
Bool isWritable() const
Test if the column can be written to, thus if the column and the underlying table can be written to.
BaseTable * baseTabPtr_p
Bool hasContent(rownr_t rownr=0) const
Does the column has content in the given row (default is the first row)?
void checkRowNumber(rownr_t rownr) const
Check if the row number is valid.
const ColumnCache * colCachePtr_p
void attach(const Table &table, const String &columnName)
Attach a column to the object.
Complex asComplex(rownr_t rownr) const
TableColumn & operator=(const TableColumn &)
Assignment has reference semantics.
void getScalar(rownr_t rownr, DComplex &value) const
void putScalar(rownr_t rownr, const Char *value)
void setMaximumCacheSize(uInt nbytes) const
Set the maximum cache size (in bytes) to be used by a storage manager.
TableColumn()
The default constructor creates a null object, i.e.
void getScalarValue(rownr_t rownr, Bool *value, const String &) const
Get the value of a scalar in the given row.
String asString(rownr_t rownr) const
void reference(const TableColumn &)
Change the reference to another column.
Bool isNull() const
Test if the object is null, i.e.
void putScalar(rownr_t rownr, const Int64 &value)
void putScalar(rownr_t rownr, const Bool &value)
Put the value of a scalar in the given row.
void getScalarValue(rownr_t rownr, Short *value, const String &) const
void putScalar(rownr_t rownr, const float &value)
void putScalar(rownr_t rownr, const uChar &value)
uInt ndim(rownr_t rownr) const
Get the #dimensions of an array in a particular cell.
Bool isWritableAtAll() const
Test if the column is writable at all (virtual columns might not be).
void getScalarValue(rownr_t rownr, uInt *value, const String &) const
void getScalar(rownr_t rownr, Bool &value) const
Get the value of a scalar in the given row.
Bool isDefined(rownr_t rownr) const
Test if the given cell contains a defined value.
IPosition shapeColumn() const
Get the global shape of an array (ie.
void putScalar(rownr_t rownr, const double &value)
virtual TableColumn * clone() const
Clone the object.
void getScalar(rownr_t rownr, Int64 &value) const
void getScalarValue(rownr_t rownr, DComplex *value, const String &) const
void getScalar(rownr_t rownr, float &value) const
void getScalar(rownr_t rownr, uChar &value) const
void attach(const Table &table, uInt columnIndex)
double asdouble(rownr_t rownr) const
BaseColumn * baseColPtr(const TableColumn &that) const
Get the baseColPtr_p of another TableColumn object.
void putScalar(rownr_t rownr, const DComplex &value)
DComplex asDComplex(rownr_t rownr) const
void putScalar(rownr_t rownr, const uInt &value)
void checkWritable() const
Check if the column is writable and throw an exception if not.
void getScalarValue(rownr_t rownr, Complex *value, const String &) const
const TableRecord & keywordSet() const
Get readonly access to the column keyword set.
friend class ForwardColumn
Definition TableColumn.h:92
void getScalarValue(rownr_t rownr, uShort *value, const String &) const
IPosition tileShape(rownr_t rownr) const
Get the tile shape of an array in a particular cell.
void putScalar(rownr_t rownr, const Short &value)
BaseColumn * baseColPtr_p
BaseColumn * baseColPtr() const
Get the baseColPtr_p of this TableColumn object.
void getScalarValue(rownr_t rownr, double *value, const String &) const
float asfloat(rownr_t rownr) const
void getScalar(rownr_t rownr, String &value) const
Short asShort(rownr_t rownr) const
void getScalarValue(rownr_t rownr, Int *value, const String &) const
uChar asuChar(rownr_t rownr) const
void getScalar(rownr_t rownr, double &value) const
void throwIfNull() const
Throw an exception if the object is null, i.e.
void getScalar(rownr_t rownr, Complex &value) const
Table table() const
Get the Table object this column belongs to.
void getScalarValue(rownr_t rownr, uChar *value, const String &) const
uInt ndimColumn() const
Get the global #dimensions of an array (ie.
void throwNotWritable() const
Throw the exception that the column is not writable.
void getScalar(rownr_t rownr, Short &value) const
uInt asuInt(rownr_t rownr) const
TableColumn(const TableColumn &)
Copy constructor (reference semantics).
IPosition shape(rownr_t rownr) const
Get the shape of an array in a particular cell.
rownr_t nrow() const
Get the number of rows in the column.
Int asInt(rownr_t rownr) const
Bool asBool(rownr_t rownr) const
Get the value from the row and convert it to the required type.
TableColumn(const Table &, const String &columnName)
Construct the object for a column in the table using its name.
void getScalarValue(rownr_t rownr, float *value, const String &) const
void getScalarValue(rownr_t rownr, String *value, const String &) const
void putScalar(rownr_t rownr, const String &value)
void putScalar(rownr_t rownr, const uShort &value)
void put(rownr_t rownr, const TableColumn &that, Bool preserveTileShape=False)
Copy the value of a cell of that column to a cell of this column.
For temporary backward namespace compatibility, use casa as alias for casacore.
Definition mainpage.dox:28
unsigned char uChar
Definition aipstype.h:45
const Bool False
Definition aipstype.h:42
TableColumn ROTableColumn
Define ROTableColumn for backward compatibility.
short Short
Definition aipstype.h:46
unsigned int uInt
Definition aipstype.h:49
unsigned short uShort
Definition aipstype.h:47
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size).
Definition aipsxtype.h:36
int Int
Definition aipstype.h:48
bool Bool
Define the standard types used by Casacore.
Definition aipstype.h:40
value_type & reference
Definition Block.h:592
const Bool True
Definition aipstype.h:41
NewDelAllocator< T > NewDelAllocator< T >::value
Definition Allocator.h:360
uInt64 rownr_t
Define the type of a row number in a table.
Definition aipsxtype.h:44
char Char
Definition aipstype.h:44