casa
5.7.0-16
|
Mmeory storage manager for variable shaped table arrays. More...
#include <MSMIndColumn.h>
Classes | |
class | Data |
Public Member Functions | |
MSMIndColumn (MSMBase *, int dataType) | |
Create a column of the given type. More... | |
~MSMIndColumn () | |
Frees up the storage. More... | |
Bool | canAccessSlice (Bool &reask) const |
It can handle access to a slice in a cell. More... | |
void | setShapeColumn (const IPosition &shape) |
Set the (fixed) shape of the arrays in the entire column. More... | |
const IPosition & | columnShape () const |
Get the column shape. More... | |
void | setShape (uInt rownr, const IPosition &shape) |
Set the shape of the array in the given row and allocate the array in the file. More... | |
Bool | isShapeDefined (uInt rownr) |
Is the shape defined (i.e. More... | |
uInt | ndim (uInt rownr) |
Get the dimensionality of the item in the given row. More... | |
IPosition | shape (uInt rownr) |
Get the shape of the array in the given row. More... | |
Bool | canChangeShape () const |
This storage manager can handle changing array shapes. More... | |
void | getArrayBoolV (uInt rownr, Array< Bool > *dataPtr) |
Get an array value in the given row. More... | |
void | getArrayuCharV (uInt rownr, Array< uChar > *dataPtr) |
void | getArrayShortV (uInt rownr, Array< Short > *dataPtr) |
void | getArrayuShortV (uInt rownr, Array< uShort > *dataPtr) |
void | getArrayIntV (uInt rownr, Array< Int > *dataPtr) |
void | getArrayuIntV (uInt rownr, Array< uInt > *dataPtr) |
void | getArrayInt64V (uInt rownr, Array< Int64 > *dataPtr) |
void | getArrayfloatV (uInt rownr, Array< float > *dataPtr) |
void | getArraydoubleV (uInt rownr, Array< double > *dataPtr) |
void | getArrayComplexV (uInt rownr, Array< Complex > *dataPtr) |
void | getArrayDComplexV (uInt rownr, Array< DComplex > *dataPtr) |
void | getArrayStringV (uInt rownr, Array< String > *dataPtr) |
void | putArrayBoolV (uInt rownr, const Array< Bool > *dataPtr) |
Put an array value into the given row. More... | |
void | putArrayuCharV (uInt rownr, const Array< uChar > *dataPtr) |
void | putArrayShortV (uInt rownr, const Array< Short > *dataPtr) |
void | putArrayuShortV (uInt rownr, const Array< uShort > *dataPtr) |
void | putArrayIntV (uInt rownr, const Array< Int > *dataPtr) |
void | putArrayuIntV (uInt rownr, const Array< uInt > *dataPtr) |
void | putArrayInt64V (uInt rownr, const Array< Int64 > *dataPtr) |
void | putArrayfloatV (uInt rownr, const Array< float > *dataPtr) |
void | putArraydoubleV (uInt rownr, const Array< double > *dataPtr) |
void | putArrayComplexV (uInt rownr, const Array< Complex > *dataPtr) |
void | putArrayDComplexV (uInt rownr, const Array< DComplex > *dataPtr) |
void | putArrayStringV (uInt rownr, const Array< String > *dataPtr) |
void | getSliceBoolV (uInt rownr, const Slicer &, Array< Bool > *dataPtr) |
Get a section of the array in the given row. More... | |
void | getSliceuCharV (uInt rownr, const Slicer &, Array< uChar > *dataPtr) |
void | getSliceShortV (uInt rownr, const Slicer &, Array< Short > *dataPtr) |
void | getSliceuShortV (uInt rownr, const Slicer &, Array< uShort > *dataPtr) |
void | getSliceIntV (uInt rownr, const Slicer &, Array< Int > *dataPtr) |
void | getSliceuIntV (uInt rownr, const Slicer &, Array< uInt > *dataPtr) |
void | getSliceInt64V (uInt rownr, const Slicer &, Array< Int64 > *dataPtr) |
void | getSlicefloatV (uInt rownr, const Slicer &, Array< float > *dataPtr) |
void | getSlicedoubleV (uInt rownr, const Slicer &, Array< double > *dataPtr) |
void | getSliceComplexV (uInt rownr, const Slicer &, Array< Complex > *dataPtr) |
void | getSliceDComplexV (uInt rownr, const Slicer &, Array< DComplex > *dataPtr) |
void | getSliceStringV (uInt rownr, const Slicer &, Array< String > *dataPtr) |
void | putSliceBoolV (uInt rownr, const Slicer &, const Array< Bool > *dataPtr) |
Put into a section of the array in the given row. More... | |
void | putSliceuCharV (uInt rownr, const Slicer &, const Array< uChar > *dataPtr) |
void | putSliceShortV (uInt rownr, const Slicer &, const Array< Short > *dataPtr) |
void | putSliceuShortV (uInt rownr, const Slicer &, const Array< uShort > *dataPtr) |
void | putSliceIntV (uInt rownr, const Slicer &, const Array< Int > *dataPtr) |
void | putSliceuIntV (uInt rownr, const Slicer &, const Array< uInt > *dataPtr) |
void | putSliceInt64V (uInt rownr, const Slicer &, const Array< Int64 > *dataPtr) |
void | putSlicefloatV (uInt rownr, const Slicer &, const Array< float > *dataPtr) |
void | putSlicedoubleV (uInt rownr, const Slicer &, const Array< double > *dataPtr) |
void | putSliceComplexV (uInt rownr, const Slicer &, const Array< Complex > *dataPtr) |
void | putSliceDComplexV (uInt rownr, const Slicer &, const Array< DComplex > *dataPtr) |
void | putSliceStringV (uInt rownr, const Slicer &, const Array< String > *dataPtr) |
void | remove (uInt rownr) |
Remove the value in the given row. More... | |
Public Member Functions inherited from casacore::MSMColumn | |
MSMColumn (MSMBase *smptr, int dataType, Bool byPtr) | |
Create a column of the given type. More... | |
virtual | ~MSMColumn () |
Frees up the storage. More... | |
void | getBoolV (uInt rownr, Bool *dataPtr) |
Get a scalar value in the given row. More... | |
void | getuCharV (uInt rownr, uChar *dataPtr) |
void | getShortV (uInt rownr, Short *dataPtr) |
void | getuShortV (uInt rownr, uShort *dataPtr) |
void | getIntV (uInt rownr, Int *dataPtr) |
void | getuIntV (uInt rownr, uInt *dataPtr) |
void | getInt64V (uInt rownr, Int64 *dataPtr) |
void | getfloatV (uInt rownr, float *dataPtr) |
void | getdoubleV (uInt rownr, double *dataPtr) |
void | getComplexV (uInt rownr, Complex *dataPtr) |
void | getDComplexV (uInt rownr, DComplex *dataPtr) |
void | getStringV (uInt rownr, String *dataPtr) |
void | putBoolV (uInt rownr, const Bool *dataPtr) |
Put a scalar value into the given row. More... | |
void | putuCharV (uInt rownr, const uChar *dataPtr) |
void | putShortV (uInt rownr, const Short *dataPtr) |
void | putuShortV (uInt rownr, const uShort *dataPtr) |
void | putIntV (uInt rownr, const Int *dataPtr) |
void | putuIntV (uInt rownr, const uInt *dataPtr) |
void | putInt64V (uInt rownr, const Int64 *dataPtr) |
void | putfloatV (uInt rownr, const float *dataPtr) |
void | putdoubleV (uInt rownr, const double *dataPtr) |
void | putComplexV (uInt rownr, const Complex *dataPtr) |
void | putDComplexV (uInt rownr, const DComplex *dataPtr) |
void | putStringV (uInt rownr, const String *dataPtr) |
uInt | getBlockBoolV (uInt rownr, uInt nrmax, Bool *dataPtr) |
Get scalars from the given row on with a maximum of nrmax values. More... | |
uInt | getBlockuCharV (uInt rownr, uInt nrmax, uChar *dataPtr) |
uInt | getBlockShortV (uInt rownr, uInt nrmax, Short *dataPtr) |
uInt | getBlockuShortV (uInt rownr, uInt nrmax, uShort *dataPtr) |
uInt | getBlockIntV (uInt rownr, uInt nrmax, Int *dataPtr) |
uInt | getBlockuIntV (uInt rownr, uInt nrmax, uInt *dataPtr) |
uInt | getBlockInt64V (uInt rownr, uInt nrmax, Int64 *dataPtr) |
uInt | getBlockfloatV (uInt rownr, uInt nrmax, float *dataPtr) |
uInt | getBlockdoubleV (uInt rownr, uInt nrmax, double *dataPtr) |
uInt | getBlockComplexV (uInt rownr, uInt nrmax, Complex *dataPtr) |
uInt | getBlockDComplexV (uInt rownr, uInt nrmax, DComplex *dataPtr) |
uInt | getBlockStringV (uInt rownr, uInt nrmax, String *dataPtr) |
void | putBlockBoolV (uInt rownr, uInt nrmax, const Bool *dataPtr) |
Put nrmax scalars from the given row on. More... | |
void | putBlockuCharV (uInt rownr, uInt nrmax, const uChar *dataPtr) |
void | putBlockShortV (uInt rownr, uInt nrmax, const Short *dataPtr) |
void | putBlockuShortV (uInt rownr, uInt nrmax, const uShort *dataPtr) |
void | putBlockIntV (uInt rownr, uInt nrmax, const Int *dataPtr) |
void | putBlockuIntV (uInt rownr, uInt nrmax, const uInt *dataPtr) |
void | putBlockInt64V (uInt rownr, uInt nrmax, const Int64 *dataPtr) |
void | putBlockfloatV (uInt rownr, uInt nrmax, const float *dataPtr) |
void | putBlockdoubleV (uInt rownr, uInt nrmax, const double *dataPtr) |
void | putBlockComplexV (uInt rownr, uInt nrmax, const Complex *dataPtr) |
void | putBlockDComplexV (uInt rownr, uInt nrmax, const DComplex *dataPtr) |
void | putBlockStringV (uInt rownr, uInt nrmax, const String *dataPtr) |
virtual void | getScalarColumnCellsBoolV (const RefRows &rownrs, Vector< Bool > *dataPtr) |
Get the scalar values in some cells of the column. More... | |
virtual void | getScalarColumnCellsuCharV (const RefRows &rownrs, Vector< uChar > *dataPtr) |
virtual void | getScalarColumnCellsShortV (const RefRows &rownrs, Vector< Short > *dataPtr) |
virtual void | getScalarColumnCellsuShortV (const RefRows &rownrs, Vector< uShort > *dataPtr) |
virtual void | getScalarColumnCellsIntV (const RefRows &rownrs, Vector< Int > *dataPtr) |
virtual void | getScalarColumnCellsuIntV (const RefRows &rownrs, Vector< uInt > *dataPtr) |
virtual void | getScalarColumnCellsInt64V (const RefRows &rownrs, Vector< Int64 > *dataPtr) |
virtual void | getScalarColumnCellsfloatV (const RefRows &rownrs, Vector< float > *dataPtr) |
virtual void | getScalarColumnCellsdoubleV (const RefRows &rownrs, Vector< double > *dataPtr) |
virtual void | getScalarColumnCellsComplexV (const RefRows &rownrs, Vector< Complex > *dataPtr) |
virtual void | getScalarColumnCellsDComplexV (const RefRows &rownrs, Vector< DComplex > *dataPtr) |
virtual void | getScalarColumnCellsStringV (const RefRows &rownrs, Vector< String > *dataPtr) |
virtual void | addRow (uInt newNrrow, uInt oldNrrow) |
Add (newNrrow-oldNrrow) rows to the column. More... | |
void | resize (uInt nrval) |
Resize the data blocks. More... | |
virtual void | doCreate (uInt nrrow) |
Create the number of rows in a new table. More... | |
virtual Bool | ok () const |
Check if the class invariants still hold. More... | |
Public Member Functions inherited from casacore::StManColumn | |
StManColumn (int dataType) | |
Default constructor. More... | |
~StManColumn () | |
int | dataType () const |
Return the data type of the column. More... | |
Bool | canAccessScalarColumn (Bool &reask) const |
By default the storage manager can handle access to a scalar column. More... | |
Bool | canAccessScalarColumnCells (Bool &reask) const |
All storage managers can handle access to scalar column cells, because this class contains a default implementation of getScalarColumnCellsV. More... | |
Bool | canAccessArrayColumnCells (Bool &reask) const |
All storage managers can handle access to array column cells, because this class contains a default implementation of getArrayColumnCellsV. More... | |
void | getScalarColumnV (void *dataPtr) |
Get all scalar values in the column. More... | |
void | putScalarColumnV (const void *dataPtr) |
Put all scalar values in the column. More... | |
void | getScalarColumnCellsV (const RefRows &rownrs, void *dataPtr) |
Get some scalar values in the column. More... | |
void | putScalarColumnCellsV (const RefRows &rownrs, const void *dataPtr) |
Put some scalar values in the column. More... | |
uInt | getBlockV (uInt rownr, uInt nrmax, void *dataPtr) |
Get scalars from the given row on with a maximum of nrmax values. More... | |
void | putBlockV (uInt rownr, uInt nrmax, const void *dataPtr) |
Put nrmax scalars from the given row on. More... | |
void | getArrayV (uInt rownr, void *dataPtr) |
Get the array value in the given row. More... | |
void | putArrayV (uInt rownr, const void *dataPtr) |
Put the array value into the given row. More... | |
void | getArrayColumnV (void *dataPtr) |
Get all array values in the column. More... | |
void | putArrayColumnV (const void *dataPtr) |
Put all array values in the column. More... | |
void | getArrayColumnCellsV (const RefRows &rownrs, void *dataPtr) |
Get some array values in the column. More... | |
void | putArrayColumnCellsV (const RefRows &rownrs, const void *dataPtr) |
Put some array values in the column. More... | |
void | getSliceV (uInt rownr, const Slicer &slicer, void *dataPtr) |
Get a section of the array in the given row. More... | |
void | putSliceV (uInt rownr, const Slicer &slicer, const void *dataPtr) |
Put into a section of the array in the given row. More... | |
void | getColumnSliceV (const Slicer &slicer, void *dataPtr) |
Get a section of all arrays in the column. More... | |
void | putColumnSliceV (const Slicer &slicer, const void *dataPtr) |
Put into a section of all arrays in the column. More... | |
virtual void | getColumnSliceCellsV (const RefRows &rownrs, const Slicer &slicer, void *dataPtr) |
Get a section of some arrays in the column. More... | |
virtual void | putColumnSliceCellsV (const RefRows &rownrs, const Slicer &slicer, const void *dataPtr) |
Put into a section of some arrays in the column. More... | |
Public Member Functions inherited from casacore::DataManagerColumn | |
DataManagerColumn () | |
Create a column. More... | |
virtual | ~DataManagerColumn () |
Frees up the storage. More... | |
void | setIsFixedShape (Bool isFixedShape) |
Set the isFixedShape flag. More... | |
Bool | isFixedShape () const |
Is this a fixed shape column? More... | |
virtual String | dataTypeId () const |
Get the data type id of the column for dataType==TpOther. More... | |
virtual Bool | isWritable () const |
Test if data can be put into this column. More... | |
virtual void | setMaxLength (uInt maxLength) |
Set the maximum length of the value (can be used for strings). More... | |
void | setFixedShapeColumn (const IPosition &shape) |
Set the shape of all (fixed-shaped) arrays in the column. More... | |
virtual void | setShapeTiled (uInt rownr, const IPosition &shape, const IPosition &tileShape) |
Set the shape and tile shape of an (variable-shaped) array in the given row. More... | |
virtual IPosition | tileShape (uInt rownr) |
Get the tile shape of the item in the given row. More... | |
virtual Bool | canAccessArrayColumn (Bool &reask) const |
Can the column data manager handle access to a scalar column? If not, the caller should access the column by looping through all cells in the column. More... | |
virtual Bool | canAccessColumnSlice (Bool &reask) const |
Can the column data manager handle access to a column slice? If not, the caller should access the column slice by looping through all cell slices in the column. More... | |
ColumnCache & | columnCache () |
Get access to the ColumnCache object. More... | |
const ColumnCache * | columnCachePtr () const |
void | get (uInt rownr, Bool *dataPtr) |
Get the scalar value in the given row. More... | |
void | get (uInt rownr, uChar *dataPtr) |
void | get (uInt rownr, Short *dataPtr) |
void | get (uInt rownr, uShort *dataPtr) |
void | get (uInt rownr, Int *dataPtr) |
void | get (uInt rownr, uInt *dataPtr) |
void | get (uInt rownr, Int64 *dataPtr) |
void | get (uInt rownr, float *dataPtr) |
void | get (uInt rownr, double *dataPtr) |
void | get (uInt rownr, Complex *dataPtr) |
void | get (uInt rownr, DComplex *dataPtr) |
void | get (uInt rownr, String *dataPtr) |
void | get (uInt rownr, void *dataPtr) |
This function is the get for all non-standard data types. More... | |
void | put (uInt rownr, const Bool *dataPtr) |
Put the scalar value into the given row. More... | |
void | put (uInt rownr, const uChar *dataPtr) |
void | put (uInt rownr, const Short *dataPtr) |
void | put (uInt rownr, const uShort *dataPtr) |
void | put (uInt rownr, const Int *dataPtr) |
void | put (uInt rownr, const uInt *dataPtr) |
void | put (uInt rownr, const Int64 *dataPtr) |
void | put (uInt rownr, const float *dataPtr) |
void | put (uInt rownr, const double *dataPtr) |
void | put (uInt rownr, const Complex *dataPtr) |
void | put (uInt rownr, const DComplex *dataPtr) |
void | put (uInt rownr, const String *dataPtr) |
void | put (uInt rownr, const void *dataPtr) |
This function is the put for all non-standard data types. More... | |
void | throwGet () const |
Throw an "invalid operation" exception for the default implementation of get. More... | |
void | throwPut () const |
Throw an "invalid operation" exception for the default implementation of put. More... | |
void | setColumnName (const String &colName) |
Set the column name. More... | |
const String & | columnName () const |
Get rhe column name. More... | |
Private Member Functions | |
void | deleteArray (uInt rownr) |
Delete the array in the given row. More... | |
Data * | getShape (uInt rownr) |
Read the shape at the given row. More... | |
void * | getDataPtr (uInt rownr) |
Get a pointer to the data array. More... | |
MSMIndColumn (const MSMIndColumn &) | |
Forbid copy constructor. More... | |
MSMIndColumn & | operator= (const MSMIndColumn &) |
Forbid assignment. More... | |
Private Attributes | |
IPosition | fixedShape_p |
The shape of all arrays in case it is fixed. More... | |
uInt | elemSize_p |
The size of an array element. More... | |
uInt | startSize_p |
The size at the start of the data (for the IPosition). More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from casacore::StManColumn | |
static Bool | isNativeDataType (int dtype) |
Test if the given data type is supported by storage managers. More... | |
Protected Member Functions inherited from casacore::MSMColumn | |
uInt | findExt (uInt rownr, Bool setCache) |
Find the extension in which the row number is. More... | |
uInt | nextExt (void *&ext, uInt &extnr, uInt nrmax) const |
Get the next extension. More... | |
void * | allocData (uInt nrval, Bool byPtr) |
Allocate an extension with the data type of the column. More... | |
void | deleteAll () |
Delete all extensions. More... | |
void | deleteData (void *datap, Bool byPtr) |
Delete an extension. More... | |
void | removeData (void *datap, uInt inx, uInt nrvalAfter) |
Remove an entry (i.e. More... | |
void | initData (void *datap, uInt nrval) |
Initialize the data (after an open). More... | |
void * | getArrayPtr (uInt rownr) |
Get the pointer for the given row. More... | |
void | putArrayPtr (uInt rownr, void *dataPtr) |
Put the pointer for the given row. More... | |
Protected Member Functions inherited from casacore::StManColumn | |
virtual void | getScalarColumnBoolV (Vector< Bool > *dataPtr) |
Get the scalar values in the entire column. More... | |
virtual void | getScalarColumnuCharV (Vector< uChar > *dataPtr) |
virtual void | getScalarColumnShortV (Vector< Short > *dataPtr) |
virtual void | getScalarColumnuShortV (Vector< uShort > *dataPtr) |
virtual void | getScalarColumnIntV (Vector< Int > *dataPtr) |
virtual void | getScalarColumnuIntV (Vector< uInt > *dataPtr) |
virtual void | getScalarColumnInt64V (Vector< Int64 > *dataPtr) |
virtual void | getScalarColumnfloatV (Vector< float > *dataPtr) |
virtual void | getScalarColumndoubleV (Vector< double > *dataPtr) |
virtual void | getScalarColumnComplexV (Vector< Complex > *dataPtr) |
virtual void | getScalarColumnDComplexV (Vector< DComplex > *dataPtr) |
virtual void | getScalarColumnStringV (Vector< String > *dataPtr) |
virtual void | putScalarColumnBoolV (const Vector< Bool > *dataPtr) |
Put the scalar values into the entire column. More... | |
virtual void | putScalarColumnuCharV (const Vector< uChar > *dataPtr) |
virtual void | putScalarColumnShortV (const Vector< Short > *dataPtr) |
virtual void | putScalarColumnuShortV (const Vector< uShort > *dataPtr) |
virtual void | putScalarColumnIntV (const Vector< Int > *dataPtr) |
virtual void | putScalarColumnuIntV (const Vector< uInt > *dataPtr) |
virtual void | putScalarColumnInt64V (const Vector< Int64 > *dataPtr) |
virtual void | putScalarColumnfloatV (const Vector< float > *dataPtr) |
virtual void | putScalarColumndoubleV (const Vector< double > *dataPtr) |
virtual void | putScalarColumnComplexV (const Vector< Complex > *dataPtr) |
virtual void | putScalarColumnDComplexV (const Vector< DComplex > *dataPtr) |
virtual void | putScalarColumnStringV (const Vector< String > *dataPtr) |
virtual void | putScalarColumnCellsBoolV (const RefRows &rownrs, const Vector< Bool > *dataPtr) |
Put the scalar values into some cells of the column. More... | |
virtual void | putScalarColumnCellsuCharV (const RefRows &rownrs, const Vector< uChar > *dataPtr) |
virtual void | putScalarColumnCellsShortV (const RefRows &rownrs, const Vector< Short > *dataPtr) |
virtual void | putScalarColumnCellsuShortV (const RefRows &rownrs, const Vector< uShort > *dataPtr) |
virtual void | putScalarColumnCellsIntV (const RefRows &rownrs, const Vector< Int > *dataPtr) |
virtual void | putScalarColumnCellsuIntV (const RefRows &rownrs, const Vector< uInt > *dataPtr) |
virtual void | putScalarColumnCellsInt64V (const RefRows &rownrs, const Vector< Int64 > *dataPtr) |
virtual void | putScalarColumnCellsfloatV (const RefRows &rownrs, const Vector< float > *dataPtr) |
virtual void | putScalarColumnCellsdoubleV (const RefRows &rownrs, const Vector< double > *dataPtr) |
virtual void | putScalarColumnCellsComplexV (const RefRows &rownrs, const Vector< Complex > *dataPtr) |
virtual void | putScalarColumnCellsDComplexV (const RefRows &rownrs, const Vector< DComplex > *dataPtr) |
virtual void | putScalarColumnCellsStringV (const RefRows &rownrs, const Vector< String > *dataPtr) |
virtual void | getArrayColumnBoolV (Array< Bool > *dataPtr) |
Get the array values in the entire column. More... | |
virtual void | getArrayColumnuCharV (Array< uChar > *dataPtr) |
virtual void | getArrayColumnShortV (Array< Short > *dataPtr) |
virtual void | getArrayColumnuShortV (Array< uShort > *dataPtr) |
virtual void | getArrayColumnIntV (Array< Int > *dataPtr) |
virtual void | getArrayColumnuIntV (Array< uInt > *dataPtr) |
virtual void | getArrayColumnInt64V (Array< Int64 > *dataPtr) |
virtual void | getArrayColumnfloatV (Array< float > *dataPtr) |
virtual void | getArrayColumndoubleV (Array< double > *dataPtr) |
virtual void | getArrayColumnComplexV (Array< Complex > *dataPtr) |
virtual void | getArrayColumnDComplexV (Array< DComplex > *dataPtr) |
virtual void | getArrayColumnStringV (Array< String > *dataPtr) |
virtual void | putArrayColumnBoolV (const Array< Bool > *dataPtr) |
Put the array values into the entire column. More... | |
virtual void | putArrayColumnuCharV (const Array< uChar > *dataPtr) |
virtual void | putArrayColumnShortV (const Array< Short > *dataPtr) |
virtual void | putArrayColumnuShortV (const Array< uShort > *dataPtr) |
virtual void | putArrayColumnIntV (const Array< Int > *dataPtr) |
virtual void | putArrayColumnuIntV (const Array< uInt > *dataPtr) |
virtual void | putArrayColumnInt64V (const Array< Int64 > *dataPtr) |
virtual void | putArrayColumnfloatV (const Array< float > *dataPtr) |
virtual void | putArrayColumndoubleV (const Array< double > *dataPtr) |
virtual void | putArrayColumnComplexV (const Array< Complex > *dataPtr) |
virtual void | putArrayColumnDComplexV (const Array< DComplex > *dataPtr) |
virtual void | putArrayColumnStringV (const Array< String > *dataPtr) |
virtual void | getArrayColumnCellsBoolV (const RefRows &rownrs, Array< Bool > *dataPtr) |
Get the array values in some cells of the column. More... | |
virtual void | getArrayColumnCellsuCharV (const RefRows &rownrs, Array< uChar > *dataPtr) |
virtual void | getArrayColumnCellsShortV (const RefRows &rownrs, Array< Short > *dataPtr) |
virtual void | getArrayColumnCellsuShortV (const RefRows &rownrs, Array< uShort > *dataPtr) |
virtual void | getArrayColumnCellsIntV (const RefRows &rownrs, Array< Int > *dataPtr) |
virtual void | getArrayColumnCellsuIntV (const RefRows &rownrs, Array< uInt > *dataPtr) |
virtual void | getArrayColumnCellsInt64V (const RefRows &rownrs, Array< Int64 > *dataPtr) |
virtual void | getArrayColumnCellsfloatV (const RefRows &rownrs, Array< float > *dataPtr) |
virtual void | getArrayColumnCellsdoubleV (const RefRows &rownrs, Array< double > *dataPtr) |
virtual void | getArrayColumnCellsComplexV (const RefRows &rownrs, Array< Complex > *dataPtr) |
virtual void | getArrayColumnCellsDComplexV (const RefRows &rownrs, Array< DComplex > *dataPtr) |
virtual void | getArrayColumnCellsStringV (const RefRows &rownrs, Array< String > *dataPtr) |
virtual void | putArrayColumnCellsBoolV (const RefRows &rownrs, const Array< Bool > *dataPtr) |
Put the array values into some cells of the column. More... | |
virtual void | putArrayColumnCellsuCharV (const RefRows &rownrs, const Array< uChar > *dataPtr) |
virtual void | putArrayColumnCellsShortV (const RefRows &rownrs, const Array< Short > *dataPtr) |
virtual void | putArrayColumnCellsuShortV (const RefRows &rownrs, const Array< uShort > *dataPtr) |
virtual void | putArrayColumnCellsIntV (const RefRows &rownrs, const Array< Int > *dataPtr) |
virtual void | putArrayColumnCellsuIntV (const RefRows &rownrs, const Array< uInt > *dataPtr) |
virtual void | putArrayColumnCellsInt64V (const RefRows &rownrs, const Array< Int64 > *dataPtr) |
virtual void | putArrayColumnCellsfloatV (const RefRows &rownrs, const Array< float > *dataPtr) |
virtual void | putArrayColumnCellsdoubleV (const RefRows &rownrs, const Array< double > *dataPtr) |
virtual void | putArrayColumnCellsComplexV (const RefRows &rownrs, const Array< Complex > *dataPtr) |
virtual void | putArrayColumnCellsDComplexV (const RefRows &rownrs, const Array< DComplex > *dataPtr) |
virtual void | putArrayColumnCellsStringV (const RefRows &rownrs, const Array< String > *dataPtr) |
virtual void | getColumnSliceBoolV (const Slicer &ns, Array< Bool > *dataPtr) |
Get the array values in the entire column. More... | |
virtual void | getColumnSliceuCharV (const Slicer &ns, Array< uChar > *dataPtr) |
virtual void | getColumnSliceShortV (const Slicer &ns, Array< Short > *dataPtr) |
virtual void | getColumnSliceuShortV (const Slicer &ns, Array< uShort > *dataPtr) |
virtual void | getColumnSliceIntV (const Slicer &ns, Array< Int > *dataPtr) |
virtual void | getColumnSliceuIntV (const Slicer &ns, Array< uInt > *dataPtr) |
virtual void | getColumnSliceInt64V (const Slicer &ns, Array< Int64 > *dataPtr) |
virtual void | getColumnSlicefloatV (const Slicer &ns, Array< float > *dataPtr) |
virtual void | getColumnSlicedoubleV (const Slicer &ns, Array< double > *dataPtr) |
virtual void | getColumnSliceComplexV (const Slicer &ns, Array< Complex > *dataPtr) |
virtual void | getColumnSliceDComplexV (const Slicer &ns, Array< DComplex > *dataPtr) |
virtual void | getColumnSliceStringV (const Slicer &ns, Array< String > *dataPtr) |
virtual void | putColumnSliceBoolV (const Slicer &ns, const Array< Bool > *dataPtr) |
Put the array values into the entire column. More... | |
virtual void | putColumnSliceuCharV (const Slicer &ns, const Array< uChar > *dataPtr) |
virtual void | putColumnSliceShortV (const Slicer &ns, const Array< Short > *dataPtr) |
virtual void | putColumnSliceuShortV (const Slicer &ns, const Array< uShort > *dataPtr) |
virtual void | putColumnSliceIntV (const Slicer &ns, const Array< Int > *dataPtr) |
virtual void | putColumnSliceuIntV (const Slicer &ns, const Array< uInt > *dataPtr) |
virtual void | putColumnSliceInt64V (const Slicer &ns, const Array< Int64 > *dataPtr) |
virtual void | putColumnSlicefloatV (const Slicer &ns, const Array< float > *dataPtr) |
virtual void | putColumnSlicedoubleV (const Slicer &ns, const Array< double > *dataPtr) |
virtual void | putColumnSliceComplexV (const Slicer &ns, const Array< Complex > *dataPtr) |
virtual void | putColumnSliceDComplexV (const Slicer &ns, const Array< DComplex > *dataPtr) |
virtual void | putColumnSliceStringV (const Slicer &ns, const Array< String > *dataPtr) |
virtual void | getColumnSliceCellsBoolV (const RefRows &rownrs, const Slicer &ns, Array< Bool > *dataPtr) |
Get the array values in some cells of the column. More... | |
virtual void | getColumnSliceCellsuCharV (const RefRows &rownrs, const Slicer &ns, Array< uChar > *dataPtr) |
virtual void | getColumnSliceCellsShortV (const RefRows &rownrs, const Slicer &ns, Array< Short > *dataPtr) |
virtual void | getColumnSliceCellsuShortV (const RefRows &rownrs, const Slicer &ns, Array< uShort > *dataPtr) |
virtual void | getColumnSliceCellsIntV (const RefRows &rownrs, const Slicer &ns, Array< Int > *dataPtr) |
virtual void | getColumnSliceCellsuIntV (const RefRows &rownrs, const Slicer &ns, Array< uInt > *dataPtr) |
virtual void | getColumnSliceCellsInt64V (const RefRows &rownrs, const Slicer &ns, Array< Int64 > *dataPtr) |
virtual void | getColumnSliceCellsfloatV (const RefRows &rownrs, const Slicer &ns, Array< float > *dataPtr) |
virtual void | getColumnSliceCellsdoubleV (const RefRows &rownrs, const Slicer &ns, Array< double > *dataPtr) |
virtual void | getColumnSliceCellsComplexV (const RefRows &rownrs, const Slicer &ns, Array< Complex > *dataPtr) |
virtual void | getColumnSliceCellsDComplexV (const RefRows &rownrs, const Slicer &ns, Array< DComplex > *dataPtr) |
virtual void | getColumnSliceCellsStringV (const RefRows &rownrs, const Slicer &ns, Array< String > *dataPtr) |
virtual void | putColumnSliceCellsBoolV (const RefRows &rownrs, const Slicer &ns, const Array< Bool > *dataPtr) |
Put the array values into some cells of the column. More... | |
virtual void | putColumnSliceCellsuCharV (const RefRows &rownrs, const Slicer &ns, const Array< uChar > *dataPtr) |
virtual void | putColumnSliceCellsShortV (const RefRows &rownrs, const Slicer &ns, const Array< Short > *dataPtr) |
virtual void | putColumnSliceCellsuShortV (const RefRows &rownrs, const Slicer &ns, const Array< uShort > *dataPtr) |
virtual void | putColumnSliceCellsIntV (const RefRows &rownrs, const Slicer &ns, const Array< Int > *dataPtr) |
virtual void | putColumnSliceCellsuIntV (const RefRows &rownrs, const Slicer &ns, const Array< uInt > *dataPtr) |
virtual void | putColumnSliceCellsInt64V (const RefRows &rownrs, const Slicer &ns, const Array< Int64 > *dataPtr) |
virtual void | putColumnSliceCellsfloatV (const RefRows &rownrs, const Slicer &ns, const Array< float > *dataPtr) |
virtual void | putColumnSliceCellsdoubleV (const RefRows &rownrs, const Slicer &ns, const Array< double > *dataPtr) |
virtual void | putColumnSliceCellsComplexV (const RefRows &rownrs, const Slicer &ns, const Array< Complex > *dataPtr) |
virtual void | putColumnSliceCellsDComplexV (const RefRows &rownrs, const Slicer &ns, const Array< DComplex > *dataPtr) |
virtual void | putColumnSliceCellsStringV (const RefRows &rownrs, const Slicer &ns, const Array< String > *dataPtr) |
Protected Member Functions inherited from casacore::DataManagerColumn | |
virtual void | getOtherV (uInt rownr, void *dataPtr) |
This function is the get for all non-standard data types. More... | |
virtual void | putOtherV (uInt rownr, const void *dataPtr) |
This function is the put for all non-standard data types. More... | |
Protected Attributes inherited from casacore::MSMColumn | |
MSMBase * | stmanPtr_p |
int | dtype_p |
The data type (for caching purposes). More... | |
Bool | byPtr_p |
The data is indirectly accessed via a pointer (for the derived classes). More... | |
uInt | nralloc_p |
The number of allocated rows in the column. More... | |
uInt | nrext_p |
The nr of extensions in use. More... | |
Block< void * > | data_p |
The assembly of all extensions (actually Block<T*>). More... | |
Block< uInt > | ncum_p |
The cumulative nr of rows in all extensions. More... | |
Mmeory storage manager for variable shaped table arrays.
Internal
StManColumnArrayAipsIO handles indirect arrays in a table column.
An array (or section of an array) is only read when needed. It, however, caches the array shape using the helper class StIndArray. Pointers to these objects are maintained using the standard StManColumnAipsIO facilities. When the column gets written, the offsets in the StManArrayFile file get written. Those will be read back when the column is read in.
When a row gets deleted or when the array gets bigger, the file space is lost. This storage manager is a simple one and no attempts are done to make it smart.
Definition at line 76 of file MSMIndColumn.h.
casacore::MSMIndColumn::MSMIndColumn | ( | MSMBase * | , |
int | dataType | ||
) |
Create a column of the given type.
casacore::MSMIndColumn::~MSMIndColumn | ( | ) |
Frees up the storage.
|
private |
Forbid copy constructor.
It can handle access to a slice in a cell.
Reimplemented from casacore::DataManagerColumn.
|
virtual |
This storage manager can handle changing array shapes.
Reimplemented from casacore::DataManagerColumn.
|
inline |
|
private |
Delete the array in the given row.
Get an array value in the given row.
The buffer pointed to by dataPtr has to have the correct length (which is guaranteed by the ArrayColumn get function).
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
|
inlineprivate |
Get a pointer to the data array.
Definition at line 234 of file MSMIndColumn.h.
References getShape(), and startSize_p.
|
virtual |
Get a section of the array in the given row.
The buffer pointed to by dataPtr has to have the correct length (which is guaranteed by the ArrayColumn getSlice function).
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
Is the shape defined (i.e.
is there an array) in this row?
Reimplemented from casacore::DataManagerColumn.
Get the dimensionality of the item in the given row.
0 is returned if there is no array.
Reimplemented from casacore::DataManagerColumn.
|
private |
Forbid assignment.
Put an array value into the given row.
The buffer pointed to by dataPtr has to have the correct length (which is guaranteed by the ArrayColumn put function).
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Put into a section of the array in the given row.
The buffer pointed to by dataPtr has to have the correct length (which is guaranteed by the ArrayColumn putSlice function).
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Remove the value in the given row.
This will result in lost file space.
Reimplemented from casacore::MSMColumn.
Set the shape of the array in the given row and allocate the array in the file.
Reimplemented from casacore::DataManagerColumn.
|
virtual |
Set the (fixed) shape of the arrays in the entire column.
Reimplemented from casacore::DataManagerColumn.
Get the shape of the array in the given row.
An zero-length IPosition is returned if there is no array.
Reimplemented from casacore::DataManagerColumn.
|
private |
The size of an array element.
Definition at line 221 of file MSMIndColumn.h.
|
private |
The shape of all arrays in case it is fixed.
Definition at line 219 of file MSMIndColumn.h.
Referenced by columnShape().
|
private |
The size at the start of the data (for the IPosition).
Definition at line 223 of file MSMIndColumn.h.
Referenced by getDataPtr().