28 #ifndef TABLES_VIRTSCACOL_H
29 #define TABLES_VIRTSCACOL_H
38 template<
class T>
class Vector;
147 virtual void get (
uInt rownr, T&
data) = 0;
262 { col->
get (rownr, *dataPtr); }
269 uInt rownr,
const T* dataPtr)
270 { col->
put (rownr, *dataPtr); }
280 #ifndef CASACORE_NO_AUTO_TEMPLATES
281 #include <casacore/tables/DataMan/VirtScaCol.tcc>
282 #endif //# CASACORE_NO_AUTO_TEMPLATES
void putInt64V(uInt rownr, const Int64 *dataPtr)
void putOtherV(uInt rownr, const void *dataPtr)
This function is the put for all non-standard data types.
A 1-D Specialization of the Array class.
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
void putuIntV(uInt rownr, const uInt *dataPtr)
void putIntV(uInt rownr, const Int *dataPtr)
std::vector< double > Vector
virtual uInt getBlock(uInt rownr, uInt nrmax, T *dataPtr)
Get scalars from the given row on with a maximum of nrmax values.
uInt getBlockV(uInt rownr, uInt nrmax, void *dataPtr)
Implement the virtual functions defined in DataManagerColumn.
void putVirtualScalarColumn(VirtualScalarColumn< T > *col, uInt rownr, const T *dataPtr)
std::complex< Float > Complex
void getuShortV(uInt rownr, uShort *dataPtr)
void putdoubleV(uInt rownr, const double *dataPtr)
Abstract base class for a column in a data manager.
void putShortV(uInt rownr, const Short *dataPtr)
void getScalarColumnV(void *dataPtr)
Implement the virtual functions defined in DataManagerColumn.
virtual ~VirtualScalarColumn()
Frees up the storage.
void getOtherV(uInt rownr, void *dataPtr)
This function is the get for all non-standard data types.
Templated base class for virtual scalar column.
void throwPut() const
Throw an "invalid operation" exception for the default implementation of put.
VirtualScalarColumn< T > & operator=(const VirtualScalarColumn< T > &)
The object cannot be assigned to.
void putuCharV(uInt rownr, const uChar *dataPtr)
void getDComplexV(uInt rownr, DComplex *dataPtr)
void putScalarColumnV(const void *dataPtr)
Implement the virtual functions defined in DataManagerColumn.
ABSTRACT CLASSES Deliberately vague to be general enough to allow for many different types of data
void getInt64V(uInt rownr, Int64 *dataPtr)
void getIntV(uInt rownr, Int *dataPtr)
virtual Bool isWritable() const
By default no data can be put in a virtual column.
String dataTypeId() const
Return the data type Id of the column.
void putBoolV(uInt rownr, const Bool *dataPtr)
Implement the virtual functions defined in DataManagerColumn.
void getuCharV(uInt rownr, uChar *dataPtr)
int dataType() const
Return the data type of the column.
void getBoolV(uInt rownr, Bool *dataPtr)
Implement the virtual functions defined in DataManagerColumn.
void putBlockV(uInt rownr, uInt nrmax, const void *dataPtr)
Implement the virtual functions defined in DataManagerColumn.
void getStringV(uInt rownr, String *dataPtr)
std::complex< Double > DComplex
void getComplexV(uInt rownr, Complex *dataPtr)
void putComplexV(uInt rownr, const Complex *dataPtr)
void putfloatV(uInt rownr, const float *dataPtr)
void getuIntV(uInt rownr, uInt *dataPtr)
void putDComplexV(uInt rownr, const DComplex *dataPtr)
bool Bool
Define the standard types used by Casacore.
void getShortV(uInt rownr, Short *dataPtr)
void throwGet() const
Throw an "invalid operation" exception for the default implementation of get.
void putuShortV(uInt rownr, const uShort *dataPtr)
void putStringV(uInt rownr, const String *dataPtr)
Bool canAccessScalarColumn(Bool &reask) const
The class can handle a get/putScalarColumn.
void getfloatV(uInt rownr, float *dataPtr)
VirtualScalarColumn()
Create a column.
virtual void getScalarColumn(Vector< T > &data)
Get all scalar values in the column.
virtual void putBlock(uInt rownr, uInt nrmax, const T *dataPtr)
Put nrmax scalars from the given row on.
String: the storage and methods of handling collections of characters.
void getdoubleV(uInt rownr, double *dataPtr)
void putVirtualScalarColumn(DataManagerColumn *col, uInt, const void *)
virtual void put(uInt rownr, const T &data)
Put the scalar value into the given row.
virtual void putScalarColumn(const Vector< T > &data)
Put all scalar values in the column.
virtual void get(uInt rownr, T &data)=0
Get the scalar value in the given row.
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.