26#ifndef TABLES_STINDARRAIO_H
27#define TABLES_STINDARRAIO_H
31#include <casacore/casa/aips.h>
32#include <casacore/tables/DataMan/StManAipsIO.h>
33#include <casacore/casa/Arrays/IPosition.h>
34#include <casacore/casa/IO/ByteIO.h>
Non-templated base class for templated Array class.
OpenOption
Define the possible ByteIO open options.
AipsIO table storage manager class.
StManColumnAipsIO(StManAipsIO *stMan, int dataType, Bool byPtr)
Create a column of the given type.
IPosition fixedShape_p
The shape of all arrays in case it is fixed.
Bool ok() const
Check if the class invariants still hold.
virtual IPosition shape(rownr_t rownr)
Get the shape of the array in the given row.
StManColumnIndArrayAipsIO(const StManColumnIndArrayAipsIO &)=delete
Forbid copy constructor.
uInt seqnr_p
The (unique) sequence number of the column.
virtual ~StManColumnIndArrayAipsIO()
Frees up the storage and delete the StManArrayFile object.
virtual void putFile(rownr_t nrval, AipsIO &)
Write the data into AipsIO.
virtual void doCreate(rownr_t nrrow)
Let the column create its array file.
virtual void remove(rownr_t rownr)
Remove the value in the given row.
virtual void getSliceV(rownr_t rownr, const Slicer &, ArrayBase &dataPtr)
Get a section of the array in the given row.
void getData(void *datap, uInt index, uInt nrval, AipsIO &, uInt version)
Get file offsets to the arrays into a data block at the given index.
void openFile(ByteIO::OpenOption opt)
Open the file with the given mode.
StManColumnIndArrayAipsIO & operator=(const StManColumnIndArrayAipsIO &)=delete
Forbid assignment.
virtual Bool isShapeDefined(rownr_t rownr)
Is the shape defined (i.e.
void putData(void *datap, uInt nrval, AipsIO &)
Put the data of a data block.
virtual void addRow(rownr_t newNrrow, rownr_t oldNrrow)
Add (newNrrow-oldNrrow) rows to the column.
virtual Bool canChangeShape() const
This storage manager can handle changing array shapes for non-FixedShape columns.
virtual void putSliceV(rownr_t rownr, const Slicer &, const ArrayBase &dataPtr)
Put into a section of the array in the given row.
void deleteArray(rownr_t rownr)
Delete the array in the given row.
StManColumnIndArrayAipsIO(StManAipsIO *, int dataType)
Create a column of the given type.
Bool shapeIsFixed_p
Switch indicating if the shape is fixed.
StIndArray * getShape(rownr_t rownr)
Read the shape at the given row.
virtual void putArrayV(rownr_t rownr, const ArrayBase &dataPtr)
Put an array value into the given row.
virtual void getArrayV(rownr_t rownr, ArrayBase &dataPtr)
Get an array value in the given row.
StManAipsIO * staioPtr_p
The storage manager.
virtual uInt ndim(rownr_t rownr)
Get the dimensionality of the item in the given row.
virtual void setShapeColumn(const IPosition &shape)
Set the (fixed) shape of the arrays in the entire column.
virtual void reopenRW()
Reopen the storage manager files for read/write.
StManArrayFile * iosfile_p
The file containing the indirect arrays.
virtual void getFile(rownr_t nrval, AipsIO &)
Read the data from AipsIO.
virtual void setShape(rownr_t rownr, const IPosition &shape)
Set the shape of the array in the given row and allocate the array in the file.
uInt version_p
The version of the object retrieved from a file.
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.
uInt64 rownr_t
Define the type of a row number in a table.
DataType dataType(const RecordFieldId &) const