casa
$Rev:20696$
|
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.
casa::VirtualScalarColumn< T >::VirtualScalarColumn | ( | ) | [inline] |
Create a column.
Definition at line 131 of file VirtScaCol.h.
virtual casa::VirtualScalarColumn< T >::~VirtualScalarColumn | ( | ) | [virtual] |
Frees up the storage.
casa::VirtualScalarColumn< T >::VirtualScalarColumn | ( | const VirtualScalarColumn< T > & | ) | [private] |
The object cannot be copied.
Bool casa::VirtualScalarColumn< T >::canAccessScalarColumn | ( | Bool & | reask | ) | const [protected, virtual] |
The class can handle a get/putScalarColumn.
Reimplemented from casa::DataManagerColumn.
int casa::VirtualScalarColumn< T >::dataType | ( | ) | const [virtual] |
Return the data type of the column.
Implements casa::DataManagerColumn.
String casa::VirtualScalarColumn< T >::dataTypeId | ( | ) | const [virtual] |
Return the data type Id of the column.
Reimplemented from casa::DataManagerColumn.
virtual void casa::VirtualScalarColumn< T >::get | ( | uInt | rownr, |
T & | data | ||
) | [pure virtual] |
Get the scalar value in the given row.
Referenced by casa::VirtScaCol_global_functions_getVirtualScalarColumn::getVirtualScalarColumn().
virtual uInt casa::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 casa::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 casa::DataManagerColumn.
void casa::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 casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::getComplexV | ( | uInt | rownr, |
Complex * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::getDComplexV | ( | uInt | rownr, |
DComplex * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::getdoubleV | ( | uInt | rownr, |
double * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::getfloatV | ( | uInt | rownr, |
float * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::getIntV | ( | uInt | rownr, |
Int * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::getOtherV | ( | uInt | rownr, |
void * | dataPtr | ||
) | [private, virtual] |
This function is the get for all non-standard data types.
Reimplemented from casa::DataManagerColumn.
virtual void casa::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 casa::VirtualScalarColumn< T >::getScalarColumnV | ( | void * | dataPtr | ) | [private, virtual] |
Implement the virtual functions defined in DataManagerColumn.
Get all scalar values in the column.
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::getShortV | ( | uInt | rownr, |
Short * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::getStringV | ( | uInt | rownr, |
String * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::getuCharV | ( | uInt | rownr, |
uChar * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::getuIntV | ( | uInt | rownr, |
uInt * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::getuShortV | ( | uInt | rownr, |
uShort * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
virtual Bool casa::VirtualScalarColumn< T >::isWritable | ( | ) | const [virtual] |
By default no data can be put in a virtual column.
Reimplemented from casa::DataManagerColumn.
Reimplemented in casa::VSCEngine< T >.
VirtualScalarColumn<T>& casa::VirtualScalarColumn< T >::operator= | ( | const VirtualScalarColumn< T > & | ) | [private] |
The object cannot be assigned to.
virtual void casa::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 casa::VirtScaCol_global_functions_getVirtualScalarColumn::putVirtualScalarColumn().
virtual void casa::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 casa::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 casa::DataManagerColumn.
void casa::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 casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::putComplexV | ( | uInt | rownr, |
const Complex * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::putDComplexV | ( | uInt | rownr, |
const DComplex * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::putdoubleV | ( | uInt | rownr, |
const double * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::putfloatV | ( | uInt | rownr, |
const float * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::putIntV | ( | uInt | rownr, |
const Int * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::putOtherV | ( | uInt | rownr, |
const void * | dataPtr | ||
) | [private, virtual] |
This function is the put for all non-standard data types.
Reimplemented from casa::DataManagerColumn.
virtual void casa::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 casa::VirtualScalarColumn< T >::putScalarColumnV | ( | const void * | dataPtr | ) | [private, virtual] |
Implement the virtual functions defined in DataManagerColumn.
Put all scalar values in the column.
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::putShortV | ( | uInt | rownr, |
const Short * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::putStringV | ( | uInt | rownr, |
const String * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::putuCharV | ( | uInt | rownr, |
const uChar * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::putuIntV | ( | uInt | rownr, |
const uInt * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.
void casa::VirtualScalarColumn< T >::putuShortV | ( | uInt | rownr, |
const uShort * | dataPtr | ||
) | [private, virtual] |
Reimplemented from casa::DataManagerColumn.