28 #ifndef TABLES_VIRTSCACOL_H
29 #define TABLES_VIRTSCACOL_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/casa/Arrays/ArrayFwd.h>
34 #include <casacore/tables/DataMan/DataManager.h>
260 { col->
get (rownr, *dataPtr); }
267 uInt rownr,
const T* dataPtr)
268 { col->
put (rownr, *dataPtr); }
278 #ifndef CASACORE_NO_AUTO_TEMPLATES
279 #include <casacore/tables/DataMan/VirtScaCol.tcc>
Non-templated base class for templated Array class.
void throwGet() const
Throw an "invalid operation" exception for the default implementation of get.
void throwPut() const
Throw an "invalid operation" exception for the default implementation of put.
String: the storage and methods of handling collections of characters.
virtual void putColumnSliceV(const Slicer &slicer, const ArrayBase &data)
Put into a section of all arrays in the column.
virtual void getArrayColumnV(ArrayBase &data)
Get all array values in the column.
virtual void putArrayColumnCellsV(const RefRows &rownrs, const ArrayBase &data)
Put some array values in the column.
virtual void getSliceV(rownr_t rownr, const Slicer &slicer, ArrayBase &data)
Get a section of the array in the given row.
virtual Bool isWritable() const
By default no data can be put in a virtual column.
virtual void putArrayColumnV(const ArrayBase &data)
Put all array values in the column.
virtual void getColumnSliceCellsV(const RefRows &rownrs, const Slicer &slicer, ArrayBase &data)
Get a section of some arrays in the column.
virtual void putArrayV(rownr_t rownr, const ArrayBase &data)
Put the array value into the given row.
virtual void putColumnSliceCellsV(const RefRows &rownrs, const Slicer &slicer, const ArrayBase &data)
Put into a section of some arrays in the column.
virtual void getArrayV(rownr_t rownr, ArrayBase &dataPtr)
The array access functions throw an exception.
virtual ~VirtualScalarColumnBase()
virtual void getColumnSliceV(const Slicer &slicer, ArrayBase &data)
Get a section of all arrays in the column.
virtual void putSliceV(rownr_t rownr, const Slicer &slicer, const ArrayBase &data)
Put into a section of the array in the given row.
virtual void getArrayColumnCellsV(const RefRows &rownrs, ArrayBase &data)
Get some array values in the column.
VirtualScalarColumnBase()
Create a column.
virtual void putuChar(rownr_t rownr, const uChar *dataPtr)
virtual void getScalarColumnCellsV(const RefRows &rownrs, ArrayBase &dataPtr)
Get some scalar values in the column.
virtual void getString(rownr_t rownr, String *dataPtr)
virtual void putuInt(rownr_t rownr, const uInt *dataPtr)
virtual void putString(rownr_t rownr, const String *dataPtr)
virtual void getfloat(rownr_t rownr, float *dataPtr)
virtual void getInt64(rownr_t rownr, Int64 *dataPtr)
virtual void putfloat(rownr_t rownr, const float *dataPtr)
virtual void putShort(rownr_t rownr, const Short *dataPtr)
virtual void getuChar(rownr_t rownr, uChar *dataPtr)
virtual void putuShort(rownr_t rownr, const uShort *dataPtr)
virtual void putInt64(rownr_t rownr, const Int64 *dataPtr)
virtual void putComplex(rownr_t rownr, const Complex *dataPtr)
VirtualScalarColumn< T > & operator=(const VirtualScalarColumn< T > &)
The object cannot be assigned to.
virtual void getShort(rownr_t rownr, Short *dataPtr)
virtual void putdouble(rownr_t rownr, const double *dataPtr)
virtual void getBool(rownr_t rownr, Bool *dataPtr)
Implement the virtual functions defined in DataManagerColumn.
virtual String dataTypeId() const
Return the data type Id of the column.
virtual void getScalarColumnV(ArrayBase &dataPtr)
Get all scalar values in the column.
virtual void getInt(rownr_t rownr, Int *dataPtr)
virtual void putDComplex(rownr_t rownr, const DComplex *dataPtr)
virtual void getComplex(rownr_t rownr, Complex *dataPtr)
virtual void putBool(rownr_t rownr, const Bool *dataPtr)
Implement the virtual functions defined in DataManagerColumn.
virtual void getDComplex(rownr_t rownr, DComplex *dataPtr)
virtual void get(rownr_t rownr, T &data)=0
Let a derived class get the scalar value in the given row.
virtual void getdouble(rownr_t rownr, double *dataPtr)
virtual void putScalarColumnV(const ArrayBase &dataPtr)
Put all scalar values in the column.
virtual void getuShort(rownr_t rownr, uShort *dataPtr)
virtual void putOther(rownr_t rownr, const void *dataPtr)
This function is the put for all non-standard data types.
virtual void getOther(rownr_t rownr, void *dataPtr)
This function is the get for all non-standard data types.
virtual void putScalarColumnCellsV(const RefRows &rownrs, const ArrayBase &dataPtr)
Put some scalar values in the column.
virtual void getuInt(rownr_t rownr, uInt *dataPtr)
VirtualScalarColumn(const VirtualScalarColumn< T > &)
The object cannot be copied.
virtual void put(rownr_t rownr, const T &data)
Let a derived class put the scalar value into the given row.
virtual ~VirtualScalarColumn()
Frees up the storage.
virtual void putInt(rownr_t rownr, const Int *dataPtr)
virtual int dataType() const
Return the data type of the column.
VirtualScalarColumn()
Create a column.
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.
void putVirtualScalar(VirtualScalarColumn< T > *col, uInt rownr, const T *dataPtr)
void putVirtualScalar(DataManagerColumn *col, uInt, const void *)