Go to the documentation of this file.
28 #ifndef TABLES_EXPRUDFNODE_H
29 #define TABLES_EXPRUDFNODE_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/tables/TaQL/ExprNodeRep.h>
34 #include <casacore/tables/TaQL/UDFBase.h>
39 class TableExprNodeSet;
virtual String getString(const TableExprId &id)
CountedPtr< TableExprGroupFuncBase > makeGroupAggrFunc()
UDFs do not need a TableExprGroupFuncBase, so TableExprGroupNull is returned.
virtual void applySelection(const Vector< uInt > &rownrs)
If needed, let the UDF re-create column objects for a selection of rows.
std::complex< Double > DComplex
virtual Double getDouble(const TableExprId &id)
Referenced counted pointer for constant data.
virtual Bool getBool(const TableExprId &id)
Functions to get the desired result of a function.
virtual MVTime getDate(const TableExprId &id)
virtual DComplex getDComplex(const TableExprId &id)
Bool isAggregate() const
Is the UDF an aggregate function?
TableExprUDFNode(UDFBase *udf, const Table &, const TableExprNodeSet &source)
Constructor.
virtual void getColumnNodes(std::vector< TableExprNodeRep * > &cols)
Get the nodes representing a table column.
virtual void disableApplySelection()
Do not apply the selection.
virtual Int64 getInt(const TableExprId &id)
this file contains all the compiler specific defines
Class to hold multiple table expression nodes.
virtual void getAggrNodes(std::vector< TableExprNodeRep * > &aggr)
Get the nodes representing an aggregate function.
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
virtual TaqlRegex getRegex(const TableExprId &id)
String: the storage and methods of handling collections of characters.
bool Bool
Define the standard types used by Casacore.
Abstract base class for a node having multiple child nodes.
virtual ~TableExprUDFNode()
Destructor.
Bool isAggregate() const
Tell if the UDF is an aggregate function.