Class collecting the arrays in a group. More...
#include <ExprGroup.h>
Public Member Functions | |
TableExprGroupAggr (TableExprNodeRep *node) | |
virtual | ~TableExprGroupAggr () |
virtual Bool | isLazy () const |
Does the aggregate function use lazy semantics? The default implementation returns False. | |
virtual void | apply (const TableExprId &id) |
Get the operand's value for the given row and apply it to the aggregation. | |
virtual MArray< Bool > | getArrayBool (const vector< TableExprId > &) |
virtual MArray< Int64 > | getArrayInt (const vector< TableExprId > &) |
virtual MArray< Double > | getArrayDouble (const vector< TableExprId > &) |
virtual MArray< DComplex > | getArrayDComplex (const vector< TableExprId > &) |
virtual MArray< MVTime > | getArrayDate (const vector< TableExprId > &) |
virtual MArray< String > | getArrayString (const vector< TableExprId > &) |
Protected Member Functions | |
template<typename T > | |
MArray< T > | getArray (const vector< TableExprId > &ids) |
Class collecting the arrays in a group.
Internal
This class collects the non-empty arrays in a group into an array with one more axis. All arrays (if not empty) must have the same shape.
Definition at line 378 of file ExprGroup.h.
casacore::TableExprGroupAggr::TableExprGroupAggr | ( | TableExprNodeRep * | node | ) | [explicit] |
virtual casacore::TableExprGroupAggr::~TableExprGroupAggr | ( | ) | [virtual] |
virtual void casacore::TableExprGroupAggr::apply | ( | const TableExprId & | id | ) | [virtual] |
Get the operand's value for the given row and apply it to the aggregation.
This function should not be called for lazy classes.
Implements casacore::TableExprGroupFuncBase.
MArray<T> casacore::TableExprGroupAggr::getArray | ( | const vector< TableExprId > & | ids | ) | [inline, protected] |
Return scalar values as a Vector.
Array values are returned as an array with one more axis. Use the first non-null value to determine the shape and if masked.
All arrays are null.
Definition at line 393 of file ExprGroup.h.
References casacore::IPosition::append(), casacore::MArray< T >::array(), casacore::False, casacore::TableExprNodeRep::get(), casacore::MArrayBase::hasMask(), casacore::MArrayBase::isNull(), casacore::TableExprGroupFuncBase::itsOperand, casacore::mask(), casacore::MArrayBase::mask(), casacore::MArrayBase::ndim(), casacore::Array< T >::resize(), casacore::MArrayBase::shape(), casacore::IPosition::size(), casacore::True, casacore::TableExprNodeRep::valueType(), and casacore::TableExprNodeRep::VTScalar.
virtual MArray<Bool> casacore::TableExprGroupAggr::getArrayBool | ( | const vector< TableExprId > & | ) | [virtual] |
Reimplemented from casacore::TableExprGroupFuncBase.
virtual MArray<MVTime> casacore::TableExprGroupAggr::getArrayDate | ( | const vector< TableExprId > & | ) | [virtual] |
Reimplemented from casacore::TableExprGroupFuncBase.
virtual MArray<DComplex> casacore::TableExprGroupAggr::getArrayDComplex | ( | const vector< TableExprId > & | ) | [virtual] |
Reimplemented from casacore::TableExprGroupFuncBase.
virtual MArray<Double> casacore::TableExprGroupAggr::getArrayDouble | ( | const vector< TableExprId > & | ) | [virtual] |
Reimplemented from casacore::TableExprGroupFuncBase.
virtual MArray<Int64> casacore::TableExprGroupAggr::getArrayInt | ( | const vector< TableExprId > & | ) | [virtual] |
Reimplemented from casacore::TableExprGroupFuncBase.
virtual MArray<String> casacore::TableExprGroupAggr::getArrayString | ( | const vector< TableExprId > & | ) | [virtual] |
Reimplemented from casacore::TableExprGroupFuncBase.
virtual Bool casacore::TableExprGroupAggr::isLazy | ( | ) | const [virtual] |
Does the aggregate function use lazy semantics? The default implementation returns False.
Reimplemented from casacore::TableExprGroupFuncBase.