TaQL node representing an array aggregate function. More...
#include <ExprAggrNodeArray.h>
Public Member Functions | |
TableExprAggrNodeArray (TableExprFuncNode::FunctionType, NodeDataType, ValueType, const TableExprNodeSet &source, const TaQLStyle &style) | |
Constructor. | |
virtual void | getAggrNodes (vector< TableExprNodeRep * > &aggr) |
Get the nodes representing an aggregate function. | |
TableExprNodeRep * | operand () |
Get the operand node. | |
virtual CountedPtr < TableExprGroupFuncBase > | makeGroupAggrFunc () |
Create the correct aggregate function object. | |
virtual Bool | isLazyAggregate () const |
Is the array aggregate function lazy? | |
virtual MArray< Bool > | getArrayBool (const TableExprId &id) |
Functions to get the result of an aggregate function. | |
virtual MArray< Int64 > | getArrayInt (const TableExprId &id) |
virtual MArray< Double > | getArrayDouble (const TableExprId &id) |
The default implementation of getArrayDouble does getArrayInt and converts the result. | |
virtual MArray< DComplex > | getArrayDComplex (const TableExprId &id) |
The default implementation of getArrayDComplex does getArrayDouble and converts the result. | |
virtual MArray< String > | getArrayString (const TableExprId &id) |
virtual MArray< MVTime > | getArrayDate (const TableExprId &id) |
Private Member Functions | |
CountedPtr < TableExprGroupFuncBase > | doMakeGroupAggrFunc () |
Create the correct aggregate function object. | |
Private Attributes | |
CountedPtr < TableExprGroupFuncBase > | itsFunc |
TaQL node representing an array aggregate function.
Internal
This class is similar to TableExprAggrNode, but its result is an array instead of a scalar value. There are few aggregate functions resulting in an array. An example is gaggr
, which aggregates the non-empty arrays in a group into a single array. Other functions (like medians, runningmean, etc.) can be applied to its result making it quite versatile.
Most array aggregate functions are lazy to avoid using too much memory.
Definition at line 62 of file ExprAggrNodeArray.h.
casacore::TableExprAggrNodeArray::TableExprAggrNodeArray | ( | TableExprFuncNode::FunctionType | , | |
NodeDataType | , | |||
ValueType | , | |||
const TableExprNodeSet & | source, | |||
const TaQLStyle & | style | |||
) |
Constructor.
CountedPtr<TableExprGroupFuncBase> casacore::TableExprAggrNodeArray::doMakeGroupAggrFunc | ( | ) | [private] |
Create the correct aggregate function object.
virtual void casacore::TableExprAggrNodeArray::getAggrNodes | ( | vector< TableExprNodeRep * > & | aggr | ) | [virtual] |
Get the nodes representing an aggregate function.
Reimplemented from casacore::TableExprFuncNodeArray.
virtual MArray<Bool> casacore::TableExprAggrNodeArray::getArrayBool | ( | const TableExprId & | id | ) | [virtual] |
Functions to get the result of an aggregate function.
Reimplemented from casacore::TableExprFuncNodeArray.
virtual MArray<MVTime> casacore::TableExprAggrNodeArray::getArrayDate | ( | const TableExprId & | id | ) | [virtual] |
Reimplemented from casacore::TableExprFuncNodeArray.
virtual MArray<DComplex> casacore::TableExprAggrNodeArray::getArrayDComplex | ( | const TableExprId & | id | ) | [virtual] |
The default implementation of getArrayDComplex does getArrayDouble and converts the result.
Reimplemented from casacore::TableExprFuncNodeArray.
virtual MArray<Double> casacore::TableExprAggrNodeArray::getArrayDouble | ( | const TableExprId & | id | ) | [virtual] |
The default implementation of getArrayDouble does getArrayInt and converts the result.
Reimplemented from casacore::TableExprFuncNodeArray.
virtual MArray<Int64> casacore::TableExprAggrNodeArray::getArrayInt | ( | const TableExprId & | id | ) | [virtual] |
Reimplemented from casacore::TableExprFuncNodeArray.
virtual MArray<String> casacore::TableExprAggrNodeArray::getArrayString | ( | const TableExprId & | id | ) | [virtual] |
Reimplemented from casacore::TableExprFuncNodeArray.
virtual Bool casacore::TableExprAggrNodeArray::isLazyAggregate | ( | ) | const [virtual] |
Is the array aggregate function lazy?
Reimplemented from casacore::TableExprNodeRep.
virtual CountedPtr<TableExprGroupFuncBase> casacore::TableExprAggrNodeArray::makeGroupAggrFunc | ( | ) | [virtual] |
Create the correct aggregate function object.
Reimplemented from casacore::TableExprNodeRep.
TableExprNodeRep* casacore::TableExprAggrNodeArray::operand | ( | ) | [inline] |
Get the operand node.
Definition at line 75 of file ExprAggrNodeArray.h.
References casacore::TableExprFuncNodeArray::operands().
Definition at line 99 of file ExprAggrNodeArray.h.