26#ifndef TABLES_EXPRGROUPAGGRFUNC_H
27#define TABLES_EXPRGROUPAGGRFUNC_H
30#include <casacore/casa/aips.h>
31#include <casacore/tables/TaQL/ExprGroup.h>
TableExprGroupAll(TableExprNodeRep *node)
virtual ~TableExprGroupAll()
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual ~TableExprGroupAny()
TableExprGroupAny(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
void setResult(Int64 cnt)
Set result in case it is known directly.
virtual ~TableExprGroupCountAll()
TableExprGroupCountAll(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupCount(TableExprNodeRep *node)
virtual ~TableExprGroupCount()
TableExprNodeArrayColumn * itsColumn
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual Bool isLazy() const
Does the aggregate function use lazy semantics?
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual Double getDouble(const vector< TableExprId > &ids)
TableExprGroupFractileDouble(TableExprNodeRep *node, Double fractile)
virtual ~TableExprGroupFractileDouble()
TableExprGroupFuncBool(TableExprNodeRep *node)
TableExprGroupFuncDComplex(TableExprNodeRep *node, const DComplex &initValue=DComplex())
TableExprGroupFuncDouble(TableExprNodeRep *node, Double initValue=0)
TableExprGroupFuncInt(TableExprNodeRep *node, Int64 initValue=0)
virtual ~TableExprGroupMaxDouble()
TableExprGroupMaxDouble(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupMaxInt(TableExprNodeRep *node)
virtual ~TableExprGroupMaxInt()
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual ~TableExprGroupMeanDComplex()
TableExprGroupMeanDComplex(TableExprNodeRep *node)
virtual void finish()
If needed, finish the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupMeanDouble(TableExprNodeRep *node)
virtual ~TableExprGroupMeanDouble()
virtual void finish()
If needed, finish the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual ~TableExprGroupMinDouble()
TableExprGroupMinDouble(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupMinInt(TableExprNodeRep *node)
virtual ~TableExprGroupMinInt()
virtual ~TableExprGroupNFalse()
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupNFalse(TableExprNodeRep *node)
TableExprGroupNTrue(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual ~TableExprGroupNTrue()
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual ~TableExprGroupProductDComplex()
TableExprGroupProductDComplex(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupProductDouble(TableExprNodeRep *node)
virtual ~TableExprGroupProductDouble()
virtual ~TableExprGroupProductInt()
TableExprGroupProductInt(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual ~TableExprGroupRmsDouble()
TableExprGroupRmsDouble(TableExprNodeRep *node)
virtual void finish()
If needed, finish the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void finish()
If needed, finish the aggregation.
TableExprGroupStdDevDComplex(TableExprNodeRep *node, uInt ddof)
virtual ~TableExprGroupStdDevDComplex()
virtual void finish()
If needed, finish the aggregation.
virtual ~TableExprGroupStdDevDouble()
TableExprGroupStdDevDouble(TableExprNodeRep *node, uInt ddof)
TableExprGroupSumDComplex(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual ~TableExprGroupSumDComplex()
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
TableExprGroupSumDouble(TableExprNodeRep *node)
virtual ~TableExprGroupSumDouble()
TableExprGroupSumInt(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual ~TableExprGroupSumInt()
TableExprGroupSumSqrDComplex(TableExprNodeRep *node)
virtual ~TableExprGroupSumSqrDComplex()
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual ~TableExprGroupSumSqrDouble()
TableExprGroupSumSqrDouble(TableExprNodeRep *node)
virtual ~TableExprGroupSumSqrInt()
TableExprGroupSumSqrInt(TableExprNodeRep *node)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual ~TableExprGroupVarianceDComplex()
TableExprGroupVarianceDComplex(TableExprNodeRep *node, uInt ddof)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
virtual void finish()
If needed, finish the aggregation.
virtual void finish()
If needed, finish the aggregation.
virtual ~TableExprGroupVarianceDouble()
TableExprGroupVarianceDouble(TableExprNodeRep *node, uInt ddof)
virtual void apply(const TableExprId &id)
Get the operand's value for the given row and apply it to the aggregation.
Base class for Array column in table select expression.
Abstract base class for a node in a table column expression tree.
this file contains all the compiler specific defines
LatticeExprNode fractile(const LatticeExprNode &expr, const LatticeExprNode &fraction)
Determine the value of the element at the part fraction from the beginning of the given lattice.
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.