casacore
|
Templated base class for virtual array column. More...
#include <VirtArrCol.h>
Public Member Functions | |
VirtualArrayColumnBase () | |
Create a column. More... | |
virtual | ~VirtualArrayColumnBase () |
virtual Bool | isWritable () const |
By default no data can be put in a virtual 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 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 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 (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 uInt | ndim (rownr_t rownr) |
Get the dimensionality 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 | 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 | setShapeColumn (const IPosition &shape) |
Set the shape of all arrays in the column. More... | |
virtual void | setShape (rownr_t rownr, const IPosition &shape) |
Set the shape of an array in the given row. More... | |
virtual Bool | isShapeDefined (rownr_t rownr) |
Is the value shape defined in the given row? By default it throws a "not possible" exception. More... | |
virtual IPosition | shape (rownr_t rownr) |
Get the shape of the item in the given row. More... | |
virtual void | getScalarColumnV (ArrayBase &dataPtr) |
The scalar access functions throw an exception. 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... | |
Protected Member Functions inherited from casacore::DataManagerColumn | |
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) |
Templated base class for virtual array column.
Internal
VirtualArrayColumn handles a virtual column containing an array.
VirtualArrayColumn is the abstract base class to handle an array column for a virtual column engine (both direct and indirect arrays). It is derived from DataManagerColumn and reimplements some virtual functions to make life easier for the derived classes. It does the following:
An example of a virtual array column class is ScaledComplexData. Note that this class is (indirectly) multiple derived from VirtualColumnEngine and VirtualArrayColumn, so it combines the functionality of DataManager and DataManagerColumn. This is possible, because one ScaledComplexData engine can handle only one column.
This class reimplements some virtual functions implemented by DataManagerColumn and types the data argument. In that way they are easier to implement in derived classes. Furthermore they allow default implementations.
static String dataTypeId(); // unique name of the class
Definition at line 135 of file VirtArrCol.h.
|
inline |
Create a column.
Definition at line 139 of file VirtArrCol.h.
|
virtual |
|
protectedvirtual |
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 from casacore::DataManagerColumn.
|
protectedvirtual |
The scalar access functions throw an exception.
Reimplemented from casacore::DataManagerColumn.
Is the value shape defined in the given row? By default it throws a "not possible" exception.
Reimplemented from casacore::DataManagerColumn.
Reimplemented in casacore::BaseMappedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< Complex, Int >, casacore::BaseMappedArrayEngine< Float, Short >, casacore::BaseMappedArrayEngine< Bool, StoredType >, casacore::UVWJ2000Column, casacore::ItrfColumn, casacore::AzElColumn, and casacore::HaDecColumn.
|
virtual |
By default no data can be put in a virtual column.
Reimplemented from casacore::DataManagerColumn.
Reimplemented in casacore::VACEngine< T >, casacore::BaseMappedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< Complex, Int >, casacore::BaseMappedArrayEngine< Float, Short >, and casacore::BaseMappedArrayEngine< Bool, StoredType >.
|
protectedvirtual |
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 from casacore::DataManagerColumn.
|
protectedvirtual |
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 from casacore::DataManagerColumn.
|
protectedvirtual |
Set the shape of an array in the given row.
It is only called if the column contains indirect arrays. By default it throws a "not possible" exception.
Reimplemented from casacore::DataManagerColumn.
Reimplemented in casacore::RetypedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< Complex, Int >, casacore::BaseMappedArrayEngine< Float, Short >, casacore::BaseMappedArrayEngine< Bool, StoredType >, and casacore::ScaledComplexData< VirtualType, StoredType >.
|
protectedvirtual |
Set the shape of all arrays in the column.
It is only called if the column contains direct arrays. By default it throws a "not possible" exception.
Reimplemented from casacore::DataManagerColumn.
Reimplemented in casacore::RetypedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< VirtualType, StoredType >, casacore::BaseMappedArrayEngine< Complex, Int >, casacore::BaseMappedArrayEngine< Float, Short >, casacore::BaseMappedArrayEngine< Bool, StoredType >, and casacore::ScaledComplexData< VirtualType, StoredType >.
Get the shape of the item in the given row.
By default it throws a "not possible" exception.
Reimplemented from casacore::DataManagerColumn.
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::UVWJ2000Column, casacore::ItrfColumn, casacore::AzElColumn, and casacore::HaDecColumn.