28 #ifndef TABLES_EXPRAGGRNODE_H 29 #define TABLES_EXPRAGGRNODE_H 32 #include <casacore/casa/aips.h> 33 #include <casacore/tables/TaQL/ExprFuncNode.h> 39 class TableExprGroupFuncBase;
40 class TableExprGroupFuncSet;
97 virtual void getAggrNodes (vector<TableExprNodeRep*>& aggr);
Class representing a function in table select expression.
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
virtual Bool getBool(const TableExprId &id)
Functions to get the result of an aggregate function.
virtual DComplex getDComplex(const TableExprId &id)
virtual Double getDouble(const TableExprId &id)
Class to hold multiple table expression nodes.
virtual void getAggrNodes(vector< TableExprNodeRep * > &aggr)
Get the nodes representing an aggregate function.
virtual MVTime getDate(const TableExprId &id)
NodeDataType
Define the data types of a node.
Abstract base class for a node in a table column expression tree.
virtual Int64 getInt(const TableExprId &id)
TableExprNodeRep * operand()
Get the operand node.
TableExprGroupFuncBase * doMakeGroupAggrFunc()
Do the actual creation of the correct aggregate function object.
Referenced counted pointer for constant data.
TableExprAggrNode(FunctionType, NodeDataType, ValueType, const TableExprNodeSet &source)
Constructor.
std::complex< Double > DComplex
bool Bool
Define the standard types used by Casacore.
ValueType
Define the value types.
virtual String getString(const TableExprId &id)
const PtrBlock< TableExprNodeRep * > & operands() const
Some functions to be used by TableExprNodeFuncArray.
A drop-in replacement for Block<T*>.
virtual CountedPtr< TableExprGroupFuncBase > makeGroupAggrFunc()
Create the correct aggregate function object.
Abstract base class for classes calculating an aggregated group result.
TaQL node representing a scalar aggregate function.
The identification of a TaQL selection subject.
virtual Bool isLazyAggregate() const
Is the aggregate function a lazy or an immediate one?
CountedPtr< TableExprGroupFuncBase > itsFunc
String: the storage and methods of handling collections of characters.
Class to handle date/time type conversions and I/O.
this file contains all the compiler specific defines
static NodeDataType checkOperands(Block< Int > &dtypeOper, ValueType &resVT, FunctionType ftype, PtrBlock< TableExprNodeRep * > &nodes)
Check the operands of the aggregate function and return the result's data type.