casacore
|
Abstract base class for a column in a data manager. More...
#include <DataManagerColumn.h>
Public Member Functions | |
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 int | dataType () const =0 |
Get the data type of the column as defined in DataType.h. 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 (rownr_t rownr, const IPosition &shape) |
Set the shape of an (variable-shaped) array in the given row. More... | |
virtual void | setShapeTiled (rownr_t 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 (rownr_t rownr) |
Is the value shape defined in the given row? By default it returns True. More... | |
virtual uInt | ndim (rownr_t rownr) |
Get the dimensionality of the item in the given row. More... | |
virtual IPosition | shape (rownr_t rownr) |
Get the shape of the item in the given row. More... | |
virtual IPosition | tileShape (rownr_t 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... | |
ColumnCache & | columnCache () |
Get access to the ColumnCache object. More... | |
const ColumnCache * | columnCachePtr () const |
void | get (rownr_t rownr, Bool *dataPtr) |
Get the scalar value in the given row. More... | |
void | get (rownr_t rownr, uChar *dataPtr) |
void | get (rownr_t rownr, Short *dataPtr) |
void | get (rownr_t rownr, uShort *dataPtr) |
void | get (rownr_t rownr, Int *dataPtr) |
void | get (rownr_t rownr, uInt *dataPtr) |
void | get (rownr_t rownr, Int64 *dataPtr) |
void | get (rownr_t rownr, float *dataPtr) |
void | get (rownr_t rownr, double *dataPtr) |
void | get (rownr_t rownr, Complex *dataPtr) |
void | get (rownr_t rownr, DComplex *dataPtr) |
void | get (rownr_t rownr, String *dataPtr) |
void | get (rownr_t rownr, void *dataPtr) |
This function is the get for all non-standard data types. More... | |
void | put (rownr_t rownr, const Bool *dataPtr) |
Put the scalar value into the given row. More... | |
void | put (rownr_t rownr, const uChar *dataPtr) |
void | put (rownr_t rownr, const Short *dataPtr) |
void | put (rownr_t rownr, const uShort *dataPtr) |
void | put (rownr_t rownr, const Int *dataPtr) |
void | put (rownr_t rownr, const uInt *dataPtr) |
void | put (rownr_t rownr, const Int64 *dataPtr) |
void | put (rownr_t rownr, const float *dataPtr) |
void | put (rownr_t rownr, const double *dataPtr) |
void | put (rownr_t rownr, const Complex *dataPtr) |
void | put (rownr_t rownr, const DComplex *dataPtr) |
void | put (rownr_t rownr, const String *dataPtr) |
void | put (rownr_t rownr, const void *dataPtr) |
This function is the put for all non-standard data types. More... | |
virtual void | getScalarColumnV (ArrayBase &dataPtr) |
Get all scalar values in the column. More... | |
virtual void | putScalarColumnV (const ArrayBase &dataPtr) |
Put all scalar values in the column. More... | |
virtual void | getScalarColumnCellsV (const RefRows &rownrs, ArrayBase &dataPtr) |
Get some scalar values in the column. More... | |
virtual void | putScalarColumnCellsV (const RefRows &rownrs, const ArrayBase &dataPtr) |
Put some scalar values in the column. More... | |
virtual void | getArrayV (rownr_t rownr, ArrayBase &dataPtr) |
Get the array value in the given row. More... | |
virtual void | putArrayV (rownr_t rownr, const ArrayBase &data) |
Put the array value into the given row. More... | |
virtual void | getArrayColumnV (ArrayBase &data) |
Get all array values in the column. More... | |
virtual void | putArrayColumnV (const ArrayBase &data) |
Put all array values in the column. More... | |
virtual void | getArrayColumnCellsV (const RefRows &rownrs, ArrayBase &data) |
Get some array values in the column. More... | |
virtual void | putArrayColumnCellsV (const RefRows &rownrs, const ArrayBase &data) |
Put some array values in the column. More... | |
virtual void | getSliceV (rownr_t rownr, const Slicer &slicer, ArrayBase &data) |
Get a section of the array in the given row. More... | |
virtual void | putSliceV (rownr_t rownr, const Slicer &slicer, const ArrayBase &data) |
Put into a section of the array in the given row. More... | |
virtual void | getColumnSliceV (const Slicer &slicer, ArrayBase &data) |
Get a section of all arrays in the column. More... | |
virtual void | putColumnSliceV (const Slicer &slicer, const ArrayBase &data) |
Put into a section of all arrays in the column. More... | |
virtual void | getColumnSliceCellsV (const RefRows &rownrs, const Slicer &slicer, ArrayBase &data) |
Get a section of some arrays in the column. More... | |
virtual void | putColumnSliceCellsV (const RefRows &rownrs, const Slicer &slicer, const ArrayBase &data) |
Put into a section of some arrays in the column. 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 | |
virtual void | getBool (rownr_t rownr, Bool *dataPtr) |
Get the scalar value in the given row. More... | |
virtual void | getuChar (rownr_t rownr, uChar *dataPtr) |
virtual void | getShort (rownr_t rownr, Short *dataPtr) |
virtual void | getuShort (rownr_t rownr, uShort *dataPtr) |
virtual void | getInt (rownr_t rownr, Int *dataPtr) |
virtual void | getuInt (rownr_t rownr, uInt *dataPtr) |
virtual void | getInt64 (rownr_t rownr, Int64 *dataPtr) |
virtual void | getfloat (rownr_t rownr, float *dataPtr) |
virtual void | getdouble (rownr_t rownr, double *dataPtr) |
virtual void | getComplex (rownr_t rownr, Complex *dataPtr) |
virtual void | getDComplex (rownr_t rownr, DComplex *dataPtr) |
virtual void | getString (rownr_t rownr, String *dataPtr) |
virtual void | getOther (rownr_t rownr, void *dataPtr) |
This function is the get for all non-standard data types. More... | |
virtual void | putBool (rownr_t rownr, const Bool *dataPtr) |
Put the scalar value into the given row. More... | |
virtual void | putuChar (rownr_t rownr, const uChar *dataPtr) |
virtual void | putShort (rownr_t rownr, const Short *dataPtr) |
virtual void | putuShort (rownr_t rownr, const uShort *dataPtr) |
virtual void | putInt (rownr_t rownr, const Int *dataPtr) |
virtual void | putuInt (rownr_t rownr, const uInt *dataPtr) |
virtual void | putInt64 (rownr_t rownr, const Int64 *dataPtr) |
virtual void | putfloat (rownr_t rownr, const float *dataPtr) |
virtual void | putdouble (rownr_t rownr, const double *dataPtr) |
virtual void | putComplex (rownr_t rownr, const Complex *dataPtr) |
virtual void | putDComplex (rownr_t rownr, const DComplex *dataPtr) |
virtual void | putString (rownr_t rownr, const String *dataPtr) |
virtual void | putOther (rownr_t rownr, const void *dataPtr) |
This function is the put for all non-standard data types. More... | |
void | getScalarColumnBase (ArrayBase &dataPtr) |
The default implementations of get and put functions. More... | |
void | putScalarColumnBase (const ArrayBase &dataPtr) |
void | getScalarColumnCellsBase (const RefRows &rownrs, ArrayBase &dataPtr) |
void | putScalarColumnCellsBase (const RefRows &rownrs, const ArrayBase &dataPtr) |
void | getArrayColumnBase (ArrayBase &data) |
void | putArrayColumnBase (const ArrayBase &data) |
void | getArrayColumnCellsBase (const RefRows &rownrs, ArrayBase &data) |
void | putArrayColumnCellsBase (const RefRows &rownrs, const ArrayBase &data) |
void | getSliceBase (rownr_t rownr, const Slicer &slicer, ArrayBase &data) |
void | putSliceBase (rownr_t rownr, const Slicer &slicer, const ArrayBase &data) |
void | getColumnSliceBase (const Slicer &slicer, ArrayBase &data) |
void | putColumnSliceBase (const Slicer &slicer, const ArrayBase &data) |
void | getColumnSliceCellsBase (const RefRows &rownrs, const Slicer &slicer, ArrayBase &data) |
void | putColumnSliceCellsBase (const RefRows &rownrs, const Slicer &slicer, const ArrayBase &data) |
Private Member Functions | |
DataManagerColumn (const DataManagerColumn &) | |
The copy constructor cannot be used for this base class. More... | |
DataManagerColumn & | operator= (const DataManagerColumn &) |
Assignment cannot be used for this base class. More... | |
virtual void | setShapeColumn (const IPosition &shape) |
Set the shape of all (fixed-shaped) arrays in the column. More... | |
void | getSliceArr (rownr_t row, const Slicer §ion, CountedPtr< ArrayBase > &fullArr, ArrayBase &arr) |
Get a slice from the array in the given row. More... | |
void | putSliceArr (rownr_t row, const Slicer §ion, CountedPtr< ArrayBase > &fullArr, const ArrayBase &arr) |
Put a slice into the array in the given row. More... | |
Private Attributes | |
Bool | isFixedShape_p |
String | colName_p |
ColumnCache | colCache_p |
Abstract base class for a column in a data manager.
Internal
DataManagerColumn handles a column for a data manager.
DataManagerColumn is the abstract base class to handle a column in a data manager. Each data manager class must have one or more associated classes derived from DataManagerColumn to handle the columns. For example, storage manager StManAipsIO has columns classes StManColumnAipsIO, StManColumnArrayAipsIO and StManColumnIndArrayAipsIO to handle scalars, direct arrays and indirect arrays, resp.. However, using multiple inheritance it is possible that the derived DataManager and DataManagerColumn classes are the same. This is used in class ScaledArrayEngine<S,T> which represents both the data manager and its column class. It can do that, because the virtual column engine ScaledArrayEngine can handle only one column.
In the synopsis of class DataManager it is described how the (derived) DataManagerColumn objects gets created and deleted.
DataManagerColumn defines various virtual functions to get or put (slices) of data in a column. These functions are called by the table column classes ScalarColumnData and ArrayColumnData. It does not define functions create, open, flush and prepare like those defined in DataManager. It is left to the derived classes to define those as needed and to interact properly with their data manager object.
The get/put interface has changed per 1-Sep-2017. The old interface for ArrayColumn::getArray worked as follows:
The old interface for a function such as getArrayColumn works more or less the same. However, this function does not need to be implemented by a data manager. ArrayColumn will first ask the data manager if it supports getting an entire array column. If not, ArrayColumn will call getArray for each row. Functions such as getSlice, etc. work similarly.
A new interface has been developed which should result in a smaller code base and simpler classes. The new interface could be developed thanks to same Array enhancements making it possible to use quite some Array functionality in non-templated classes. The new interface works differently in a number of points:
However, some plug-in data managers exist outside the Casacore repository (e.g., LofarStMan and AdiosStMan). It should be possible to build and use them for some time with the old and new interface. To make this possible the new interface has to be backward compatible for some time. This is achieved by:
An abstract base class is needed to support multiple data managers in the table system
Definition at line 150 of file DataManagerColumn.h.
|
inline |
Create a column.
Definition at line 155 of file DataManagerColumn.h.
|
virtual |
Frees up the storage.
|
private |
The copy constructor cannot be used for this base class.
The private declaration of this constructor makes it unusable.
|
virtual |
Can the data manager handle chaging the shape of an existing array? Default is no.
Reimplemented in casacore::BaseMappedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< Complex, Int >, casacore::BaseMappedArrayEngine< Float, Short >, casacore::BaseMappedArrayEngine< Bool, StoredType >, casacore::ForwardColumn, casacore::StManColumnIndArrayAipsIO, casacore::ISMIndColumn, casacore::SSMIndColumn, casacore::TSMDataColumn, casacore::ForwardColumnIndexedRow, casacore::SSMIndStringColumn, casacore::MSMIndColumn, and casacore::Adios2StManColumn.
|
inline |
Get access to the ColumnCache object.
Definition at line 228 of file DataManagerColumn.h.
References colCache_p.
|
inline |
Definition at line 230 of file DataManagerColumn.h.
References colCache_p.
|
inline |
|
pure virtual |
Get the data type of the column as defined in DataType.h.
Implemented in casacore::VirtualArrayColumn< T >, casacore::VirtualArrayColumn< Float >, casacore::VirtualArrayColumn< Double >, casacore::VirtualArrayColumn< Bool >, casacore::VirtualArrayColumn< VirtualType >, casacore::VirtualArrayColumn< Complex >, casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, casacore::VirtualTaQLColumn, casacore::TSMColumn, and casacore::StManColumnBase.
|
virtual |
Get the data type id of the column for dataType==TpOther.
The default implementation returns an emptry string. This function is required for virtual column engines handling non-standard data types. It is used to check the data type.
Reimplemented in casacore::VirtualArrayColumn< T >, casacore::VirtualArrayColumn< Float >, casacore::VirtualArrayColumn< Double >, casacore::VirtualArrayColumn< Bool >, casacore::VirtualArrayColumn< VirtualType >, casacore::VirtualArrayColumn< Complex >, casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, and casacore::ForwardColumn.
Get the scalar value in the given row.
These functions are non-virtual and are converted to their virtual getXX equivalent to achieve that a derived templated class (such as VirtualScalarColumn) does not have to declare and implement all these functions. The compiler complains about hiding virtual functions if you do not declare all virtual functions with the same name in a derived class.
Definition at line 242 of file DataManagerColumn.h.
References getBool().
Definition at line 244 of file DataManagerColumn.h.
References getuChar().
Definition at line 246 of file DataManagerColumn.h.
References getShort().
Definition at line 248 of file DataManagerColumn.h.
References getuShort().
Definition at line 250 of file DataManagerColumn.h.
References getInt().
Definition at line 252 of file DataManagerColumn.h.
References getuInt().
Definition at line 254 of file DataManagerColumn.h.
References getInt64().
|
inline |
Definition at line 256 of file DataManagerColumn.h.
References getfloat().
|
inline |
Definition at line 258 of file DataManagerColumn.h.
References getdouble().
|
inline |
Definition at line 260 of file DataManagerColumn.h.
References getComplex().
|
inline |
Definition at line 262 of file DataManagerColumn.h.
References getDComplex().
Definition at line 264 of file DataManagerColumn.h.
References getString().
|
inline |
This function is the get for all non-standard data types.
Definition at line 267 of file DataManagerColumn.h.
References getOther().
|
protected |
|
protected |
|
virtual |
Get some array values in the column.
The array given in data
has to have the correct shape (which is guaranteed by the ArrayColumn getColumn function). The default implementation does a getArrayV per row.
Reimplemented in casacore::ForwardColumn, casacore::VirtualArrayColumn< T >, casacore::VirtualArrayColumn< Float >, casacore::VirtualArrayColumn< Double >, casacore::VirtualArrayColumn< Bool >, casacore::VirtualArrayColumn< VirtualType >, casacore::VirtualArrayColumn< Complex >, casacore::StManColumn, casacore::TSMDataColumn, casacore::VirtualScalarColumnBase, and casacore::Adios2StManColumn.
|
virtual |
Get all array values in the column.
The array given in data
has to have the correct shape (which is guaranteed by the ArrayColumn getColumn function). The default implementation does a getArrayV per row.
Reimplemented in casacore::VirtualArrayColumn< T >, casacore::VirtualArrayColumn< Float >, casacore::VirtualArrayColumn< Double >, casacore::VirtualArrayColumn< Bool >, casacore::VirtualArrayColumn< VirtualType >, casacore::VirtualArrayColumn< Complex >, casacore::ForwardColumn, casacore::StManColumn, casacore::TSMDataColumn, casacore::VirtualScalarColumnBase, and casacore::Adios2StManColumn.
Get the array value in the given row.
The array given in data
has to have the correct shape (which is guaranteed by the ArrayColumn get function). The default implementation throws an "invalid operation" exception.
Reimplemented in casacore::VirtualArrayColumn< T >, casacore::VirtualArrayColumn< Float >, casacore::VirtualArrayColumn< Double >, casacore::VirtualArrayColumn< Bool >, casacore::VirtualArrayColumn< VirtualType >, casacore::VirtualArrayColumn< Complex >, casacore::ForwardColumn, casacore::Adios2StManColumnString, casacore::ISMColumn, casacore::VirtualTaQLColumn, casacore::StManColumn, casacore::TSMDataColumn, casacore::ForwardColumnIndexedRow, casacore::TSMCoordColumn, casacore::StManColumnIndArrayAipsIO, casacore::VirtualScalarColumnBase, casacore::ISMIndColumn, casacore::SSMIndColumn, casacore::StManColumnArrayAipsIO, casacore::MSMIndColumn, casacore::SSMIndStringColumn, casacore::Adios2StManColumn, casacore::SSMDirColumn, and casacore::MSMDirColumn.
Referenced by dyscostman::ThreadedDyscoColumn< std::complex< float > >::getArrayV().
|
protectedvirtual |
Get the scalar value in the given row.
The default implementation throws an "invalid operation" exception.
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::VirtualTaQLColumn, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by get().
|
protected |
|
protected |
|
virtual |
Get a section of some arrays in the column.
The array given in data
has to have the correct shape (which is guaranteed by the ArrayColumn getColumn function). The default implementation does a getSliceV per row.
Reimplemented in casacore::ForwardColumn, casacore::VirtualArrayColumn< T >, casacore::VirtualArrayColumn< Float >, casacore::VirtualArrayColumn< Double >, casacore::VirtualArrayColumn< Bool >, casacore::VirtualArrayColumn< VirtualType >, casacore::VirtualArrayColumn< Complex >, casacore::StManColumn, casacore::TSMDataColumn, casacore::Adios2StManColumnString, casacore::VirtualScalarColumnBase, and casacore::Adios2StManColumn.
|
virtual |
Get a section of all arrays in the column.
The array given in data
has to have the correct shape (which is guaranteed by the ArrayColumn getColumn function). The default implementation does a getSliceV per row.
Reimplemented in casacore::ForwardColumn, casacore::VirtualArrayColumn< T >, casacore::VirtualArrayColumn< Float >, casacore::VirtualArrayColumn< Double >, casacore::VirtualArrayColumn< Bool >, casacore::VirtualArrayColumn< VirtualType >, casacore::VirtualArrayColumn< Complex >, casacore::StManColumn, casacore::TSMDataColumn, casacore::Adios2StManColumnString, casacore::VirtualScalarColumnBase, and casacore::Adios2StManColumn.
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::VirtualTaQLColumn, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMCoordColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by get().
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::VirtualTaQLColumn, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMCoordColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by get().
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::VirtualTaQLColumn, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMCoordColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by get().
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::VirtualTaQLColumn, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMCoordColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by get().
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::VirtualTaQLColumn, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMCoordColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by get().
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::VirtualTaQLColumn, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::MSMColumn, casacore::TSMCoordColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by get().
|
protectedvirtual |
This function is the get for all non-standard data types.
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, and casacore::ForwardColumnIndexedRow.
Referenced by get().
|
protected |
The default implementations of get and put functions.
|
protected |
|
virtual |
Get some scalar values in the column.
The vector given in data
has to have the correct length (which is guaranteed by the ScalarColumn getColumn function). The default implementation does a getXX per row.
Reimplemented in casacore::ForwardColumn, casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::VirtualTaQLColumn, casacore::ISMColumn, casacore::StManColumn, casacore::VirtualArrayColumnBase, and casacore::Adios2StManColumn.
|
virtual |
Get all scalar values in the column.
The vector given in data
has to have the correct length (which is guaranteed by the ScalarColumn getColumn function). The default implementation does a getXX per row.
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, casacore::VirtualTaQLColumn, casacore::ISMColumn, casacore::SSMColumn, casacore::VirtualArrayColumnBase, casacore::StManColumn, casacore::MSMColumn, and casacore::Adios2StManColumn.
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::VirtualTaQLColumn, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, and casacore::Adios2StManColumn.
Referenced by get().
|
private |
Get a slice from the array in the given row.
It reads the full array in the possibly reshaped ArrayBase object.
|
protected |
|
virtual |
Get a section of the array in the given row.
The array given in data
has to have the correct shape (which is guaranteed by the ArrayColumn getSlice function). The default implementation does getArrayV and takes the slice.
Reimplemented in casacore::VirtualArrayColumn< T >, casacore::VirtualArrayColumn< Float >, casacore::VirtualArrayColumn< Double >, casacore::VirtualArrayColumn< Bool >, casacore::VirtualArrayColumn< VirtualType >, casacore::VirtualArrayColumn< Complex >, casacore::ForwardColumn, casacore::StManColumn, casacore::Adios2StManColumnString, casacore::TSMDataColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumnIndArrayAipsIO, casacore::ISMIndColumn, casacore::VirtualScalarColumnBase, casacore::SSMIndColumn, casacore::MSMIndColumn, casacore::Adios2StManColumn, and casacore::MSMDirColumn.
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::VirtualTaQLColumn, casacore::ForwardColumn, casacore::ISMColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by get().
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::VirtualTaQLColumn, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, and casacore::Adios2StManColumn.
Referenced by get().
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::VirtualTaQLColumn, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMCoordColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by get().
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::VirtualTaQLColumn, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, and casacore::Adios2StManColumn.
Referenced by get().
|
inline |
Is this a fixed shape column?
Definition at line 167 of file DataManagerColumn.h.
References isFixedShape_p.
Referenced by setIsFixedShape().
Is the value shape defined in the given row? By default it returns True.
Reimplemented in casacore::BaseMappedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< Complex, Int >, casacore::BaseMappedArrayEngine< Float, Short >, casacore::BaseMappedArrayEngine< Bool, StoredType >, casacore::ForwardColumn, casacore::UVWJ2000Column, casacore::VirtualArrayColumnBase, casacore::VirtualTaQLColumn, casacore::ItrfColumn, casacore::TSMDataColumn, casacore::ISMIndColumn, casacore::AzElColumn, casacore::ForwardColumnIndexedRow, casacore::SSMIndColumn, casacore::StManColumnIndArrayAipsIO, casacore::SSMIndStringColumn, casacore::TSMCoordColumn, casacore::HaDecColumn, casacore::StManColumn, and casacore::MSMIndColumn.
|
virtual |
Test if data can be put into this column.
This does not test if the data file is writable, only if it is in principle allowed to store data into the column. (It may not be allowed for virtual columns). The default is True.
Reimplemented in casacore::VACEngine< T >, casacore::VSCEngine< T >, casacore::BaseMappedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< Complex, Int >, casacore::BaseMappedArrayEngine< Float, Short >, casacore::BaseMappedArrayEngine< Bool, StoredType >, casacore::ForwardColumn, casacore::VirtualTaQLColumn, casacore::VirtualArrayColumnBase, casacore::VirtualScalarColumnBase, and dyscostman::DyscoStManColumn.
Get the dimensionality of the item in the given row.
By default it returns shape(rownr).nelements().
Reimplemented in casacore::RetypedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< Complex, Int >, casacore::BaseMappedArrayEngine< Float, Short >, casacore::BaseMappedArrayEngine< Bool, StoredType >, casacore::ScaledComplexData< VirtualType, StoredType >, casacore::ForwardColumn, casacore::VirtualTaQLColumn, casacore::ISMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumnIndArrayAipsIO, casacore::SSMColumn, casacore::ISMIndColumn, casacore::SSMIndStringColumn, casacore::SSMIndColumn, casacore::StManColumnArrayAipsIO, casacore::StManColumn, casacore::MSMIndColumn, and casacore::MSMDirColumn.
|
private |
Assignment cannot be used for this base class.
The private declaration of this operator makes it unusable.
Put the scalar value into the given row.
These functions are non-virtual and are converted to their virtual putXX equivalent to achieve that a derived templated class (such as VirtualScalarColumn) does not have to declare and implement all these functions. The compiler complains about hiding virtual functions if you do not declare all virtual functions with the same name in a derived class.
Definition at line 279 of file DataManagerColumn.h.
References putBool().
Definition at line 281 of file DataManagerColumn.h.
References putuChar().
Definition at line 283 of file DataManagerColumn.h.
References putShort().
Definition at line 285 of file DataManagerColumn.h.
References putuShort().
Definition at line 287 of file DataManagerColumn.h.
References putInt().
Definition at line 289 of file DataManagerColumn.h.
References putuInt().
Definition at line 291 of file DataManagerColumn.h.
References putInt64().
|
inline |
Definition at line 293 of file DataManagerColumn.h.
References putfloat().
|
inline |
Definition at line 295 of file DataManagerColumn.h.
References putdouble().
|
inline |
Definition at line 297 of file DataManagerColumn.h.
References putComplex().
|
inline |
Definition at line 299 of file DataManagerColumn.h.
References putDComplex().
Definition at line 301 of file DataManagerColumn.h.
References putString().
|
inline |
This function is the put for all non-standard data types.
Definition at line 304 of file DataManagerColumn.h.
References putOther().
|
protected |
|
protected |
|
virtual |
Put some array values in the column.
The array given in data
has to have the correct shape (which is guaranteed by the ArrayColumn getColumn function). The default implementation does a putArrayV per row.
Reimplemented in casacore::ForwardColumn, casacore::VirtualArrayColumn< T >, casacore::VirtualArrayColumn< Float >, casacore::VirtualArrayColumn< Double >, casacore::VirtualArrayColumn< Bool >, casacore::VirtualArrayColumn< VirtualType >, casacore::VirtualArrayColumn< Complex >, casacore::StManColumn, casacore::TSMDataColumn, casacore::VirtualScalarColumnBase, and casacore::Adios2StManColumn.
|
virtual |
Put all array values in the column.
The array given in data
has to have the correct shape (which is guaranteed by the ArrayColumn putColumn function). The default implementation does a putArrayV per row.
Reimplemented in casacore::VirtualArrayColumn< T >, casacore::VirtualArrayColumn< Float >, casacore::VirtualArrayColumn< Double >, casacore::VirtualArrayColumn< Bool >, casacore::VirtualArrayColumn< VirtualType >, casacore::VirtualArrayColumn< Complex >, casacore::ForwardColumn, casacore::StManColumn, casacore::TSMDataColumn, casacore::VirtualScalarColumnBase, and casacore::Adios2StManColumn.
|
virtual |
Put the array value into the given row.
The array given in data
has to have the correct shape (which is guaranteed by the ArrayColumn put function). The default implementation throws an "invalid operation" exception.
Reimplemented in casacore::VirtualArrayColumn< T >, casacore::VirtualArrayColumn< Float >, casacore::VirtualArrayColumn< Double >, casacore::VirtualArrayColumn< Bool >, casacore::VirtualArrayColumn< VirtualType >, casacore::VirtualArrayColumn< Complex >, casacore::ForwardColumn, casacore::Adios2StManColumnString, casacore::ISMColumn, casacore::StManColumn, casacore::TSMDataColumn, casacore::ForwardColumnIndexedRow, casacore::TSMCoordColumn, casacore::StManColumnIndArrayAipsIO, casacore::ISMIndColumn, casacore::SSMIndColumn, casacore::VirtualScalarColumnBase, casacore::StManColumnArrayAipsIO, casacore::MSMIndColumn, casacore::SSMIndStringColumn, casacore::MSMDirColumn, casacore::SSMDirColumn, and casacore::Adios2StManColumn.
Referenced by dyscostman::ThreadedDyscoColumn< std::complex< float > >::putArrayV().
|
protectedvirtual |
Put the scalar value into the given row.
The default implementation throws an "invalid operation" exception.
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by put().
|
protected |
|
protected |
|
virtual |
Put into a section of some arrays in the column.
The array given in data
has to have the correct shape (which is guaranteed by the ArrayColumn putColumn function). The default implementation does a putSliceV per row.
Reimplemented in casacore::ForwardColumn, casacore::VirtualArrayColumn< T >, casacore::VirtualArrayColumn< Float >, casacore::VirtualArrayColumn< Double >, casacore::VirtualArrayColumn< Bool >, casacore::VirtualArrayColumn< VirtualType >, casacore::VirtualArrayColumn< Complex >, casacore::StManColumn, casacore::TSMDataColumn, casacore::Adios2StManColumnString, casacore::VirtualScalarColumnBase, and casacore::Adios2StManColumn.
|
virtual |
Put into a section of all arrays in the column.
The array given in data
has to have the correct shape (which is guaranteed by the ArrayColumn putColumn function). The default implementation does a putSliceV per row.
Reimplemented in casacore::ForwardColumn, casacore::VirtualArrayColumn< T >, casacore::VirtualArrayColumn< Float >, casacore::VirtualArrayColumn< Double >, casacore::VirtualArrayColumn< Bool >, casacore::VirtualArrayColumn< VirtualType >, casacore::VirtualArrayColumn< Complex >, casacore::StManColumn, casacore::TSMDataColumn, casacore::Adios2StManColumnString, casacore::VirtualScalarColumnBase, and casacore::Adios2StManColumn.
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMCoordColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by put().
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMCoordColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by put().
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMCoordColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by put().
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMCoordColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by put().
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMCoordColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by put().
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::MSMColumn, casacore::TSMCoordColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by put().
|
protectedvirtual |
This function is the put for all non-standard data types.
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, and casacore::ForwardColumnIndexedRow.
Referenced by put().
|
protected |
|
protected |
|
virtual |
Put some scalar values in the column.
The vector given in data
has to have the correct length (which is guaranteed by the ScalarColumn getColumn function). The default implementation does a putXX per row.
Reimplemented in casacore::ForwardColumn, casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::StManColumn, casacore::VirtualArrayColumnBase, and casacore::Adios2StManColumn.
|
virtual |
Put all scalar values in the column.
The vector given in data
has to have the correct length (which is guaranteed by the ScalarColumn putColumn function). The default implementation does a putXX per row.
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, casacore::ISMColumn, casacore::SSMColumn, casacore::VirtualArrayColumnBase, casacore::StManColumn, casacore::MSMColumn, and casacore::Adios2StManColumn.
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, and casacore::Adios2StManColumn.
Referenced by put().
|
private |
Put a slice into the array in the given row.
It reads and writes the full array in the possibly reshaped ArrayBase object.
|
protected |
|
virtual |
Put into a section of the array in the given row.
The array given in data
has to have the correct shape (which is guaranteed by the ArrayColumn putSlice function). The default implementation does get/putArrayV and puts the slice.
Reimplemented in casacore::VirtualArrayColumn< T >, casacore::VirtualArrayColumn< Float >, casacore::VirtualArrayColumn< Double >, casacore::VirtualArrayColumn< Bool >, casacore::VirtualArrayColumn< VirtualType >, casacore::VirtualArrayColumn< Complex >, casacore::ForwardColumn, casacore::StManColumn, casacore::Adios2StManColumnString, casacore::TSMDataColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumnIndArrayAipsIO, casacore::ISMIndColumn, casacore::SSMIndColumn, casacore::VirtualScalarColumnBase, casacore::MSMIndColumn, casacore::MSMDirColumn, and casacore::Adios2StManColumn.
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, casacore::ISMColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by put().
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, and casacore::Adios2StManColumn.
Referenced by put().
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, casacore::TSMCoordColumn, casacore::TSMIdColumn, and casacore::Adios2StManColumn.
Referenced by put().
|
protectedvirtual |
Reimplemented in casacore::VirtualScalarColumn< T >, casacore::VirtualScalarColumn< Double >, casacore::ForwardColumn, casacore::ISMColumn, casacore::TSMDataColumn, casacore::SSMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumn, casacore::MSMColumn, and casacore::Adios2StManColumn.
Referenced by put().
|
inline |
|
inline |
Set the shape of all (fixed-shaped) arrays in the column.
Effectively it is the same as setShapeColumn, but it also sets the isFixedShape_p flag.
Definition at line 193 of file DataManagerColumn.h.
References isFixedShape_p, setShapeColumn(), and casacore::True.
|
inline |
Set the isFixedShape flag.
Definition at line 163 of file DataManagerColumn.h.
References isFixedShape(), and isFixedShape_p.
|
virtual |
Set the maximum length of the value (can be used for strings).
By default the maximum length is ignored.
Reimplemented in casacore::VirtualTaQLColumn, casacore::SSMColumn, casacore::SSMIndColumn, and casacore::SSMDirColumn.
|
virtual |
Set the shape of an (variable-shaped) array in the given row.
By default it throws a "not possible" exception.
Reimplemented in casacore::RetypedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< Complex, Int >, casacore::BaseMappedArrayEngine< Float, Short >, casacore::BaseMappedArrayEngine< Bool, StoredType >, casacore::ScaledComplexData< VirtualType, StoredType >, casacore::ForwardColumn, casacore::VirtualArrayColumnBase, casacore::TSMDataColumn, casacore::ISMIndColumn, casacore::ForwardColumnIndexedRow, casacore::SSMIndColumn, casacore::StManColumnIndArrayAipsIO, casacore::TSMCoordColumn, casacore::SSMIndStringColumn, casacore::MSMIndColumn, casacore::StManColumn, and casacore::Adios2StManColumn.
|
privatevirtual |
Set the shape of all (fixed-shaped) arrays in the column.
By default it throws a "not possible" exception.
Reimplemented in casacore::RetypedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< Complex, Int >, casacore::BaseMappedArrayEngine< Float, Short >, casacore::BaseMappedArrayEngine< Bool, StoredType >, casacore::ScaledComplexData< VirtualType, StoredType >, casacore::ForwardColumn, casacore::VirtualArrayColumnBase, casacore::VirtualTaQLColumn, casacore::ISMColumn, casacore::TSMColumn, casacore::ISMIndColumn, casacore::SSMColumn, casacore::SSMIndColumn, casacore::StManColumnIndArrayAipsIO, casacore::StManColumnArrayAipsIO, casacore::MSMIndColumn, casacore::MSMDirColumn, casacore::Adios2StManColumn, dyscostman::ThreadedDyscoColumn< DataType >, dyscostman::ThreadedDyscoColumn< float >, and dyscostman::ThreadedDyscoColumn< std::complex< float > >.
Referenced by setFixedShapeColumn().
|
virtual |
Set the shape and tile shape of an (variable-shaped) array in the given row.
By default it ignores the tile shape (thus only sets the shape).
Reimplemented in casacore::TSMDataColumn, and casacore::StManColumn.
Get the shape of the item in the given row.
By default it returns a zero-length IPosition (for a scalar value).
Reimplemented in casacore::RetypedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< Complex, Int >, casacore::BaseMappedArrayEngine< Float, Short >, casacore::BaseMappedArrayEngine< Bool, StoredType >, casacore::ScaledComplexData< VirtualType, StoredType >, casacore::ForwardColumn, casacore::VirtualArrayColumnBase, casacore::UVWJ2000Column, casacore::VirtualTaQLColumn, casacore::ItrfColumn, casacore::TSMDataColumn, casacore::ISMColumn, casacore::ForwardColumnIndexedRow, casacore::StManColumnIndArrayAipsIO, casacore::ISMIndColumn, casacore::SSMIndColumn, casacore::SSMColumn, casacore::AzElColumn, casacore::TSMCoordColumn, casacore::StManColumnArrayAipsIO, casacore::StManColumn, casacore::SSMIndStringColumn, casacore::MSMIndColumn, casacore::HaDecColumn, casacore::MSMDirColumn, and casacore::Adios2StManColumn.
void casacore::DataManagerColumn::throwGet | ( | ) | const |
Throw an "invalid operation" exception for the default implementation of get.
Referenced by casacore::VirtScaCol_global_functions_get_putVirtualScalar::getVirtualScalar().
void casacore::DataManagerColumn::throwPut | ( | ) | const |
Throw an "invalid operation" exception for the default implementation of put.
Referenced by casacore::VirtScaCol_global_functions_get_putVirtualScalar::putVirtualScalar().
Get the tile shape of the item in the given row.
By default it returns a zero-length IPosition.
Reimplemented in casacore::TSMDataColumn, and casacore::StManColumn.
|
private |
Definition at line 516 of file DataManagerColumn.h.
Referenced by columnCache(), and columnCachePtr().
|
private |
Definition at line 515 of file DataManagerColumn.h.
Referenced by columnName(), and setColumnName().
|
private |
Definition at line 514 of file DataManagerColumn.h.
Referenced by isFixedShape(), setFixedShapeColumn(), and setIsFixedShape().