Base class for arrays in table select expression. More...
#include <ExprNodeArray.h>
Public Member Functions | |
TableExprNodeArray (NodeDataType, OperType) | |
Create the object. | |
TableExprNodeArray (const TableExprNodeRep &node, NodeDataType, OperType) | |
TableExprNodeArray (NodeDataType, OperType, const IPosition &shape) | |
~TableExprNodeArray () | |
virtual TableExprNodeRep * | makeConstantScalar () |
Turn a constant array with one element into a scalar. | |
IPosition | validateIndex (const IPosition &index, const ArrayBase &arr) const |
Validate the given index against the array's shape. | |
virtual const IPosition & | getShape (const TableExprId &id) |
Get the shape of the array in the given row. | |
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 Bool | hasBool (const TableExprId &id, Bool value) |
Does a value occur in the set? | |
virtual Bool | hasInt (const TableExprId &id, Int64 value) |
virtual Bool | hasDouble (const TableExprId &id, Double value) |
virtual Bool | hasDComplex (const TableExprId &id, const DComplex &value) |
virtual Bool | hasString (const TableExprId &id, const String &value) |
virtual Bool | hasDate (const TableExprId &id, const MVTime &value) |
virtual MArray< Bool > | hasArrayBool (const TableExprId &id, const MArray< Bool > &value) |
virtual MArray< Bool > | hasArrayInt (const TableExprId &id, const MArray< Int64 > &value) |
virtual MArray< Bool > | hasArrayDouble (const TableExprId &id, const MArray< Double > &value) |
virtual MArray< Bool > | hasArrayDComplex (const TableExprId &id, const MArray< DComplex > &value) |
virtual MArray< Bool > | hasArrayString (const TableExprId &id, const MArray< String > &value) |
virtual MArray< Bool > | hasArrayDate (const TableExprId &id, const MArray< MVTime > &value) |
virtual Bool | getElemBool (const TableExprId &id, const Slicer &index) |
Get a single element from the array in the given row. | |
virtual Int64 | getElemInt (const TableExprId &id, const Slicer &index) |
virtual Double | getElemDouble (const TableExprId &id, const Slicer &index) |
virtual DComplex | getElemDComplex (const TableExprId &id, const Slicer &index) |
virtual String | getElemString (const TableExprId &id, const Slicer &index) |
virtual MVTime | getElemDate (const TableExprId &id, const Slicer &index) |
virtual MArray< Bool > | getSliceBool (const TableExprId &id, const Slicer &) |
Get a slice of the array in the given row. | |
virtual MArray< Int64 > | getSliceInt (const TableExprId &id, const Slicer &) |
virtual MArray< Double > | getSliceDouble (const TableExprId &id, const Slicer &) |
virtual MArray< DComplex > | getSliceDComplex (const TableExprId &id, const Slicer &) |
virtual MArray< String > | getSliceString (const TableExprId &id, const Slicer &) |
virtual MArray< MVTime > | getSliceDate (const TableExprId &id, const Slicer &) |
virtual Array< Bool > | getElemColumnBool (const Vector< uInt > &rownrs, const Slicer &) |
Get a single element for the entire column (used by sort). | |
virtual Array< uChar > | getElemColumnuChar (const Vector< uInt > &rownrs, const Slicer &) |
virtual Array< Short > | getElemColumnShort (const Vector< uInt > &rownrs, const Slicer &) |
virtual Array< uShort > | getElemColumnuShort (const Vector< uInt > &rownrs, const Slicer &) |
virtual Array< Int > | getElemColumnInt (const Vector< uInt > &rownrs, const Slicer &) |
virtual Array< uInt > | getElemColumnuInt (const Vector< uInt > &rownrs, const Slicer &) |
virtual Array< Float > | getElemColumnFloat (const Vector< uInt > &rownrs, const Slicer &) |
virtual Array< Double > | getElemColumnDouble (const Vector< uInt > &rownrs, const Slicer &) |
virtual Array< Complex > | getElemColumnComplex (const Vector< uInt > &rownrs, const Slicer &) |
virtual Array< DComplex > | getElemColumnDComplex (const Vector< uInt > &rownrs, const Slicer &) |
virtual Array< String > | getElemColumnString (const Vector< uInt > &rownrs, const Slicer &) |
Static Public Member Functions | |
static MArray< Int64 > | makeArray (const IPosition &shape, Int64 value) |
Make an array with the given shape and fill it with the value. | |
static MArray< Double > | makeArray (const IPosition &shape, Double value) |
static MArray< DComplex > | makeArray (const IPosition &shape, const DComplex &value) |
Protected Attributes | |
IPosition | varShape_p |
Base class for arrays in table select expression.
Internal
This class is the base class to represent an array. The actual storing of the array column is done by its derivations.
Definition at line 65 of file ExprNodeArray.h.
casacore::TableExprNodeArray::TableExprNodeArray | ( | NodeDataType | , | |
OperType | ||||
) |
Create the object.
casacore::TableExprNodeArray::TableExprNodeArray | ( | const TableExprNodeRep & | node, | |
NodeDataType | , | |||
OperType | ||||
) |
casacore::TableExprNodeArray::TableExprNodeArray | ( | NodeDataType | , | |
OperType | , | |||
const IPosition & | shape | |||
) |
casacore::TableExprNodeArray::~TableExprNodeArray | ( | ) |
virtual MArray<DComplex> casacore::TableExprNodeArray::getArrayDComplex | ( | const TableExprId & | id | ) | [virtual] |
The default implementation of getArrayDComplex does getArrayDouble and converts the result.
Reimplemented from casacore::TableExprNodeRep.
Reimplemented in casacore::TableExprAggrNodeArray, casacore::TableExprNodeArrayConstInt, casacore::TableExprNodeArrayConstDouble, casacore::TableExprNodeArrayConstDComplex, casacore::TableExprFuncNodeArray, casacore::TableExprNodeArrayPlusDComplex, casacore::TableExprNodeArrayMinusDComplex, casacore::TableExprNodeArrayTimesDComplex, casacore::TableExprNodeArrayDivideDComplex, casacore::TableExprNodeArrayMIN, casacore::TableExprNodeArrayColumnComplex, casacore::TableExprNodeArrayColumnDComplex, casacore::TableExprNodeArrayPart, casacore::TableExprNodeRecordFieldArray, casacore::TableExprUDFNodeArray, and casacore::TableExprNodeArrayUnit.
virtual MArray<Double> casacore::TableExprNodeArray::getArrayDouble | ( | const TableExprId & | id | ) | [virtual] |
The default implementation of getArrayDouble does getArrayInt and converts the result.
Reimplemented from casacore::TableExprNodeRep.
Reimplemented in casacore::TableExprAggrNodeArray, casacore::TableExprNodeArrayConstInt, casacore::TableExprNodeArrayConstDouble, casacore::TableExprNodeArrayConstDate, casacore::TableExprFuncNodeArray, casacore::TableExprNodeArrayPlusDouble, casacore::TableExprNodeArrayPlusDate, casacore::TableExprNodeArrayMinusDouble, casacore::TableExprNodeArrayMinusDate, casacore::TableExprNodeArrayTimesDouble, casacore::TableExprNodeArrayDivideDouble, casacore::TableExprNodeArrayModuloDouble, casacore::TableExprNodeArrayMIN, casacore::TableExprNodeArrayColumnFloat, casacore::TableExprNodeArrayColumnDouble, casacore::TableExprNodeArrayPart, casacore::TableExprNodeRecordFieldArray, casacore::TableExprUDFNodeArray, and casacore::TableExprNodeArrayUnit.
virtual Bool casacore::TableExprNodeArray::getElemBool | ( | const TableExprId & | id, | |
const Slicer & | index | |||
) | [virtual] |
Get a single element from the array in the given row.
Reimplemented in casacore::TableExprNodeArrayColumnBool.
virtual Array<Bool> casacore::TableExprNodeArray::getElemColumnBool | ( | const Vector< uInt > & | rownrs, | |
const Slicer & | ||||
) | [virtual] |
Get a single element for the entire column (used by sort).
Reimplemented in casacore::TableExprNodeArrayColumnBool.
virtual Array<Complex> casacore::TableExprNodeArray::getElemColumnComplex | ( | const Vector< uInt > & | rownrs, | |
const Slicer & | ||||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnComplex.
virtual Array<DComplex> casacore::TableExprNodeArray::getElemColumnDComplex | ( | const Vector< uInt > & | rownrs, | |
const Slicer & | ||||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnDComplex.
virtual Array<Double> casacore::TableExprNodeArray::getElemColumnDouble | ( | const Vector< uInt > & | rownrs, | |
const Slicer & | ||||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnDouble.
virtual Array<Float> casacore::TableExprNodeArray::getElemColumnFloat | ( | const Vector< uInt > & | rownrs, | |
const Slicer & | ||||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnFloat.
virtual Array<Int> casacore::TableExprNodeArray::getElemColumnInt | ( | const Vector< uInt > & | rownrs, | |
const Slicer & | ||||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnInt.
virtual Array<Short> casacore::TableExprNodeArray::getElemColumnShort | ( | const Vector< uInt > & | rownrs, | |
const Slicer & | ||||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnShort.
virtual Array<String> casacore::TableExprNodeArray::getElemColumnString | ( | const Vector< uInt > & | rownrs, | |
const Slicer & | ||||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnString.
virtual Array<uChar> casacore::TableExprNodeArray::getElemColumnuChar | ( | const Vector< uInt > & | rownrs, | |
const Slicer & | ||||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnuChar.
virtual Array<uInt> casacore::TableExprNodeArray::getElemColumnuInt | ( | const Vector< uInt > & | rownrs, | |
const Slicer & | ||||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnuInt.
virtual Array<uShort> casacore::TableExprNodeArray::getElemColumnuShort | ( | const Vector< uInt > & | rownrs, | |
const Slicer & | ||||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnuShort.
virtual MVTime casacore::TableExprNodeArray::getElemDate | ( | const TableExprId & | id, | |
const Slicer & | index | |||
) | [virtual] |
virtual DComplex casacore::TableExprNodeArray::getElemDComplex | ( | const TableExprId & | id, | |
const Slicer & | index | |||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnComplex, and casacore::TableExprNodeArrayColumnDComplex.
virtual Double casacore::TableExprNodeArray::getElemDouble | ( | const TableExprId & | id, | |
const Slicer & | index | |||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnFloat, and casacore::TableExprNodeArrayColumnDouble.
virtual Int64 casacore::TableExprNodeArray::getElemInt | ( | const TableExprId & | id, | |
const Slicer & | index | |||
) | [virtual] |
virtual String casacore::TableExprNodeArray::getElemString | ( | const TableExprId & | id, | |
const Slicer & | index | |||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnString.
virtual const IPosition& casacore::TableExprNodeArray::getShape | ( | const TableExprId & | id | ) | [virtual] |
Get the shape of the array in the given row.
This default implementation evaluates the value and returns its shape.
Reimplemented from casacore::TableExprNodeRep.
Reimplemented in casacore::TableExprNodeArrayColumn, and casacore::TableExprNodeRecordFieldArray.
virtual MArray<Bool> casacore::TableExprNodeArray::getSliceBool | ( | const TableExprId & | id, | |
const Slicer & | ||||
) | [virtual] |
Get a slice of the array in the given row.
Reimplemented in casacore::TableExprNodeArrayColumnBool.
virtual MArray<MVTime> casacore::TableExprNodeArray::getSliceDate | ( | const TableExprId & | id, | |
const Slicer & | ||||
) | [virtual] |
virtual MArray<DComplex> casacore::TableExprNodeArray::getSliceDComplex | ( | const TableExprId & | id, | |
const Slicer & | ||||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnComplex, and casacore::TableExprNodeArrayColumnDComplex.
virtual MArray<Double> casacore::TableExprNodeArray::getSliceDouble | ( | const TableExprId & | id, | |
const Slicer & | ||||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnFloat, and casacore::TableExprNodeArrayColumnDouble.
virtual MArray<Int64> casacore::TableExprNodeArray::getSliceInt | ( | const TableExprId & | id, | |
const Slicer & | ||||
) | [virtual] |
virtual MArray<String> casacore::TableExprNodeArray::getSliceString | ( | const TableExprId & | id, | |
const Slicer & | ||||
) | [virtual] |
Reimplemented in casacore::TableExprNodeArrayColumnString.
virtual MArray<Bool> casacore::TableExprNodeArray::hasArrayBool | ( | const TableExprId & | id, | |
const MArray< Bool > & | value | |||
) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
virtual MArray<Bool> casacore::TableExprNodeArray::hasArrayDate | ( | const TableExprId & | id, | |
const MArray< MVTime > & | value | |||
) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
virtual MArray<Bool> casacore::TableExprNodeArray::hasArrayDComplex | ( | const TableExprId & | id, | |
const MArray< DComplex > & | value | |||
) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
virtual MArray<Bool> casacore::TableExprNodeArray::hasArrayDouble | ( | const TableExprId & | id, | |
const MArray< Double > & | value | |||
) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
virtual MArray<Bool> casacore::TableExprNodeArray::hasArrayInt | ( | const TableExprId & | id, | |
const MArray< Int64 > & | value | |||
) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
virtual MArray<Bool> casacore::TableExprNodeArray::hasArrayString | ( | const TableExprId & | id, | |
const MArray< String > & | value | |||
) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
virtual Bool casacore::TableExprNodeArray::hasBool | ( | const TableExprId & | id, | |
Bool | value | |||
) | [virtual] |
Does a value occur in the set?
Reimplemented from casacore::TableExprNodeRep.
virtual Bool casacore::TableExprNodeArray::hasDate | ( | const TableExprId & | id, | |
const MVTime & | value | |||
) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
virtual Bool casacore::TableExprNodeArray::hasDComplex | ( | const TableExprId & | id, | |
const DComplex & | value | |||
) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
virtual Bool casacore::TableExprNodeArray::hasDouble | ( | const TableExprId & | id, | |
Double | value | |||
) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
virtual Bool casacore::TableExprNodeArray::hasInt | ( | const TableExprId & | id, | |
Int64 | value | |||
) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
virtual Bool casacore::TableExprNodeArray::hasString | ( | const TableExprId & | id, | |
const String & | value | |||
) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
static MArray<DComplex> casacore::TableExprNodeArray::makeArray | ( | const IPosition & | shape, | |
const DComplex & | value | |||
) | [static] |
static MArray<Double> casacore::TableExprNodeArray::makeArray | ( | const IPosition & | shape, | |
Double | value | |||
) | [static] |
static MArray<Int64> casacore::TableExprNodeArray::makeArray | ( | const IPosition & | shape, | |
Int64 | value | |||
) | [static] |
Make an array with the given shape and fill it with the value.
virtual TableExprNodeRep* casacore::TableExprNodeArray::makeConstantScalar | ( | ) | [virtual] |
Turn a constant array with one element into a scalar.
It returns a zero pointer if not possible. The default implementation returns 0.
IPosition casacore::TableExprNodeArray::validateIndex | ( | const IPosition & | index, | |
const ArrayBase & | arr | |||
) | const |
Validate the given index against the array's shape.
Treat a negative as an index from the end (a la python) and replace it.
IPosition casacore::TableExprNodeArray::varShape_p [protected] |
Definition at line 186 of file ExprNodeArray.h.