casacore::TableExprAggrNodeArray Class Reference

TaQL node representing an array aggregate function. More...

#include <ExprAggrNodeArray.h>

Inheritance diagram for casacore::TableExprAggrNodeArray:
casacore::TableExprFuncNodeArray casacore::TableExprNodeArray casacore::TableExprNodeBinary casacore::TableExprNodeRep

List of all members.

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.
TableExprNodeRepoperand ()
 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< BoolgetArrayBool (const TableExprId &id)
 Functions to get the result of an aggregate function.
virtual MArray< Int64getArrayInt (const TableExprId &id)
virtual MArray< DoublegetArrayDouble (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< StringgetArrayString (const TableExprId &id)
virtual MArray< MVTimegetArrayDate (const TableExprId &id)

Private Member Functions

CountedPtr
< TableExprGroupFuncBase
doMakeGroupAggrFunc ()
 Create the correct aggregate function object.

Private Attributes

CountedPtr
< TableExprGroupFuncBase
itsFunc

Detailed Description

TaQL node representing an array aggregate function.

Intended use:

Internal

Review Status

Test programs:
tTaQLNode

Synopsis

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.


Constructor & Destructor Documentation

casacore::TableExprAggrNodeArray::TableExprAggrNodeArray ( TableExprFuncNode::FunctionType  ,
NodeDataType  ,
ValueType  ,
const TableExprNodeSet source,
const TaQLStyle style 
)

Constructor.


Member Function Documentation

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().


Member Data Documentation

Definition at line 99 of file ExprAggrNodeArray.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1