28 #ifndef TABLES_EXPRAGGRNODE_H
29 #define TABLES_EXPRAGGRNODE_H
39 class TableExprGroupFuncBase;
40 class TableExprGroupFuncSet;
89 const vector<TENShPtr>& nodes,
96 std::vector<TENShPtr>& nodes);
99 virtual void getAggrNodes (std::vector<TableExprNodeRep*>& aggr);
Class representing a function in table select expression.
CountedPtr< TableExprNodeRep > TENShPtr
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.
TENShPtr operand()
Get the operand node.
virtual DComplex getDComplex(const TableExprId &id)
TableExprAggrNode(FunctionType, NodeDataType, ValueType, const TableExprNodeSet &source, const vector< TENShPtr > &nodes, const Block< Int > &dtypeOper)
Constructor.
virtual Double getDouble(const TableExprId &id)
Class to hold multiple table expression nodes.
virtual MVTime getDate(const TableExprId &id)
NodeDataType
Define the data types of a node.
virtual Int64 getInt(const TableExprId &id)
const std::vector< TENShPtr > & operands() const
Some functions to be used by TableExprNodeFuncArray.
TableExprGroupFuncBase * doMakeGroupAggrFunc()
Do the actual creation of the correct aggregate function object.
std::complex< Double > DComplex
bool Bool
Define the standard types used by Casacore.
ValueType
Define the value types.
virtual String getString(const TableExprId &id)
virtual CountedPtr< TableExprGroupFuncBase > makeGroupAggrFunc()
Create the correct aggregate function object.
static NodeDataType checkOperands(Block< Int > &dtypeOper, ValueType &resVT, FunctionType ftype, std::vector< TENShPtr > &nodes)
Check the operands of the aggregate function and return the result's data type.
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.
virtual void getAggrNodes(std::vector< TableExprNodeRep * > &aggr)
Get the nodes representing an aggregate function.