28 #ifndef TABLES_TSMDATACOLUMN_H
29 #define TABLES_TSMDATACOLUMN_H
249 void readTile (
void* to,
const void* from,
uInt nrPixels);
296 const void* dataPtr,
Bool writeFlag);
300 const void* dataPtr,
Bool writeFlag);
309 const void* dataPtr,
Bool writeFlag);
314 const void* dataPtr,
Bool writeFlag);
320 const void* dataPtr,
Bool writeFlag);
324 char* dataPtr,
Bool writeFlag,
331 char* dataPtr,
Bool writeFlag,
A Vector of integers, for indexing into Array<T> objects.
virtual void putuInt(rownr_t rownr, const uInt *dataPtr)
void accessColumnSlice(const Slicer &ns, const void *dataPtr, Bool writeFlag)
Read or write a slice from the entire column.
virtual void getSliceV(rownr_t rownr, const Slicer &slicer, ArrayBase &dataPtr)
Get into a section of the array in the given row.
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
virtual void putInt64(rownr_t rownr, const Int64 *dataPtr)
Non-templated base class for templated Array class.
Conversion::ValueFunction * getConvertFunction(Bool writeFlag) const
Get the function to convert from external to local format (or vice-versa if writeFlag=True).
virtual void getArrayColumnV(ArrayBase &arr)
Get all array values in the column.
virtual void getuShort(rownr_t rownr, uShort *dataPtr)
std::complex< Float > Complex
TSMDataColumn & operator=(const TSMDataColumn &)
Forbid assignment.
Tiled hypercube in a table.
virtual void putuChar(rownr_t rownr, const uChar *dataPtr)
void writeTile(void *to, const void *from, uInt nrPixels)
Write the data of the column into a tile.
unsigned long long uInt64
virtual void putColumnSliceCellsV(const RefRows &rownrs, const Slicer &ns, const ArrayBase &data)
Put into a section of some cells of the column.
virtual void putdouble(rownr_t rownr, const double *dataPtr)
virtual void putuShort(rownr_t rownr, const uShort *dataPtr)
virtual void getuChar(rownr_t rownr, uChar *dataPtr)
virtual void getInt64(rownr_t rownr, Int64 *dataPtr)
virtual void putArrayColumnCellsV(const RefRows &rownrs, const ArrayBase &dataPtr)
Put the array values into some cells of the column.
uInt tilePixelSize() const
Return the size of a pixel in the tile in external format.
void accessColumn(const void *dataPtr, Bool writeFlag)
Read or write an entire column.
void setColumnNumber(uInt colnr)
Set column sequence number.
virtual void putShort(rownr_t rownr, const Short *dataPtr)
virtual void putDComplex(rownr_t rownr, const DComplex *dataPtr)
Bool isConversionNeeded() const
Does a conversion (byte swap) needs to be done?
virtual void putComplex(rownr_t rownr, const Complex *dataPtr)
A data column in Tiled Storage Manager.
void readTile(void *to, const void *from, uInt nrPixels)
Read the data of the column from a tile.
virtual void getInt(rownr_t rownr, Int *dataPtr)
virtual void putInt(rownr_t rownr, const Int *dataPtr)
Bool isShapeDefined(rownr_t rownr)
Is the value shape defined in the given row?
size_t getNrConvert() const
Get nr of elements in a value to convert (usually 1, but 2 for Complex).
uInt localPixelSize() const
Return the size of a pixel in the tile in local format.
virtual void getColumnSliceCellsV(const RefRows &rownrs, const Slicer &ns, ArrayBase &data)
Get a section from some cells of the column.
void accessColumnCells(const RefRows &rownrs, const IPosition &shape, const void *dataPtr, Bool writeFlag)
Read or write some cells in a column.
void setShapeTiled(rownr_t rownr, const IPosition &shape, const IPosition &tileShape)
Set the shape and tile shape of the array in the given row.
virtual void putSliceV(rownr_t rownr, const Slicer &slicer, const ArrayBase &data)
Put into a section of the array in the given row.
virtual void getArrayV(rownr_t rownr, ArrayBase &data)
Get the array value in the given row.
TSMDataColumn(const TSMColumn &column)
Create a data column from the given column.
virtual void putArrayV(rownr_t rownr, const ArrayBase &data)
Put the array value into the given row.
std::complex< Double > DComplex
virtual void getColumnSliceV(const Slicer &slicer, ArrayBase &arr)
Get a section of all arrays in the column.
Bool mustConvert_p
Is a conversion necessary?
Class holding the row numbers in a RefTable.
IPosition shape(rownr_t rownr)
Get the shape of the item in the given row.
virtual void putfloat(rownr_t rownr, const float *dataPtr)
void setShape(rownr_t rownr, const IPosition &shape)
Set the shape of the data array in the given row.
bool Bool
Define the standard types used by Casacore.
uInt tilePixelSize_p
The (canonical) size of a pixel in a tile.
A column in the Tiled Storage Manager.
virtual void getdouble(rownr_t rownr, double *dataPtr)
virtual void getDComplex(rownr_t rownr, DComplex *dataPtr)
Conversion::ValueFunction * writeFunc_p
The conversion function needed when writing.
virtual void getfloat(rownr_t rownr, float *dataPtr)
uInt localPixelSize_p
The local size of a pixel.
Specify which elements to extract from an n-dimensional array.
virtual void getuInt(rownr_t rownr, uInt *dataPtr)
uInt convPixelSize_p
The multiplication factor for a conversion operation.
void accessCellSlice(rownr_t rownr, const Slicer &ns, const void *dataPtr, Bool writeFlag)
Read or write a slice of a data cell in the cube.
virtual void getArrayColumnCellsV(const RefRows &rownrs, ArrayBase &data)
Get the array values in some cells of the column.
Conversion::ValueFunction * readFunc_p
The conversion function needed when reading.
uInt64 rownr_t
Define the type of a row number in a table.
virtual void putColumnSliceV(const Slicer &slicer, const ArrayBase &data)
Put a section into all array values in the column.
void accessFullCells(TSMCube *hypercube, char *dataPtr, Bool writeFlag, const IPosition &start, const IPosition &end, const IPosition &incr)
Read or write the full cells given by start,end,incr.
Bool canChangeShape() const
Changing array shapes for non-FixedShape columns when the parent tiled storage manager can handle it...
uInt colnr_p
The column sequence number.
virtual void getShort(rownr_t rownr, Short *dataPtr)
virtual void getBool(rownr_t rownr, Bool *dataPtr)
Get a scalar value in the given row.
void accessCell(rownr_t rownr, const void *dataPtr, Bool writeFlag)
Read or write a data cell in the cube.
IPosition tileShape(rownr_t rownr)
Get the tile shape of the item in the given row.
uInt64 dataLength(uInt64 nrPixels) const
Determine the length to store the given number of pixels.
virtual void putBool(rownr_t rownr, const Bool *dataPtr)
Put a scalar value into the given row.
void accessSlicedCells(TSMCube *hypercube, char *dataPtr, Bool writeFlag, const IPosition &start, const IPosition &end, const IPosition &incr)
Read or write the sliced cells given by start,end,incr.
virtual void getComplex(rownr_t rownr, Complex *dataPtr)
virtual ~TSMDataColumn()
Frees up the storage.
size_t ValueFunction(void *to, const void *from, size_t nvalues)
Define the signature of a function converting nvalues values from internal to external format or vice...
void accessColumnSliceCells(const RefRows &rownrs, const Slicer &ns, const IPosition &shape, const void *dataPtr, Bool writeFlag)
Read or write some cells in a column.
virtual void putArrayColumnV(const ArrayBase &arr)
Put all array values in the column.