Go to the documentation of this file.
28 #ifndef TABLES_VIRTUALTAQLCOLUMN_H
29 #define TABLES_VIRTUALTAQLCOLUMN_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/tables/DataMan/VirtColEng.h>
34 #include <casacore/tables/DataMan/DataManager.h>
35 #include <casacore/casa/Arrays/IPosition.h>
virtual DataManagerColumn * makeIndArrColumn(const String &columnName, int dataType, const String &dataTypeId)
Create the column object for the indirect array column in this engine.
A Vector of integers, for indexing into Array<T> objects.
virtual void getArrayV(uInt rownr, void *dataPtr)
Get the array value in the given row.
virtual Bool isWritable() const
Test if data can be put into this column.
Abstract base class for a data manager.
virtual DataManagerColumn * makeScalarColumn(const String &columnName, int dataType, const String &)
Create the column object for the scalar column in this engine.
virtual void getComplexV(uInt rownr, Complex *dataPtr)
std::complex< Double > DComplex
VirtualTaQLColumn & operator=(const VirtualTaQLColumn &)
Assignment is not needed and therefore forbidden (so it is made private).
virtual void getIntV(uInt rownr, Int *dataPtr)
virtual void getShortV(uInt rownr, Short *dataPtr)
Abstract base class for a column in a data manager.
virtual String dataManagerType() const
Return the type name of the engine.
VirtualTaQLColumn(const String &expr)
Construct it with the given TaQL expression.
virtual String dataTypeId() const
Get the data type id of the column for dataType==TpOther.
virtual void getuCharV(uInt rownr, uChar *dataPtr)
virtual IPosition shape(uInt rownr)
Get the shape of the item in the given row.
const String & columnName() const
Get rhe column name.
virtual DataManager * clone() const
Clone the engine object.
IPosition getResult(uInt rownr)
Get the array result into itsCurResult.
virtual void getStringV(uInt rownr, String *dataPtr)
Abstract base class for virtual column handling.
virtual Bool isShapeDefined(uInt rownr)
Is the value shape defined in the given row? By default it returns True.
virtual void getdoubleV(uInt rownr, double *dataPtr)
this file contains all the compiler specific defines
virtual uInt ndim(uInt rownr)
Get the dimensionality of the item in the given row.
virtual Record dataManagerSpec() const
Get the data manager specification.
virtual void getuShortV(uInt rownr, uShort *dataPtr)
static void registerClass()
Register the class name and the static makeObject "constructor".
virtual void getfloatV(uInt rownr, float *dataPtr)
Handle class for a table column expression tree.
virtual void getuIntV(uInt rownr, uInt *dataPtr)
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
virtual void getDComplexV(uInt rownr, DComplex *dataPtr)
virtual void prepare()
Prepare compiles the expression.
const String & expression() const
Return the TaQL expression used.
String: the storage and methods of handling collections of characters.
bool Bool
Define the standard types used by Casacore.
std::complex< Float > Complex
virtual int dataType() const
Functions to return column info.
A hierarchical collection of named fields of various types.
static String className()
Return the name of the class.
void makeCurResult()
Make the result cache.
virtual ~VirtualTaQLColumn()
Destructor is mandatory.
virtual void getInt64V(uInt rownr, Int64 *dataPtr)
Virtual scalar column using TaQL.
virtual void create(uInt)
Let the engine initialize the object for a new table.
static DataManager * makeObject(const String &dataManagerName, const Record &spec)
Define the "constructor" to construct this engine when a table is read back.
void clearCurResult()
Clear the result cache.
virtual void getBoolV(uInt rownr, Bool *dataPtr)
Get the scalar value in the given row.
virtual String dataManagerName() const
Return the name of the data manager.