28 #ifndef TABLES_DATAMANAGERCOLUMN_H
29 #define TABLES_DATAMANAGERCOLUMN_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/tables/Tables/ColumnCache.h>
35 #include <casacore/casa/BasicSL/String.h>
36 #include <casacore/casa/BasicSL/Complex.h>
37 #include <casacore/casa/Utilities/CountedPtr.h>
251 {
getInt (rownr, dataPtr); }
288 {
putInt (rownr, dataPtr); }
Non-templated base class for templated Array class.
Referenced counted pointer for constant data.
virtual uInt ndim(rownr_t rownr)
Get the dimensionality of the item in the given row.
virtual void getInt(rownr_t rownr, Int *dataPtr)
void get(rownr_t rownr, uShort *dataPtr)
void throwGet() const
Throw an "invalid operation" exception for the default implementation of get.
void put(rownr_t rownr, const float *dataPtr)
virtual void getSliceV(rownr_t rownr, const Slicer &slicer, ArrayBase &data)
Get a section of the array in the given row.
virtual void putdouble(rownr_t rownr, const double *dataPtr)
virtual void getuInt(rownr_t rownr, uInt *dataPtr)
virtual void getScalarColumnCellsV(const RefRows &rownrs, ArrayBase &dataPtr)
Get some scalar values in the column.
void putColumnSliceCellsBase(const RefRows &rownrs, const Slicer &slicer, const ArrayBase &data)
virtual void getuChar(rownr_t rownr, uChar *dataPtr)
virtual void putBool(rownr_t rownr, const Bool *dataPtr)
Put the scalar value into the given row.
virtual void getArrayColumnV(ArrayBase &data)
Get all array values in the column.
virtual void putuInt(rownr_t rownr, const uInt *dataPtr)
virtual void getArrayColumnCellsV(const RefRows &rownrs, ArrayBase &data)
Get some array values in the column.
void put(rownr_t rownr, const String *dataPtr)
void put(rownr_t rownr, const Int *dataPtr)
virtual void putShort(rownr_t rownr, const Short *dataPtr)
virtual void getfloat(rownr_t rownr, float *dataPtr)
void get(rownr_t rownr, Bool *dataPtr)
Get the scalar value in the given row.
void get(rownr_t rownr, Int64 *dataPtr)
virtual void setShape(rownr_t rownr, const IPosition &shape)
Set the shape of an (variable-shaped) array in the given row.
virtual void putInt64(rownr_t rownr, const Int64 *dataPtr)
virtual void getString(rownr_t rownr, String *dataPtr)
virtual void putOther(rownr_t rownr, const void *dataPtr)
This function is the put for all non-standard data types.
void put(rownr_t rownr, const void *dataPtr)
This function is the put for all non-standard data types.
virtual void getBool(rownr_t rownr, Bool *dataPtr)
Get the scalar value in the given row.
void get(rownr_t rownr, DComplex *dataPtr)
void putArrayColumnBase(const ArrayBase &data)
virtual void setMaxLength(uInt maxLength)
Set the maximum length of the value (can be used for strings).
virtual void getuShort(rownr_t rownr, uShort *dataPtr)
void get(rownr_t rownr, void *dataPtr)
This function is the get for all non-standard data types.
void putArrayColumnCellsBase(const RefRows &rownrs, const ArrayBase &data)
void putSliceArr(rownr_t row, const Slicer §ion, CountedPtr< ArrayBase > &fullArr, const ArrayBase &arr)
Put a slice into the array in the given row.
void get(rownr_t rownr, Short *dataPtr)
void put(rownr_t rownr, const Int64 *dataPtr)
void putSliceBase(rownr_t rownr, const Slicer &slicer, const ArrayBase &data)
void setFixedShapeColumn(const IPosition &shape)
Set the shape of all (fixed-shaped) arrays in the column.
void get(rownr_t rownr, uInt *dataPtr)
void putScalarColumnBase(const ArrayBase &dataPtr)
const ColumnCache * columnCachePtr() const
virtual Bool isWritable() const
Test if data can be put into this column.
void getArrayColumnCellsBase(const RefRows &rownrs, ArrayBase &data)
virtual void getInt64(rownr_t rownr, Int64 *dataPtr)
const String & columnName() const
Get rhe column name.
virtual Bool isShapeDefined(rownr_t rownr)
Is the value shape defined in the given row? By default it returns True.
void getSliceBase(rownr_t rownr, const Slicer &slicer, ArrayBase &data)
DataManagerColumn & operator=(const DataManagerColumn &)
Assignment cannot be used for this base class.
virtual void getComplex(rownr_t rownr, Complex *dataPtr)
void get(rownr_t rownr, float *dataPtr)
virtual void putDComplex(rownr_t rownr, const DComplex *dataPtr)
virtual int dataType() const =0
Get the data type of the column as defined in DataType.h.
virtual void getScalarColumnV(ArrayBase &dataPtr)
Get all scalar values in the column.
virtual void putColumnSliceCellsV(const RefRows &rownrs, const Slicer &slicer, const ArrayBase &data)
Put into a section of some arrays in the column.
virtual void getdouble(rownr_t rownr, double *dataPtr)
virtual Bool canChangeShape() const
Can the data manager handle chaging the shape of an existing array? Default is no.
void put(rownr_t rownr, const Bool *dataPtr)
Put the scalar value into the given row.
void put(rownr_t rownr, const uShort *dataPtr)
virtual void getOther(rownr_t rownr, void *dataPtr)
This function is the get for all non-standard data types.
void get(rownr_t rownr, String *dataPtr)
void getColumnSliceBase(const Slicer &slicer, ArrayBase &data)
void put(rownr_t rownr, const Complex *dataPtr)
void putColumnSliceBase(const Slicer &slicer, const ArrayBase &data)
void throwPut() const
Throw an "invalid operation" exception for the default implementation of put.
virtual void putScalarColumnCellsV(const RefRows &rownrs, const ArrayBase &dataPtr)
Put some scalar values in the column.
virtual void getShort(rownr_t rownr, Short *dataPtr)
virtual IPosition shape(rownr_t rownr)
Get the shape of the item in the given row.
void getSliceArr(rownr_t row, const Slicer §ion, CountedPtr< ArrayBase > &fullArr, ArrayBase &arr)
Get a slice from the array in the given row.
virtual void getDComplex(rownr_t rownr, DComplex *dataPtr)
void put(rownr_t rownr, const uChar *dataPtr)
virtual void getColumnSliceCellsV(const RefRows &rownrs, const Slicer &slicer, ArrayBase &data)
Get a section of some arrays in the column.
void put(rownr_t rownr, const uInt *dataPtr)
void getArrayColumnBase(ArrayBase &data)
virtual void putArrayColumnCellsV(const RefRows &rownrs, const ArrayBase &data)
Put some array values in the column.
void getScalarColumnBase(ArrayBase &dataPtr)
The default implementations of get and put functions.
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.
virtual void putColumnSliceV(const Slicer &slicer, const ArrayBase &data)
Put into a section of all arrays in the column.
void get(rownr_t rownr, Int *dataPtr)
virtual void putInt(rownr_t rownr, const Int *dataPtr)
void putScalarColumnCellsBase(const RefRows &rownrs, const ArrayBase &dataPtr)
virtual void putuShort(rownr_t rownr, const uShort *dataPtr)
void put(rownr_t rownr, const DComplex *dataPtr)
void setColumnName(const String &colName)
Set the column name.
void put(rownr_t rownr, const double *dataPtr)
void getColumnSliceCellsBase(const RefRows &rownrs, const Slicer &slicer, ArrayBase &data)
Bool isFixedShape() const
Is this a fixed shape column?
virtual void putComplex(rownr_t rownr, const Complex *dataPtr)
virtual void getColumnSliceV(const Slicer &slicer, ArrayBase &data)
Get a section of all arrays in the column.
void get(rownr_t rownr, uChar *dataPtr)
virtual void putArrayV(rownr_t rownr, const ArrayBase &data)
Put the array value into the given row.
virtual void putString(rownr_t rownr, const String *dataPtr)
void setIsFixedShape(Bool isFixedShape)
Set the isFixedShape flag.
void getScalarColumnCellsBase(const RefRows &rownrs, ArrayBase &dataPtr)
DataManagerColumn(const DataManagerColumn &)
The copy constructor cannot be used for this base class.
DataManagerColumn()
Create a column.
virtual void getArrayV(rownr_t rownr, ArrayBase &dataPtr)
Get the array value in the given row.
virtual void putSliceV(rownr_t rownr, const Slicer &slicer, const ArrayBase &data)
Put into a section of the array in the given row.
void get(rownr_t rownr, double *dataPtr)
virtual void setShapeColumn(const IPosition &shape)
Set the shape of all (fixed-shaped) arrays in the column.
virtual void putuChar(rownr_t rownr, const uChar *dataPtr)
virtual IPosition tileShape(rownr_t rownr)
Get the tile shape of the item in the given row.
virtual void putArrayColumnV(const ArrayBase &data)
Put all array values in the column.
ColumnCache & columnCache()
Get access to the ColumnCache object.
void get(rownr_t rownr, Complex *dataPtr)
void put(rownr_t rownr, const Short *dataPtr)
virtual void putScalarColumnV(const ArrayBase &dataPtr)
Put all scalar values in the column.
virtual void putfloat(rownr_t rownr, const float *dataPtr)
virtual ~DataManagerColumn()
Frees up the storage.
virtual String dataTypeId() const
Get the data type id of the column for dataType==TpOther.
String: the storage and methods of handling collections of characters.
std::complex< Float > Complex
std::complex< Double > DComplex
this file contains all the compiler specific defines
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
bool Bool
Define the standard types used by Casacore.
uInt64 rownr_t
Define the type of a row number in a table.