casa
5.7.0-16
|
AipsIO table column storage manager class. More...
#include <StManAipsIO.h>
Public Member Functions | |
StManColumnAipsIO (StManAipsIO *stMan, int dataType, Bool byPtr) | |
Create a column of the given type. More... | |
virtual | ~StManColumnAipsIO () |
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 | remove (uInt rownr) |
Remove the given row. More... | |
virtual void | doCreate (uInt nrrow) |
Create the number of rows in a new table. More... | |
virtual void | putFile (uInt nrval, AipsIO &) |
Write the column data into AipsIO. More... | |
virtual void | getFile (uInt nrval, AipsIO &) |
Read the column data from AipsIO. More... | |
virtual void | reopenRW () |
Reopen the storage manager files for read/write. 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 | setShape (uInt rownr, const IPosition &shape) |
Set the shape of an (variable-shaped) array in the given row. 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 Bool | isShapeDefined (uInt rownr) |
Is the value shape defined in the given row? By default it returns True. More... | |
virtual uInt | ndim (uInt rownr) |
Get the dimensionality of the item in the given row. More... | |
virtual IPosition | shape (uInt rownr) |
Get the shape of the item in the given row. More... | |
virtual IPosition | tileShape (uInt rownr) |
Get the tile shape of the item in the given row. More... | |
virtual Bool | canChangeShape () const |
Can the data manager handle chaging the shape of an existing array? Default is no. 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 | canAccessSlice (Bool &reask) const |
Can the column data manager handle access to a cell slice? If not, the caller should do slicing itself (by accessing the entire array and slicing it). 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... | |
Protected Member Functions | |
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... | |
virtual void | putData (void *datap, uInt nrval, AipsIO &) |
Put the data (nrval elements) in an extension (starting at datap) into AipsIO. More... | |
virtual void | getData (void *datap, uInt index, uInt nrval, AipsIO &, uInt version) |
Get data (nrval elements) into an extension (starting at datap plus the given index). 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 | getArrayBoolV (uInt rownr, Array< Bool > *dataPtr) |
Get the array value in the given row. More... | |
virtual void | getArrayuCharV (uInt rownr, Array< uChar > *dataPtr) |
virtual void | getArrayShortV (uInt rownr, Array< Short > *dataPtr) |
virtual void | getArrayuShortV (uInt rownr, Array< uShort > *dataPtr) |
virtual void | getArrayIntV (uInt rownr, Array< Int > *dataPtr) |
virtual void | getArrayuIntV (uInt rownr, Array< uInt > *dataPtr) |
virtual void | getArrayInt64V (uInt rownr, Array< Int64 > *dataPtr) |
virtual void | getArrayfloatV (uInt rownr, Array< float > *dataPtr) |
virtual void | getArraydoubleV (uInt rownr, Array< double > *dataPtr) |
virtual void | getArrayComplexV (uInt rownr, Array< Complex > *dataPtr) |
virtual void | getArrayDComplexV (uInt rownr, Array< DComplex > *dataPtr) |
virtual void | getArrayStringV (uInt rownr, Array< String > *dataPtr) |
virtual void | putArrayBoolV (uInt rownr, const Array< Bool > *dataPtr) |
Put the array value into the given row. More... | |
virtual void | putArrayuCharV (uInt rownr, const Array< uChar > *dataPtr) |
virtual void | putArrayShortV (uInt rownr, const Array< Short > *dataPtr) |
virtual void | putArrayuShortV (uInt rownr, const Array< uShort > *dataPtr) |
virtual void | putArrayIntV (uInt rownr, const Array< Int > *dataPtr) |
virtual void | putArrayuIntV (uInt rownr, const Array< uInt > *dataPtr) |
virtual void | putArrayInt64V (uInt rownr, const Array< Int64 > *dataPtr) |
virtual void | putArrayfloatV (uInt rownr, const Array< float > *dataPtr) |
virtual void | putArraydoubleV (uInt rownr, const Array< double > *dataPtr) |
virtual void | putArrayComplexV (uInt rownr, const Array< Complex > *dataPtr) |
virtual void | putArrayDComplexV (uInt rownr, const Array< DComplex > *dataPtr) |
virtual void | putArrayStringV (uInt rownr, const Array< 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 | getSliceBoolV (uInt rownr, const Slicer &ns, Array< Bool > *dataPtr) |
Get the array value in the given row. More... | |
virtual void | getSliceuCharV (uInt rownr, const Slicer &ns, Array< uChar > *dataPtr) |
virtual void | getSliceShortV (uInt rownr, const Slicer &ns, Array< Short > *dataPtr) |
virtual void | getSliceuShortV (uInt rownr, const Slicer &ns, Array< uShort > *dataPtr) |
virtual void | getSliceIntV (uInt rownr, const Slicer &ns, Array< Int > *dataPtr) |
virtual void | getSliceuIntV (uInt rownr, const Slicer &ns, Array< uInt > *dataPtr) |
virtual void | getSliceInt64V (uInt rownr, const Slicer &ns, Array< Int64 > *dataPtr) |
virtual void | getSlicefloatV (uInt rownr, const Slicer &ns, Array< float > *dataPtr) |
virtual void | getSlicedoubleV (uInt rownr, const Slicer &ns, Array< double > *dataPtr) |
virtual void | getSliceComplexV (uInt rownr, const Slicer &ns, Array< Complex > *dataPtr) |
virtual void | getSliceDComplexV (uInt rownr, const Slicer &ns, Array< DComplex > *dataPtr) |
virtual void | getSliceStringV (uInt rownr, const Slicer &ns, Array< String > *dataPtr) |
virtual void | putSliceBoolV (uInt rownr, const Slicer &ns, const Array< Bool > *dataPtr) |
Put the array value into the given row. More... | |
virtual void | putSliceuCharV (uInt rownr, const Slicer &ns, const Array< uChar > *dataPtr) |
virtual void | putSliceShortV (uInt rownr, const Slicer &ns, const Array< Short > *dataPtr) |
virtual void | putSliceuShortV (uInt rownr, const Slicer &ns, const Array< uShort > *dataPtr) |
virtual void | putSliceIntV (uInt rownr, const Slicer &ns, const Array< Int > *dataPtr) |
virtual void | putSliceuIntV (uInt rownr, const Slicer &ns, const Array< uInt > *dataPtr) |
virtual void | putSliceInt64V (uInt rownr, const Slicer &ns, const Array< Int64 > *dataPtr) |
virtual void | putSlicefloatV (uInt rownr, const Slicer &ns, const Array< float > *dataPtr) |
virtual void | putSlicedoubleV (uInt rownr, const Slicer &ns, const Array< double > *dataPtr) |
virtual void | putSliceComplexV (uInt rownr, const Slicer &ns, const Array< Complex > *dataPtr) |
virtual void | putSliceDComplexV (uInt rownr, const Slicer &ns, const Array< DComplex > *dataPtr) |
virtual void | putSliceStringV (uInt rownr, const Slicer &ns, 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 | |
StManAipsIO * | stmanPtr_p |
The storage manager. More... | |
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... | |
Private Member Functions | |
StManColumnAipsIO (const StManColumnAipsIO &) | |
Forbid copy constructor. More... | |
StManColumnAipsIO & | operator= (const StManColumnAipsIO &) |
Forbid assignment. 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... | |
AipsIO table column storage manager class.
Internal
StManColumnAipsIO handles a column for an AipsIO storage manager.
StManColumnAipsIO is used by StManAipsIO to handle the access to the data in a table column. It is an storage manager based on AipsIO. The entire column is kept in memory and only written when the storage manager closes. When the storage manager gets opened, the entire column gets read back. It fully supports addition and removal of rows.
StManColumnAipsIO serves 2 purposes:
StManColumnAipsIO does not hold a column as a consecutive array, because extending the column (i.e. adding rows) proofed be too expensive due to the repeated copying involved when creating a table (this method was used by the old table system). Instead it has a number of data blocks (extensions) indexed to by a super block. Accessing a row means finding the appropriate extension via a binary search. Because there is only 1 extension when a table is read back, the overhead in finding a row is small.
StManColumnAipsIO handles the standard data types. The class is not templated, but a switch statement is used instead. Templates would cause too many instantiations.
Definition at line 106 of file StManAipsIO.h.
casacore::StManColumnAipsIO::StManColumnAipsIO | ( | StManAipsIO * | stMan, |
int | dataType, | ||
Bool | byPtr | ||
) |
Create a column of the given type.
It will maintain a pointer to its parent storage manager.
|
virtual |
Frees up the storage.
|
private |
Forbid copy constructor.
Add (newNrrow-oldNrrow) rows to the column.
Reimplemented in casacore::StManColumnIndArrayAipsIO, and casacore::StManColumnArrayAipsIO.
Allocate an extension with the data type of the column.
|
protected |
Delete all extensions.
Possible underlying data (as used by StManArrayColumnAipsIO) will not be deleted and should have been deleted beforehand.
|
protected |
Delete an extension.
|
virtual |
Create the number of rows in a new table.
This is used when a table gets created.
Reimplemented in casacore::StManColumnIndArrayAipsIO.
Find the extension in which the row number is.
If the flag is true, it also sets the columnCache object.
|
protected |
Get the pointer for the given row.
This is for the derived classes like StManArrayColumnAipsIO.
Get scalars from the given row on with a maximum of nrmax values.
This can be used to get an entire column of scalars or to get a part of a column (for a cache for example). The buffer pointed to by dataPtr has to have the correct length (which is guaranteed by the ScalarColumn get 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.
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
Reimplemented from casacore::StManColumn.
|
virtual |
Reimplemented from casacore::StManColumn.
Get a scalar value in the given row.
The buffer pointed to by dataPtr has to have the correct length (which is guaranteed by the Scalar/ArrayColumn get function).
Reimplemented from casacore::DataManagerColumn.
|
virtual |
Reimplemented from casacore::DataManagerColumn.
|
protectedvirtual |
Get data (nrval elements) into an extension (starting at datap plus the given index).
Reimplemented in casacore::StManColumnIndArrayAipsIO, and casacore::StManColumnArrayAipsIO.
|
virtual |
Reimplemented from casacore::DataManagerColumn.
|
virtual |
Reimplemented from casacore::DataManagerColumn.
Read the column data from AipsIO.
One extension gets allocated to hold all rows in the column.
Reimplemented in casacore::StManColumnArrayAipsIO, and casacore::StManColumnIndArrayAipsIO.
|
virtual |
Reimplemented from casacore::DataManagerColumn.
Reimplemented from casacore::DataManagerColumn.
Reimplemented from casacore::DataManagerColumn.
|
virtual |
Get the scalar values in some cells of the column.
The buffer pointed to by dataPtr has to have the correct length. (which is guaranteed by the ScalarColumn getColumnCells function). The default implementation loops through all rows.
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.
Reimplemented from casacore::DataManagerColumn.
Reimplemented from casacore::DataManagerColumn.
Reimplemented from casacore::DataManagerColumn.
Reimplemented from casacore::DataManagerColumn.
Reimplemented from casacore::DataManagerColumn.
Get the next extension.
For the first iteration extnr should be zero. It returns the number of values in it until the maximum is reached. Zero means no more extensions.
|
virtual |
Check if the class invariants still hold.
Reimplemented in casacore::StManColumnArrayAipsIO, and casacore::StManColumnIndArrayAipsIO.
|
private |
Forbid assignment.
|
protected |
Put the pointer for the given row.
This is for the derived classes like StManArrayColumnAipsIO.
|
virtual |
Put nrmax scalars from the given row on.
This can be used to put an entire column of scalars or to put a part of a column (for a cache for example). The buffer pointed to by dataPtr has to have the correct length (which is guaranteed by the ScalarColumn put 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.
Put a scalar value into the given row.
The buffer pointed to by dataPtr has to have the correct length (which is guaranteed by the Scalar/ArrayColumn put function).
Reimplemented from casacore::DataManagerColumn.
|
virtual |
Reimplemented from casacore::DataManagerColumn.
|
protectedvirtual |
Put the data (nrval elements) in an extension (starting at datap) into AipsIO.
Reimplemented in casacore::StManColumnIndArrayAipsIO, and casacore::StManColumnArrayAipsIO.
|
virtual |
Reimplemented from casacore::DataManagerColumn.
|
virtual |
Reimplemented from casacore::DataManagerColumn.
Write the column data into AipsIO.
It will successively write all extensions using putData.
Reimplemented in casacore::StManColumnArrayAipsIO, and casacore::StManColumnIndArrayAipsIO.
|
virtual |
Reimplemented from casacore::DataManagerColumn.
Reimplemented from casacore::DataManagerColumn.
Reimplemented from casacore::DataManagerColumn.
Reimplemented from casacore::DataManagerColumn.
Reimplemented from casacore::DataManagerColumn.
Reimplemented from casacore::DataManagerColumn.
Reimplemented from casacore::DataManagerColumn.
Reimplemented from casacore::DataManagerColumn.
|
virtual |
Remove the given row.
If no rows remain in the extension, the extension is also removed.
Reimplemented in casacore::StManColumnArrayAipsIO, and casacore::StManColumnIndArrayAipsIO.
Remove an entry (i.e.
a row) from an extension at the given index. It will do this by shifting the rest (nrvalAfter elements) one position to the left.
|
virtual |
Reopen the storage manager files for read/write.
Reimplemented in casacore::StManColumnIndArrayAipsIO.
void casacore::StManColumnAipsIO::resize | ( | uInt | nrval | ) |
Resize the data blocks.
This adds an extension when needed.
|
protected |
The data is indirectly accessed via a pointer (for the derived classes).
Definition at line 259 of file StManAipsIO.h.
|
protected |
The assembly of all extensions (actually Block<T*>).
Definition at line 265 of file StManAipsIO.h.
|
protected |
The data type (for caching purposes).
Definition at line 257 of file StManAipsIO.h.
The cumulative nr of rows in all extensions.
Definition at line 267 of file StManAipsIO.h.
|
protected |
The number of allocated rows in the column.
Definition at line 261 of file StManAipsIO.h.
|
protected |
The nr of extensions in use.
Definition at line 263 of file StManAipsIO.h.
|
protected |
The storage manager.
Definition at line 255 of file StManAipsIO.h.