28 #ifndef TABLES_ISMINDCOLUMN_H
29 #define TABLES_ISMINDCOLUMN_H
A Vector of integers, for indexing into Array<T> objects.
StIndArray indArray_p
The indirect array object.
Non-templated base class for templated Array class.
StManArrayFile * iosfile_p
The file containing the arrays.
ISMIndColumn & operator=(const ISMIndColumn &)
Forbid assignment.
StIndArray * getArrayPtr(rownr_t rownr)
Return a pointer to the array in the given row (for a get).
void clear()
Clear the object (used by destructor and init).
virtual void reopenRW()
Let the column reopen its data files for read/write access.
Read/write indirect arrays.
virtual void getArrayV(rownr_t rownr, ArrayBase &)
Get an array value in the given row.
void init()
Initialize part of the object.
StIndArray * putArrayPtr(rownr_t rownr, const IPosition &shape, Bool copyData)
When needed, create an array in the given row with the given shape.
Base class of the Incremental Storage Manager.
virtual Bool compareValue(const void *val1, const void *val2) const
Compare the values to check if a value to be put matches the value in the previous or next row...
virtual void addRow(rownr_t newNrrow, rownr_t oldNrrow)
Add (newNrrow-oldNrrow) rows to the column.
StIndArray * putShape(rownr_t rownr, const IPosition &shape)
Put the shape for an array being put.
virtual Bool canChangeShape() const
This storage manager can handle changing array shapes.
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 int dataType() const
Return the data type of the column.
A column of Incremental storage manager for indirect arrays.
ISMIndColumn(ISMBase *parent, int dataType, uInt colnr)
Create a column of the given data type.
bool Bool
Define the standard types used by Casacore.
virtual void getSliceV(rownr_t rownr, const Slicer &, ArrayBase &)
Get a section of the array in the given row.
virtual IPosition shape(rownr_t rownr)
Get the shape of the array in the given row.
IPosition fixedShape_p
The shape of all arrays in case it is fixed.
A Column in the Incremental Storage Manager.
Specify which elements to extract from an n-dimensional array.
virtual Bool isShapeDefined(rownr_t rownr)
Is the shape defined (i.e.
A bucket in the Incremental Storage Manager.
uInt64 rownr_t
Define the type of a row number in a table.
virtual void handleCopy(rownr_t rownr, const char *value)
Handle the duplication of a value; i.e.
OpenOption
Define the possible ByteIO open options.
StIndArray * putShapeSliced(rownr_t rownr)
Put the shape for an array of which a slice is being put.
uInt seqnr_p
The (unique) sequence number of the column.
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.
Bool foundArray_p
The indirect array exists for the row interval last accessed.
StIndArray * getShape(rownr_t rownr)
Read the shape at the given row.
virtual void handleRemove(rownr_t rownr, const char *value)
Handle the removal of a value; i.e.
Bool shapeIsFixed_p
Switch indicating if the shape is fixed.
virtual void doCreate(ISMBucket *bucket)
Let the column object create its array file.
Read/write array in external format for a storage manager.
virtual void putSliceV(rownr_t rownr, const Slicer &, const ArrayBase &)
Put into a section of the array in the given row.
virtual void getFile(rownr_t nrrow)
Let the column object open an existing file.
virtual Bool flush(rownr_t nrrow, Bool fsync)
Flush and optionally fsync the data.
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
virtual void resync(rownr_t nrrow)
Resync the storage manager with the new file contents.
virtual ~ISMIndColumn()
Frees up the storage.
virtual void putArrayV(rownr_t rownr, const ArrayBase &)
Put an array value into the given row.