28 #ifndef TABLES_ISMINDCOLUMN_H 29 #define TABLES_ISMINDCOLUMN_H 33 #include <casacore/casa/aips.h> 34 #include <casacore/tables/DataMan/ISMColumn.h> 35 #include <casacore/tables/DataMan/StIndArray.h> 36 #include <casacore/casa/Arrays/IPosition.h> virtual void getSliceDComplexV(uInt rownr, const Slicer &, Array< DComplex > *dataPtr)
virtual void putSliceInt64V(uInt rownr, const Slicer &, const Array< Int64 > *dataPtr)
A Vector of integers, for indexing into Array<T> objects.
virtual void getArrayuShortV(uInt rownr, Array< uShort > *dataPtr)
virtual void putArrayShortV(uInt rownr, const Array< Short > *dataPtr)
StIndArray * getArrayPtr(uInt rownr)
Return a pointer to the array in the given row (for a get).
StIndArray indArray_p
The indirect array object.
virtual void getSlicefloatV(uInt rownr, const Slicer &, Array< float > *dataPtr)
virtual void getArrayDComplexV(uInt rownr, Array< DComplex > *dataPtr)
virtual void putArrayIntV(uInt rownr, const Array< Int > *dataPtr)
StManArrayFile * iosfile_p
The file containing the arrays.
virtual void putSlicefloatV(uInt rownr, const Slicer &, const Array< float > *dataPtr)
ISMIndColumn & operator=(const ISMIndColumn &)
Forbid assignment.
virtual void addRow(uInt newNrrow, uInt oldNrrow)
Add (newNrrow-oldNrrow) rows to the column.
virtual void getSlicedoubleV(uInt rownr, const Slicer &, Array< double > *dataPtr)
void clear()
Clear the object (used by destructor and init).
virtual void reopenRW()
Let the column reopen its data files for read/write access.
virtual void putSliceuIntV(uInt rownr, const Slicer &, const Array< uInt > *dataPtr)
virtual Bool isShapeDefined(uInt rownr)
Is the shape defined (i.e.
virtual void getSliceuIntV(uInt rownr, const Slicer &, Array< uInt > *dataPtr)
virtual void getSliceComplexV(uInt rownr, const Slicer &, Array< Complex > *dataPtr)
Read/write indirect arrays.
virtual void handleRemove(uInt rownr, const char *value)
Handle the removal of a value; i.e.
virtual void getFile(uInt nrrow)
Let the column object open an existing file.
virtual void putArraydoubleV(uInt rownr, const Array< double > *dataPtr)
virtual void putSliceBoolV(uInt rownr, const Slicer &, const Array< Bool > *dataPtr)
Put into a section of the array in the given row.
virtual void getArrayStringV(uInt rownr, Array< String > *dataPtr)
virtual void putArrayfloatV(uInt rownr, const Array< float > *dataPtr)
void init()
Initialize part of the object.
StIndArray * getShape(uInt rownr)
Read the shape at the given row.
virtual void putArrayStringV(uInt rownr, const Array< String > *dataPtr)
virtual void getArrayfloatV(uInt rownr, Array< float > *dataPtr)
virtual void getSliceIntV(uInt rownr, const Slicer &, Array< Int > *dataPtr)
virtual void putArrayDComplexV(uInt rownr, const Array< DComplex > *dataPtr)
virtual uInt ndim(uInt rownr)
Get the dimensionality of the item in the given row.
int dataType() const
Return the data type of the column.
virtual void getSliceuCharV(uInt rownr, const Slicer &, Array< uChar > *dataPtr)
void setShape(uInt rownr, const IPosition &shape)
Set the shape of the array in the given row and allocate the array in the file.
Base class of the Incremental Storage Manager.
virtual void getSliceStringV(uInt rownr, const Slicer &, Array< String > *dataPtr)
virtual void putArrayuIntV(uInt rownr, const Array< uInt > *dataPtr)
virtual void putArrayBoolV(uInt rownr, const Array< Bool > *dataPtr)
Put an array value into the given row.
virtual void getArrayuCharV(uInt rownr, Array< uChar > *dataPtr)
virtual void getArrayInt64V(uInt rownr, Array< Int64 > *dataPtr)
virtual void getArraydoubleV(uInt rownr, Array< double > *dataPtr)
virtual void putArrayComplexV(uInt rownr, const Array< Complex > *dataPtr)
virtual void putArrayInt64V(uInt rownr, const Array< Int64 > *dataPtr)
virtual void getSliceShortV(uInt rownr, const Slicer &, Array< Short > *dataPtr)
virtual void putSliceStringV(uInt rownr, const Slicer &, const Array< String > *dataPtr)
virtual void putSlicedoubleV(uInt rownr, const Slicer &, const Array< double > *dataPtr)
StIndArray * putArrayPtr(uInt rownr, const IPosition &shape, Bool copyData)
When needed, create an array in the given row with the given shape.
virtual void getArrayIntV(uInt rownr, Array< Int > *dataPtr)
virtual void putArrayuShortV(uInt rownr, const Array< uShort > *dataPtr)
virtual void putSliceComplexV(uInt rownr, const Slicer &, const Array< Complex > *dataPtr)
virtual void setShapeColumn(const IPosition &shape)
Set the (fixed) shape of the arrays in the entire column.
virtual void getArrayuIntV(uInt rownr, Array< uInt > *dataPtr)
A column of Incremental storage manager for indirect arrays.
virtual void resync(uInt nrrow)
Resync the storage manager with the new file contents.
ISMIndColumn(ISMBase *parent, int dataType, uInt colnr)
Create a column of the given data type.
virtual void getSliceBoolV(uInt rownr, const Slicer &, Array< Bool > *dataPtr)
Get a section of the array in the given row.
bool Bool
Define the standard types used by Casacore.
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 putSliceShortV(uInt rownr, const Slicer &, const Array< Short > *dataPtr)
StIndArray * putShape(uInt rownr, const IPosition &shape)
Put the shape for an array being put.
virtual void getArrayBoolV(uInt rownr, Array< Bool > *dataPtr)
Get an array value in the given row.
~ISMIndColumn()
Frees up the storage.
virtual void putArrayuCharV(uInt rownr, const Array< uChar > *dataPtr)
virtual void putSliceuShortV(uInt rownr, const Slicer &, const Array< uShort > *dataPtr)
IPosition fixedShape_p
The shape of all arrays in case it is fixed.
virtual void putSliceIntV(uInt rownr, const Slicer &, const Array< Int > *dataPtr)
A Column in the Incremental Storage Manager.
Specify which elements to extract from an n-dimensional array.
virtual Bool canAccessSlice(Bool &reask) const
It can handle access to a slice in a cell.
virtual void getArrayShortV(uInt rownr, Array< Short > *dataPtr)
A bucket in the Incremental Storage Manager.
OpenOption
Define the possible ByteIO open options.
virtual void getArrayComplexV(uInt rownr, Array< Complex > *dataPtr)
uInt seqnr_p
The (unique) sequence number of the column.
virtual void handleCopy(uInt rownr, const char *value)
Handle the duplication of a value; i.e.
Bool canChangeShape() const
This storage manager can handle changing array shapes.
Bool foundArray_p
The indirect array exists for the row interval last accessed.
virtual void getSliceInt64V(uInt rownr, const Slicer &, Array< Int64 > *dataPtr)
Bool shapeIsFixed_p
Switch indicating if the shape is fixed.
virtual void doCreate(ISMBucket *bucket)
Let the column object create its array file.
virtual void putSliceDComplexV(uInt rownr, const Slicer &, const Array< DComplex > *dataPtr)
Read/write array in external format for a storage manager.
virtual IPosition shape(uInt rownr)
Get the shape of the array in the given row.
StIndArray * putShapeSliced(uInt rownr)
Put the shape for an array of which a slice is being put.
this file contains all the compiler specific defines
virtual void getSliceuShortV(uInt rownr, const Slicer &, Array< uShort > *dataPtr)
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
virtual void putSliceuCharV(uInt rownr, const Slicer &, const Array< uChar > *dataPtr)
virtual Bool flush(uInt nrrow, Bool fsync)
Flush and optionally fsync the data.