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;
Referenced counted pointer for constant data.
String: the storage and methods of handling collections of characters.
Abstract base class for a node having multiple child nodes.
Class to hold multiple table expression nodes.
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)
virtual String getString(const TableExprId &id)
CountedPtr< TableExprGroupFuncBase > makeGroupAggrFunc()
UDFs do not need a TableExprGroupFuncBase, so TableExprGroupNull is returned.
virtual void getColumnNodes(std::vector< TableExprNodeRep * > &cols)
Get the nodes representing a table column.
Bool isAggregate() const
Is the UDF an aggregate function?
virtual void applySelection(const Vector< rownr_t > &rownrs)
If needed, let the UDF re-create column objects for a selection of rows.
virtual Int64 getInt(const TableExprId &id)
virtual TaqlRegex getRegex(const TableExprId &id)
virtual ~TableExprUDFNode()
Destructor.
virtual void getAggrNodes(std::vector< TableExprNodeRep * > &aggr)
Get the nodes representing an aggregate function.
virtual Double getDouble(const TableExprId &id)
TableExprUDFNode(UDFBase *udf, const Table &, const TableExprNodeSet &source)
Constructor.
virtual void disableApplySelection()
Do not apply the selection.
Bool isAggregate() const
Tell if the UDF is an aggregate function.
this file contains all the compiler specific defines
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
bool Bool
Define the standard types used by Casacore.