Templated base class for virtual scalar column. More...
#include <VirtScaCol.h>
Public Member Functions | |
VirtualScalarColumn () | |
Create a column. | |
virtual | ~VirtualScalarColumn () |
Frees up the storage. | |
int | dataType () const |
Return the data type of the column. | |
String | dataTypeId () const |
Return the data type Id of the column. | |
virtual Bool | isWritable () const |
By default no data can be put in a virtual column. | |
virtual void | get (uInt rownr, T &data)=0 |
Get the scalar value in the given row. | |
virtual void | put (uInt rownr, const T &data) |
Put the scalar value into the given row. | |
Protected Member Functions | |
Bool | canAccessScalarColumn (Bool &reask) const |
The class can handle a get/putScalarColumn. | |
virtual void | getScalarColumn (Vector< T > &data) |
Get all scalar values in the column. | |
virtual void | putScalarColumn (const Vector< T > &data) |
Put all scalar values in the column. | |
virtual uInt | getBlock (uInt rownr, uInt nrmax, T *dataPtr) |
Get scalars from the given row on with a maximum of nrmax values. | |
virtual void | putBlock (uInt rownr, uInt nrmax, const T *dataPtr) |
Put nrmax scalars from the given row on. | |
Private Member Functions | |
void | getBoolV (uInt rownr, Bool *dataPtr) |
Implement the virtual functions defined in DataManagerColumn. | |
void | getuCharV (uInt rownr, uChar *dataPtr) |
void | getShortV (uInt rownr, Short *dataPtr) |
void | getuShortV (uInt rownr, uShort *dataPtr) |
void | getIntV (uInt rownr, Int *dataPtr) |
void | getuIntV (uInt rownr, uInt *dataPtr) |
void | getfloatV (uInt rownr, float *dataPtr) |
void | getdoubleV (uInt rownr, double *dataPtr) |
void | getComplexV (uInt rownr, Complex *dataPtr) |
void | getDComplexV (uInt rownr, DComplex *dataPtr) |
void | getStringV (uInt rownr, String *dataPtr) |
void | getOtherV (uInt rownr, void *dataPtr) |
This function is the get for all non-standard data types. | |
void | putBoolV (uInt rownr, const Bool *dataPtr) |
Implement the virtual functions defined in DataManagerColumn. | |
void | putuCharV (uInt rownr, const uChar *dataPtr) |
void | putShortV (uInt rownr, const Short *dataPtr) |
void | putuShortV (uInt rownr, const uShort *dataPtr) |
void | putIntV (uInt rownr, const Int *dataPtr) |
void | putuIntV (uInt rownr, const uInt *dataPtr) |
void | putfloatV (uInt rownr, const float *dataPtr) |
void | putdoubleV (uInt rownr, const double *dataPtr) |
void | putComplexV (uInt rownr, const Complex *dataPtr) |
void | putDComplexV (uInt rownr, const DComplex *dataPtr) |
void | putStringV (uInt rownr, const String *dataPtr) |
void | putOtherV (uInt rownr, const void *dataPtr) |
This function is the put for all non-standard data types. | |
void | getScalarColumnV (void *dataPtr) |
Implement the virtual functions defined in DataManagerColumn. | |
void | putScalarColumnV (const void *dataPtr) |
Implement the virtual functions defined in DataManagerColumn. | |
uInt | getBlockV (uInt rownr, uInt nrmax, void *dataPtr) |
Implement the virtual functions defined in DataManagerColumn. | |
void | putBlockV (uInt rownr, uInt nrmax, const void *dataPtr) |
Implement the virtual functions defined in DataManagerColumn. | |
VirtualScalarColumn (const VirtualScalarColumn< T > &) | |
The object cannot be copied. | |
VirtualScalarColumn< T > & | operator= (const VirtualScalarColumn< T > &) |
The object cannot be assigned to. |
Templated base class for virtual scalar column.
Internal
VirtualScalarColumn handles a virtual column containing a scalar.
VirtualScalarColumn is the abstract base class to handle a scalar column for a virtual column engine. It is derived from DataManagerColumn and reimplements some virtual functions to make life easier for the derived classes. It does the following:
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 126 of file VirtScaCol.h.
casacore::VirtualScalarColumn< T >::VirtualScalarColumn | ( | ) | [inline] |
Create a column.
Definition at line 131 of file VirtScaCol.h.
virtual casacore::VirtualScalarColumn< T >::~VirtualScalarColumn | ( | ) | [virtual] |
Frees up the storage.
casacore::VirtualScalarColumn< T >::VirtualScalarColumn | ( | const VirtualScalarColumn< T > & | ) | [private] |
The object cannot be copied.
Bool casacore::VirtualScalarColumn< T >::canAccessScalarColumn | ( | Bool & | reask | ) | const [protected, virtual] |
The class can handle a get/putScalarColumn.
Reimplemented from casacore::DataManagerColumn.
int casacore::VirtualScalarColumn< T >::dataType | ( | ) | const [virtual] |
Return the data type of the column.
Implements casacore::DataManagerColumn.
String casacore::VirtualScalarColumn< T >::dataTypeId | ( | ) | const [virtual] |
Return the data type Id of the column.
Reimplemented from casacore::DataManagerColumn.
virtual void casacore::VirtualScalarColumn< T >::get | ( | uInt | rownr, | |
T & | data | |||
) | [pure virtual] |
Get the scalar value in the given row.
Implemented in casacore::HourangleColumn, casacore::LASTColumn, and casacore::ParAngleColumn.
Referenced by casacore::VirtScaCol_global_functions_getVirtualScalarColumn::getVirtualScalarColumn().
virtual uInt casacore::VirtualScalarColumn< T >::getBlock | ( | uInt | rownr, | |
uInt | nrmax, | |||
T * | dataPtr | |||
) | [protected, virtual] |
Get scalars from the given row on with a maximum of nrmax values.
It returns the actual number of values got. This can be used to get an entire column of scalars or to get a part of a column (for a cache for example). The argument dataPtr is in fact a T*, but a void* is needed to be generic. It must have length nrmax.
uInt casacore::VirtualScalarColumn< T >::getBlockV | ( | uInt | rownr, | |
uInt | nrmax, | |||
void * | dataPtr | |||
) | [private, virtual] |
Implement the virtual functions defined in DataManagerColumn.
Get scalars from the given row on with a maximum of nrmax values.
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::getBoolV | ( | uInt | rownr, | |
Bool * | dataPtr | |||
) | [private, virtual] |
Implement the virtual functions defined in DataManagerColumn.
Get the scalar value in the given row.
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::getComplexV | ( | uInt | rownr, | |
Complex * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::getDComplexV | ( | uInt | rownr, | |
DComplex * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::getdoubleV | ( | uInt | rownr, | |
double * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::getfloatV | ( | uInt | rownr, | |
float * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::getIntV | ( | uInt | rownr, | |
Int * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::getOtherV | ( | uInt | rownr, | |
void * | dataPtr | |||
) | [private, virtual] |
This function is the get for all non-standard data types.
Reimplemented from casacore::DataManagerColumn.
virtual void casacore::VirtualScalarColumn< T >::getScalarColumn | ( | Vector< T > & | data | ) | [protected, virtual] |
Get all scalar values in the column.
The argument dataPtr is in fact a Vector<T>*, but a void* is needed to be generic. The vector pointed to by dataPtr has to have the correct length (which is guaranteed by the ScalarColumn getColumn function).
void casacore::VirtualScalarColumn< T >::getScalarColumnV | ( | void * | dataPtr | ) | [private, virtual] |
Implement the virtual functions defined in DataManagerColumn.
Get all scalar values in the column.
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::getShortV | ( | uInt | rownr, | |
Short * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::getStringV | ( | uInt | rownr, | |
String * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::getuCharV | ( | uInt | rownr, | |
uChar * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::getuIntV | ( | uInt | rownr, | |
uInt * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::getuShortV | ( | uInt | rownr, | |
uShort * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
virtual Bool casacore::VirtualScalarColumn< T >::isWritable | ( | ) | const [virtual] |
By default no data can be put in a virtual column.
Reimplemented from casacore::DataManagerColumn.
Reimplemented in casacore::VSCEngine< T >.
VirtualScalarColumn<T>& casacore::VirtualScalarColumn< T >::operator= | ( | const VirtualScalarColumn< T > & | ) | [private] |
The object cannot be assigned to.
Reimplemented from casacore::DataManagerColumn.
Reimplemented in casacore::VSCEngine< T >.
virtual void casacore::VirtualScalarColumn< T >::put | ( | uInt | rownr, | |
const T & | data | |||
) | [virtual] |
Put the scalar value into the given row.
The default implementation throws an exception.
Referenced by casacore::VirtScaCol_global_functions_getVirtualScalarColumn::putVirtualScalarColumn().
virtual void casacore::VirtualScalarColumn< T >::putBlock | ( | uInt | rownr, | |
uInt | nrmax, | |||
const T * | dataPtr | |||
) | [protected, virtual] |
Put nrmax scalars from the given row on.
It returns the actual number of values put. This can be used to put an entire column of scalars or to put a part of a column (for a cache for example). The argument dataPtr is in fact a const T*, but a const void* is needed to be generic. It must have length nrmax.
void casacore::VirtualScalarColumn< T >::putBlockV | ( | uInt | rownr, | |
uInt | nrmax, | |||
const void * | dataPtr | |||
) | [private, virtual] |
Implement the virtual functions defined in DataManagerColumn.
Put nrmax scalars from the given row on.
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::putBoolV | ( | uInt | rownr, | |
const Bool * | dataPtr | |||
) | [private, virtual] |
Implement the virtual functions defined in DataManagerColumn.
Put the scalar value into the given row.
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::putComplexV | ( | uInt | rownr, | |
const Complex * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::putDComplexV | ( | uInt | rownr, | |
const DComplex * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::putdoubleV | ( | uInt | rownr, | |
const double * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::putfloatV | ( | uInt | rownr, | |
const float * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::putIntV | ( | uInt | rownr, | |
const Int * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::putOtherV | ( | uInt | rownr, | |
const void * | dataPtr | |||
) | [private, virtual] |
This function is the put for all non-standard data types.
Reimplemented from casacore::DataManagerColumn.
virtual void casacore::VirtualScalarColumn< T >::putScalarColumn | ( | const Vector< T > & | data | ) | [protected, virtual] |
Put all scalar values in the column.
The argument dataPtr is in fact a const Vector<T>*, but a const void* is needed to be generic. The vector pointed to by dataPtr has to have the correct length (which is guaranteed by the ScalarColumn putColumn function).
void casacore::VirtualScalarColumn< T >::putScalarColumnV | ( | const void * | dataPtr | ) | [private, virtual] |
Implement the virtual functions defined in DataManagerColumn.
Put all scalar values in the column.
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::putShortV | ( | uInt | rownr, | |
const Short * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::putStringV | ( | uInt | rownr, | |
const String * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::putuCharV | ( | uInt | rownr, | |
const uChar * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::putuIntV | ( | uInt | rownr, | |
const uInt * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.
void casacore::VirtualScalarColumn< T >::putuShortV | ( | uInt | rownr, | |
const uShort * | dataPtr | |||
) | [private, virtual] |
Reimplemented from casacore::DataManagerColumn.