28 #ifndef TABLES_VIRTSCACOL_H
29 #define TABLES_VIRTSCACOL_H
178 virtual void get (
rownr_t rownr, T& data) = 0;
182 virtual void put (
rownr_t rownr,
const T& data);
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>
280 #endif //# CASACORE_NO_AUTO_TEMPLATES
virtual void putArrayColumnCellsV(const RefRows &rownrs, const ArrayBase &data)
Put some array values in the column.
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
VirtualScalarColumnBase()
Create a column.
virtual Bool isWritable() const
By default no data can be put in a virtual column.
Non-templated base class for templated Array class.
virtual void putShort(rownr_t rownr, const Short *dataPtr)
std::complex< Float > Complex
virtual void putBool(rownr_t rownr, const Bool *dataPtr)
Implement the virtual functions defined in DataManagerColumn.
virtual void putString(rownr_t rownr, const String *dataPtr)
virtual void putdouble(rownr_t rownr, const double *dataPtr)
Abstract base class for a column in a data manager.
virtual void getArrayColumnV(ArrayBase &data)
Get all array values in the column.
virtual ~VirtualScalarColumn()
Frees up the storage.
virtual void getdouble(rownr_t rownr, double *dataPtr)
virtual void putOther(rownr_t rownr, const void *dataPtr)
This function is the put for all non-standard data types.
void throwPut() const
Throw an "invalid operation" exception for the default implementation of put.
void putVirtualScalar(VirtualScalarColumn< T > *col, uInt rownr, const T *dataPtr)
VirtualScalarColumn< T > & operator=(const VirtualScalarColumn< T > &)
The object cannot be assigned to.
virtual void putfloat(rownr_t rownr, const float *dataPtr)
virtual void putScalarColumnV(const ArrayBase &dataPtr)
Put all scalar values in the column.
virtual void getArrayV(rownr_t rownr, ArrayBase &dataPtr)
The array access functions throw an exception.
virtual void getOther(rownr_t rownr, void *dataPtr)
This function is the get for all non-standard data types.
Templated base class for virtual scalar column.
virtual void getuInt(rownr_t rownr, uInt *dataPtr)
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 getuShort(rownr_t rownr, uShort *dataPtr)
virtual void getBool(rownr_t rownr, Bool *dataPtr)
Implement the virtual functions defined in DataManagerColumn.
virtual void getDComplex(rownr_t rownr, DComplex *dataPtr)
virtual void putColumnSliceV(const Slicer &slicer, const ArrayBase &data)
Put into a section of all arrays in the column.
virtual void getInt(rownr_t rownr, Int *dataPtr)
virtual void getComplex(rownr_t rownr, Complex *dataPtr)
virtual void putInt64(rownr_t rownr, const Int64 *dataPtr)
std::complex< Double > DComplex
virtual void getfloat(rownr_t rownr, float *dataPtr)
Class holding the row numbers in a RefTable.
virtual void putArrayV(rownr_t rownr, const ArrayBase &data)
Put the array value into the given row.
bool Bool
Define the standard types used by Casacore.
virtual void put(rownr_t rownr, const T &data)
Let a derived class put the scalar value into the given row.
virtual void getShort(rownr_t rownr, Short *dataPtr)
virtual void putInt(rownr_t rownr, const Int *dataPtr)
void throwGet() const
Throw an "invalid operation" exception for the default implementation of get.
virtual void getString(rownr_t rownr, String *dataPtr)
virtual void putScalarColumnCellsV(const RefRows &rownrs, const ArrayBase &dataPtr)
Put some scalar values in the column.
virtual void putuInt(rownr_t rownr, const uInt *dataPtr)
Specify which elements to extract from an n-dimensional array.
virtual void getuChar(rownr_t rownr, uChar *dataPtr)
uInt64 rownr_t
Define the type of a row number in a table.
virtual void putuChar(rownr_t rownr, const uChar *dataPtr)
virtual ~VirtualScalarColumnBase()
virtual void getColumnSliceV(const Slicer &slicer, ArrayBase &data)
Get a section of all arrays in the column.
virtual void putComplex(rownr_t rownr, const Complex *dataPtr)
VirtualScalarColumn()
Create a column.
virtual void get(rownr_t rownr, T &data)=0
Let a derived class get the scalar value in the given row.
virtual void getColumnSliceCellsV(const RefRows &rownrs, const Slicer &slicer, ArrayBase &data)
Get a section of some arrays in the column.
virtual void putuShort(rownr_t rownr, const uShort *dataPtr)
virtual void getArrayColumnCellsV(const RefRows &rownrs, ArrayBase &data)
Get some array values in the column.
virtual int dataType() const
Return the data type of the column.
String: the storage and methods of handling collections of characters.
virtual void getScalarColumnV(ArrayBase &dataPtr)
Get all scalar 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.
void putVirtualScalar(DataManagerColumn *col, uInt, const void *)
virtual void getInt64(rownr_t rownr, Int64 *dataPtr)
virtual void putDComplex(rownr_t rownr, const DComplex *dataPtr)
virtual void putColumnSliceCellsV(const RefRows &rownrs, const Slicer &slicer, const ArrayBase &data)
Put into a section of some arrays in the column.
virtual void putArrayColumnV(const ArrayBase &data)
Put all array values in the column.
virtual String dataTypeId() const
Return the data type Id of the column.
virtual void getScalarColumnCellsV(const RefRows &rownrs, ArrayBase &dataPtr)
Get some scalar values in the column.