ExprNodeArray.h
Classes
- TableExprNodeArray -- Base class for arrays in table select expression (full description)
- TableExprNodeArrayColumn -- Base class for Array column in table select expression (full description)
- TableExprNodeArrayColumnBool -- Bool array column in table select expression (full description)
- TableExprNodeArrayColumnuChar -- uChar array column in table select expression (full description)
- TableExprNodeArrayColumnShort -- Short array column in table select expression (full description)
- TableExprNodeArrayColumnuShort -- uShort array column in table select expression (full description)
- TableExprNodeArrayColumnInt -- Int array column in table select expression (full description)
- TableExprNodeArrayColumnuInt -- uInt array column in table select expression (full description)
- TableExprNodeArrayColumnFloat -- Float array column in table select expression (full description)
- TableExprNodeArrayColumnDouble -- Double array column in table select expression (full description)
- TableExprNodeArrayColumnComplex -- Complex array column in table select expression (full description)
- TableExprNodeArrayColumnDComplex -- DComplex array column in table select expression (full description)
- TableExprNodeArrayColumnString -- String array column in table select expression (full description)
- TableExprNodeIndex -- The index of an array element in a table select expression (full description)
- TableExprNodeArrayPart -- Array column part in table select expression (full description)
Interface
- Public Members
- TableExprNodeArray (NodeDataType, OperType)
- TableExprNodeArray (const TableExprNodeRep& node, NodeDataType, OperType)
- TableExprNodeArray (NodeDataType, OperType, const OperType& shape)
- ~TableExprNodeArray()
- virtual const IPosition& getShape (const TableExprId& id)
- virtual Array<DComplex> getArrayDComplex (const TableExprId& id)
- virtual Bool hasBool (const TableExprId& id, Bool 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 Array<Bool> hasArrayBool (const TableExprId& id, const Array<Bool>& value)
- virtual Array<Bool> hasArrayDouble (const TableExprId& id, const Array<Double>& value)
- virtual Array<Bool> hasArrayDComplex (const TableExprId& id, const Array<DComplex>& value)
- virtual Array<Bool> hasArrayString (const TableExprId& id, const Array<String>& value)
- virtual Array<Bool> hasArrayDate (const TableExprId& id, const Array<MVTime>& value)
- virtual Bool getElemBool (const TableExprId& id, const Slicer& index)
- virtual Double getElemDouble (const TableExprId& id, const Slicer& index)
- virtual DComplex getElemDComplex (const TableExprId& id, const TableExprId& index)
- virtual String getElemString (const TableExprId& id, const Slicer& index)
- virtual MVTime getElemDate (const TableExprId& id, const Slicer& index)
- virtual Array<Bool> getSliceBool (const TableExprId& id, const Slicer&)
- virtual Array<Double> getSliceDouble (const TableExprId& id, const Slicer&)
- virtual Array<DComplex> getSliceDComplex (const TableExprId& id, const TableExprId&)
- virtual Array<String> getSliceString (const TableExprId& id, const Slicer&)
- virtual Array<MVTime> getSliceDate (const TableExprId& id, const Slicer&)
- virtual Array<Bool> getElemColumnBool (const Slicer&)
- virtual Array<uChar> getElemColumnuChar (const Slicer&)
- virtual Array<Short> getElemColumnShort (const Slicer&)
- virtual Array<uShort> getElemColumnuShort (const Slicer&)
- virtual Array<Int> getElemColumnInt (const Slicer&)
- virtual Array<uInt> getElemColumnuInt (const Slicer&)
- virtual Array<Float> getElemColumnFloat (const Slicer&)
- virtual Array<Double> getElemColumnDouble (const Slicer&)
- virtual Array<Complex> getElemColumnComplex (const Slicer&)
- virtual Array<DComplex> getElemColumnDComplex (const Slicer&)
- virtual Array<String> getElemColumnString (const Slicer&)
- static Array<Double> makeArray (const IPosition& shape, Double value)
- static Array<DComplex> makeArray (const IPosition& shape, const DComplex& value)
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
- TableExprNode
- TableExprNodeRep
- TableExprNodeBinary
Synopsis
This class is the base class to represent an array.
The actual storing of the array column is done by its derivations.
Member Description
Create the object.
Get the shape of the array in the given row.
This default implementation evaluates the value and returns its shape.
virtual Array<DComplex> getArrayDComplex (const TableExprId& id)
The default implementation of getArrayDComplex does
getArrayDouble and converts the result.
Does a value occur in the set?
Get a single element from the array in the given row.
Get a slice of the array in the given row.
Get a single element for the entire column (used by sort).
Make an array with the given shape and fill it with the value.
static Array<DComplex> makeArray (const IPosition& shape, const DComplex& value)
Interface
- TableExprNodeArrayColumn (const ROTableColumn& tablecol, const Table& table)
- ~TableExprNodeArrayColumn()
- virtual void replaceTablePtr (const Table&)
- const ROTableColumn& getColumn() const
- virtual const IPosition& getShape (const TableExprId& id)
- virtual Bool isDefined (const TableExprId& id)
- virtual Bool getColumnDataType (DataType&) const
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
Synopsis
This class is the base class to store an array column.
The actual storing of the array column is done by its derivations.
Member Description
Create the object for the given column and table.
Replace the Table pointer in this node.
Get the ROTableColumn object.
Get the shape of the array in the given row.
Is the value in the given row defined?
Get the data type of this column.
It returns with a True status.
Interface
- TableExprNodeArrayColumnBool (const ROTableColumn&, const Table&)
- ~TableExprNodeArrayColumnBool()
- virtual void replaceTablePtr (const Table&)
- virtual Bool getElemBool (const TableExprId& id, const Slicer& index)
- virtual Array<Bool> getArrayBool (const TableExprId& id)
- virtual Array<Bool> getSliceBool (const TableExprId& id, const Slicer&)
- virtual Array<Bool> getElemColumnBool (const Slicer&)
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
Synopsis
These classes store an array column of type X.
Member Description
Replace the Table pointer in this node.
Interface
- TableExprNodeArrayColumnuChar (const ROTableColumn&, const Table&)
- ~TableExprNodeArrayColumnuChar()
- virtual void replaceTablePtr (const Table&)
- virtual Double getElemDouble (const TableExprId& id, const Slicer& index)
- virtual Array<Double> getArrayDouble (const TableExprId& id)
- virtual Array<Double> getSliceDouble (const TableExprId& id, const Slicer&)
- virtual Array<uChar> getElemColumnuChar (const Slicer&)
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
Synopsis
These classes store an array column of type X.
Member Description
Replace the Table pointer in this node.
Interface
- TableExprNodeArrayColumnShort (const ROTableColumn&, const Table&)
- ~TableExprNodeArrayColumnShort()
- virtual void replaceTablePtr (const Table&)
- virtual Double getElemDouble (const TableExprId& id, const Slicer& index)
- virtual Array<Double> getArrayDouble (const TableExprId& id)
- virtual Array<Double> getSliceDouble (const TableExprId& id, const Slicer&)
- virtual Array<Short> getElemColumnShort (const Slicer&)
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
Synopsis
These classes store an array column of type X.
Member Description
Replace the Table pointer in this node.
Interface
- TableExprNodeArrayColumnuShort (const ROTableColumn&, const Table&)
- ~TableExprNodeArrayColumnuShort()
- virtual void replaceTablePtr (const Table&)
- virtual Double getElemDouble (const TableExprId& id, const Slicer& index)
- virtual Array<Double> getArrayDouble (const TableExprId& id)
- virtual Array<Double> getSliceDouble (const TableExprId& id, const Slicer&)
- virtual Array<uShort> getElemColumnuShort (const Slicer&)
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
Synopsis
These classes store an array column of type X.
Member Description
Replace the Table pointer in this node.
Interface
- TableExprNodeArrayColumnInt (const ROTableColumn&, const Table&)
- ~TableExprNodeArrayColumnInt()
- virtual void replaceTablePtr (const Table&)
- virtual Double getElemDouble (const TableExprId& id, const Slicer& index)
- virtual Array<Double> getArrayDouble (const TableExprId& id)
- virtual Array<Double> getSliceDouble (const TableExprId& id, const Slicer&)
- virtual Array<Int> getElemColumnInt (const Slicer&)
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
Synopsis
These classes store an array column of type X.
Member Description
Replace the Table pointer in this node.
Interface
- TableExprNodeArrayColumnuInt (const ROTableColumn&, const Table&)
- ~TableExprNodeArrayColumnuInt()
- virtual void replaceTablePtr (const Table&)
- virtual Double getElemDouble (const TableExprId& id, const Slicer& index)
- virtual Array<Double> getArrayDouble (const TableExprId& id)
- virtual Array<Double> getSliceDouble (const TableExprId& id, const Slicer&)
- virtual Array<uInt> getElemColumnuInt (const Slicer&)
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
Synopsis
These classes store an array column of type X.
Member Description
Replace the Table pointer in this node.
Interface
- TableExprNodeArrayColumnFloat (const ROTableColumn&, const Table&)
- ~TableExprNodeArrayColumnFloat()
- virtual void replaceTablePtr (const Table&)
- virtual Double getElemDouble (const TableExprId& id, const Slicer& index)
- virtual Array<Double> getArrayDouble (const TableExprId& id)
- virtual Array<Double> getSliceDouble (const TableExprId& id, const Slicer&)
- virtual Array<Float> getElemColumnFloat (const Slicer&)
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
Synopsis
These classes store an array column of type X.
Member Description
Replace the Table pointer in this node.
Interface
- TableExprNodeArrayColumnDouble (const ROTableColumn&, const Table&)
- ~TableExprNodeArrayColumnDouble()
- virtual void replaceTablePtr (const Table&)
- virtual Double getElemDouble (const TableExprId& id, const Slicer& index)
- virtual Array<Double> getArrayDouble (const TableExprId& id)
- virtual Array<Double> getSliceDouble (const TableExprId& id, const Slicer&)
- virtual Array<Double> getElemColumnDouble (const Slicer&)
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
Synopsis
These classes store an array column of type X.
Member Description
Replace the Table pointer in this node.
Interface
- TableExprNodeArrayColumnComplex (const ROTableColumn&, const Table&)
- ~TableExprNodeArrayColumnComplex()
- virtual void replaceTablePtr (const Table&)
- virtual DComplex getElemDComplex (const TableExprId& id, const TableExprId& index)
- virtual Array<DComplex> getArrayDComplex (const TableExprId& id)
- virtual Array<DComplex> getSliceDComplex (const TableExprId& id, const TableExprId&)
- virtual Array<Complex> getElemColumnComplex (const Slicer&)
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
Synopsis
These classes store an array column of type X.
Member Description
Replace the Table pointer in this node.
virtual DComplex getElemDComplex (const TableExprId& id, const TableExprId& index)
virtual Array<DComplex> getArrayDComplex (const TableExprId& id)
Interface
- TableExprNodeArrayColumnDComplex (const ROTableColumn&, const Table&)
- ~TableExprNodeArrayColumnDComplex()
- virtual void replaceTablePtr (const Table&)
- virtual DComplex getElemDComplex (const TableExprId& id, const TableExprId& index)
- virtual Array<DComplex> getArrayDComplex (const TableExprId& id)
- virtual Array<DComplex> getSliceDComplex (const TableExprId& id, const TableExprId&)
- virtual Array<DComplex> getElemColumnDComplex (const Slicer&)
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
Synopsis
These classes store an array column of type X.
Member Description
Replace the Table pointer in this node.
virtual DComplex getElemDComplex (const TableExprId& id, const TableExprId& index)
virtual Array<DComplex> getArrayDComplex (const TableExprId& id)
Interface
- TableExprNodeArrayColumnString (const ROTableColumn&, const Table&)
- ~TableExprNodeArrayColumnString()
- virtual void replaceTablePtr (const Table&)
- virtual String getElemString (const TableExprId& id, const Slicer& index)
- virtual Array<String> getArrayString (const TableExprId& id)
- virtual Array<String> getSliceString (const TableExprId& id, const Slicer&)
- virtual Array<String> getElemColumnString (const Slicer&)
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
Synopsis
These classes store an array column of type X.
Member Description
Replace the Table pointer in this node.
Interface
- explicit TableExprNodeIndex (const TableExprNodeSet& indices, uInt origin = 0)
- virtual ~TableExprNodeIndex()
- void fillIndex (const TableExprNodeSet& indices)
- void checkIndexValues (const TableExprNodeRep* arrayNode)
- const Slicer& getConstantSlicer() const
- const Slicer& getSlicer (const TableExprId& id)
- Bool isSingle() const
Protected Members
- void convertConstIndex()
- void fillSlicer (const TableExprId& id)
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
Etymology
TableExprNodeIndex is used to store an index.
All the operands must be Double.
Synopsis
TableExprNodeIndex is a derivation of TableExprNodeMulti
expression tree that represents an index.
Motivation
All operands of TableExprNodeIndex must be Double,
therefore it is a derivation of TableExprNodeMulti
To Do
Member Description
explicit TableExprNodeIndex (const TableExprNodeSet& indices, uInt origin = 0)
Constructor
Destructor
Link all the operands and check datatype.
Calculate the IPosition values for the const operands.
Check if the index values match the dimensionality and shape
of fixed-shaped array.
Get the Slicer value for a constant index.
Get the Slicer value for the slice.
Does it index a single element?
Precalculate the constant indices and store them.
Fill the slicer for this row.
Interface
Public Members
- TableExprNodeArrayPart (TableExprNodeRep* arrayNode, TableExprNodeIndex*)
- ~TableExprNodeArrayPart()
- void show (ostream& os, uInt indent) const
- Bool getBool (const TableExprId& id)
- Double getDouble (const TableExprId& id)
- DComplex getDComplex (const TableExprId& id)
- String getString (const TableExprId& id)
- MVTime getDate (const TableExprId& id)
- Array<Bool> getArrayBool (const TableExprId& id)
- Array<Double> getArrayDouble (const TableExprId& id)
- Array<DComplex> getArrayDComplex (const TableExprId& id)
- Array<String> getArrayString (const TableExprId& id)
- Array<MVTime> getArrayDate (const TableExprId& id)
- Bool getColumnDataType (DataType&) const
- Array<Bool> getColumnBool()
- Array<uChar> getColumnuChar()
- Array<Short> getColumnShort()
- Array<uShort> getColumnuShort()
- Array<Int> getColumnInt()
- Array<uInt> getColumnuInt()
- Array<Float> getColumnFloat()
- Array<Double> getColumnDouble()
- Array<Complex> getColumnComplex()
- Array<DComplex> getColumnDComplex()
- Array<String> getColumnString()
- const TableExprNodeIndex* getIndexNode() const
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
- TableExprNode
- TableExprNodeRep
- TableExprNodeBinary
Synopsis
This class handles a part of an array.
It uses a TableExprNodeArray to handle the array
and a TableExprNodeIndex to store the index.
Member Description
void show (ostream& os, uInt indent) const
Show the node.
DComplex getDComplex (const TableExprId& id)
Get the data type of this column (if possible).
It returns with a False status when the index is not constant
(that means that the index can vary with row number).
Get the index node.