26#ifndef TABLES_EXPRUDFNODE_H
27#define TABLES_EXPRUDFNODE_H
30#include <casacore/casa/aips.h>
31#include <casacore/tables/TaQL/ExprNodeRep.h>
32#include <casacore/tables/TaQL/UDFBase.h>
37 class TableExprNodeSet;
87 {
return itsUDF->isAggregate(); }
String: the storage and methods of handling collections of characters.
Class to connect a Table and its alias name.
Abstract base class for a node having multiple child nodes.
TableExprUDFNode(const std::shared_ptr< UDFBase > &udf, const TableExprInfo &, const TableExprNodeSet &source)
Constructor.
MVTime getDate(const TableExprId &id) override
Double getDouble(const TableExprId &id) override
DComplex getDComplex(const TableExprId &id) override
std::shared_ptr< UDFBase > itsUDF
TaqlRegex getRegex(const TableExprId &id) override
void disableApplySelection() override
Do not apply the selection.
std::shared_ptr< TableExprGroupFuncBase > makeGroupAggrFunc() override
UDFs do not need a TableExprGroupFuncBase, so TableExprGroupNull is returned.
void flattenTree(std::vector< TableExprNodeRep * > &) override
Flatten the node tree by adding the node and its children to the vector.
~TableExprUDFNode() override=default
Destructor.
TableExprInfo getTableInfo() const override
Get the table info.
Bool getBool(const TableExprId &id) override
Functions to get the desired result of a function.
void applySelection(const Vector< rownr_t > &rownrs) override
If needed, let the UDF re-create column objects for a selection of rows.
String getString(const TableExprId &id) override
Bool isAggregate() const override
Is the UDF an aggregate function?
Int64 getInt(const TableExprId &id) override
TableExprInfo itsTableInfo
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.