28 #ifndef TABLES_VIRTUALTAQLCOLUMN_H
29 #define TABLES_VIRTUALTAQLCOLUMN_H
A Vector of integers, for indexing into Array<T> objects.
virtual Bool isShapeDefined(rownr_t rownr)
Is the value shape defined in the given row? By default it returns True.
Abstract base class for virtual column handling.
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
Non-templated base class for templated Array class.
void fillArray(ArrayBase &data)
Fill an array with a constant scalar value.
virtual DataManagerColumn * makeIndArrColumn(const String &columnName, int dataType, const String &dataTypeId)
Create the column object for the indirect array column in this engine.
void fillColumnCache()
Fill the ColumnCache object with a constant scalar value.
void makeCurArray()
Make the result cache.
std::complex< Float > Complex
const String & columnName() const
Get rhe column name.
Abstract base class for a column in a data manager.
virtual void create64(rownr_t)
Let the engine initialize the object for a new table.
Handle class for a table column expression tree.
virtual String dataManagerType() const
Return the type name of the engine.
virtual void getfloat(rownr_t rownr, float *dataPtr)
virtual void getInt(rownr_t rownr, Int *dataPtr)
VirtualTaQLColumn & operator=(const VirtualTaQLColumn &)
Assignment is not needed and therefore forbidden (so it is made private).
virtual void setMaxLength(uInt maxLength)
Set the maximum length of a 'fixed length' string.
virtual void setShapeColumn(const IPosition &aShape)
Set the shape of an array in the column.
virtual void getArrayV(rownr_t rownr, ArrayBase &arr)
Get the array value in the given row.
virtual String dataManagerName() const
Return the name of the data manager.
const String & expression() const
Return the TaQL expression used.
virtual void getInt64(rownr_t rownr, Int64 *dataPtr)
virtual void getScalarColumnV(ArrayBase &arr)
Get functions implemented by means of their DataManagerColumn::getXXBase counterparts, but optimized for constant expressions.
virtual void getdouble(rownr_t rownr, double *dataPtr)
virtual void getScalarColumnCellsV(const RefRows &rownrs, ArrayBase &arr)
Get some scalar values in the column.
virtual void getBool(rownr_t rownr, Bool *dataPtr)
Get the scalar value in the given row.
Virtual scalar column using TaQL.
static void registerClass()
Register the class name and the static makeObject "constructor".
std::complex< Double > DComplex
Class holding the row numbers in a RefTable.
virtual void getDComplex(rownr_t rownr, DComplex *dataPtr)
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
virtual Bool isWritable() const
Test if data can be put into this column.
virtual int dataType() const
Functions to return column info.
virtual Record dataManagerSpec() const
Get the data manager specification.
virtual void getuChar(rownr_t rownr, uChar *dataPtr)
uInt64 rownr_t
Define the type of a row number in a table.
virtual uInt ndim(rownr_t rownr)
Get the dimensionality of the item in the given row.
virtual ~VirtualTaQLColumn()
Destructor is mandatory.
Abstract base class for a data manager.
String: the storage and methods of handling collections of characters.
virtual void getShort(rownr_t rownr, Short *dataPtr)
virtual void prepare()
Prepare compiles the expression.
virtual void getComplex(rownr_t rownr, Complex *dataPtr)
void getResult(rownr_t rownr)
Get the array result into itsCurArray.
virtual IPosition shape(rownr_t rownr)
Get the shape of the item in the given row.
VirtualTaQLColumn(const String &expr, const String &style=String())
Construct it with the given TaQL expression.
virtual DataManager * clone() const
Clone the engine object.
virtual void getuShort(rownr_t rownr, uShort *dataPtr)
virtual DataManagerColumn * makeScalarColumn(const String &columnName, int dataType, const String &)
Create the column object for the scalar column in this engine.
virtual void getString(rownr_t rownr, String *dataPtr)
static String className()
Return the name of the class.
virtual void getuInt(rownr_t rownr, uInt *dataPtr)
virtual String dataTypeId() const
Get the data type id of the column for dataType==TpOther.
static DataManager * makeObject(const String &dataManagerName, const Record &spec)
Define the "constructor" to construct this engine when a table is read back.