|
casacore
|
The index of an array element in a table select expression. More...
#include <ExprNodeArray.h>
Public Member Functions | |
| TableExprNodeIndex (const TableExprNodeSet &indices, const TaQLStyle &=TaQLStyle(0)) | |
| Constructor. More... | |
| virtual | ~TableExprNodeIndex () |
| Destructor. More... | |
| void | fillIndex (const TableExprNodeSet &indices) |
| Link all the operands and check datatype. More... | |
| void | checkIndexValues (const TableExprNodeRep *arrayNode) |
| Check if the index values match the dimensionality and shape of fixed-shaped array. More... | |
| const Slicer & | getConstantSlicer () const |
| Get the Slicer value for a constant index. More... | |
| const Slicer & | getSlicer (const TableExprId &id) |
| Get the Slicer value for the slice. More... | |
| Bool | isSingle () const |
| Does it index a single element? More... | |
Public Member Functions inherited from casacore::TableExprNodeMulti | |
| TableExprNodeMulti (NodeDataType, ValueType, OperType, const TableExprNodeRep &source) | |
| Constructor. More... | |
| virtual | ~TableExprNodeMulti () |
| Destructor. More... | |
| virtual void | show (ostream &, uInt indent) const |
| Show the expression tree. More... | |
| virtual void | getAggrNodes (vector< TableExprNodeRep *> &aggr) |
| Get the nodes representing an aggregate function. More... | |
| virtual void | getColumnNodes (vector< TableExprNodeRep *> &cols) |
| Get the nodes representing a table column. More... | |
| const PtrBlock< TableExprNodeRep * > & | getChildren () const |
| Get the child nodes. More... | |
Public Member Functions inherited from casacore::TableExprNodeRep | |
| TableExprNodeRep (NodeDataType, ValueType, OperType, ArgType, ExprType, Int ndim, const IPosition &shape, const Table &table) | |
| Construct a node. More... | |
| TableExprNodeRep (NodeDataType, ValueType, OperType, const Table &) | |
| This constructor is called from the derived TableExprNodeRep. More... | |
| TableExprNodeRep (const TableExprNodeRep &) | |
| Copy constructor. More... | |
| virtual | ~TableExprNodeRep () |
| The destructor deletes all the underlying TableExprNode objects. More... | |
| TableExprNodeRep * | link () |
| Link to this object, i.e. More... | |
| virtual void | disableApplySelection () |
| Do not apply the selection. More... | |
| virtual void | applySelection (const Vector< uInt > &rownrs) |
| Re-create the column object for a selection of rows. More... | |
| virtual Double | getUnitFactor () const |
| Get the unit conversion factor. More... | |
| virtual CountedPtr< TableExprGroupFuncBase > | makeGroupAggrFunc () |
| Create the correct immediate aggregate function object. More... | |
| virtual Bool | isLazyAggregate () const |
| Is the aggregate function a lazy or an immediate one? The default implementation returns True (because all UDF aggregate functions have to be lazy). More... | |
| virtual Bool | getBool (const TableExprId &id) |
| Get a scalar value for this node in the given row. More... | |
| virtual Int64 | getInt (const TableExprId &id) |
| virtual Double | getDouble (const TableExprId &id) |
| virtual DComplex | getDComplex (const TableExprId &id) |
| virtual String | getString (const TableExprId &id) |
| virtual TaqlRegex | getRegex (const TableExprId &id) |
| virtual MVTime | getDate (const TableExprId &id) |
| virtual MArray< Bool > | getArrayBool (const TableExprId &id) |
| Get an array value for this node in the given row. More... | |
| virtual MArray< Int64 > | getArrayInt (const TableExprId &id) |
| virtual MArray< Double > | getArrayDouble (const TableExprId &id) |
| virtual MArray< DComplex > | getArrayDComplex (const TableExprId &id) |
| virtual MArray< String > | getArrayString (const TableExprId &id) |
| virtual MArray< MVTime > | getArrayDate (const TableExprId &id) |
| void | get (const TableExprId &id, Bool &value) |
| General get functions for template purposes. More... | |
| void | get (const TableExprId &id, Int64 &value) |
| void | get (const TableExprId &id, Double &value) |
| void | get (const TableExprId &id, DComplex &value) |
| void | get (const TableExprId &id, MVTime &value) |
| void | get (const TableExprId &id, String &value) |
| void | get (const TableExprId &id, MArray< Bool > &value) |
| void | get (const TableExprId &id, MArray< Int64 > &value) |
| void | get (const TableExprId &id, MArray< Double > &value) |
| void | get (const TableExprId &id, MArray< DComplex > &value) |
| void | get (const TableExprId &id, MArray< MVTime > &value) |
| void | get (const TableExprId &id, MArray< String > &value) |
| MArray< Bool > | getBoolAS (const TableExprId &id) |
| Get a value as an array, even it it is a scalar. More... | |
| MArray< Int64 > | getIntAS (const TableExprId &id) |
| MArray< Double > | getDoubleAS (const TableExprId &id) |
| MArray< DComplex > | getDComplexAS (const TableExprId &id) |
| MArray< String > | getStringAS (const TableExprId &id) |
| MArray< MVTime > | getDateAS (const TableExprId &id) |
| virtual Bool | hasBool (const TableExprId &id, Bool value) |
| Does a value occur in an array or set? The default implementation tests if it is in an array. More... | |
| 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) |
| uInt | nrow () const |
| Get the number of rows in the table associated with this expression. More... | |
| virtual Bool | getColumnDataType (DataType &) const |
| Get the data type of the column. More... | |
| virtual Array< Bool > | getColumnBool (const Vector< uInt > &rownrs) |
| Get the value of the expression evaluated for the entire column. More... | |
| virtual Array< uChar > | getColumnuChar (const Vector< uInt > &rownrs) |
| virtual Array< Short > | getColumnShort (const Vector< uInt > &rownrs) |
| virtual Array< uShort > | getColumnuShort (const Vector< uInt > &rownrs) |
| virtual Array< Int > | getColumnInt (const Vector< uInt > &rownrs) |
| virtual Array< uInt > | getColumnuInt (const Vector< uInt > &rownrs) |
| virtual Array< Float > | getColumnFloat (const Vector< uInt > &rownrs) |
| virtual Array< Double > | getColumnDouble (const Vector< uInt > &rownrs) |
| virtual Array< Complex > | getColumnComplex (const Vector< uInt > &rownrs) |
| virtual Array< DComplex > | getColumnDComplex (const Vector< uInt > &rownrs) |
| virtual Array< String > | getColumnString (const Vector< uInt > &rownrs) |
| virtual void | ranges (Block< TableExprRange > &) |
| Convert the tree to a number of range vectors which at least select the same things. More... | |
| NodeDataType | dataType () const |
| Get the data type of the derived TableExprNode object. More... | |
| Bool | isReal () const |
| Is the data type real (i.e., integer or double)? More... | |
| ValueType | valueType () const |
| Get the value type. More... | |
| void | setValueType (ValueType vtype) |
| Set the value type. More... | |
| OperType | operType () const |
| Get the operator type. More... | |
| ExprType | exprType () const |
| Get the expression type. More... | |
| Bool | isConstant () const |
| Is the expression a constant? More... | |
| const Unit & | unit () const |
| Get the unit. More... | |
| void | setUnit (const Unit &unit) |
| Set the unit. More... | |
| Int | ndim () const |
| Get the fixed dimensionality (same for all rows). More... | |
| const IPosition & | shape () const |
| Get the fixed shape (same for all rows). More... | |
| const IPosition & | shape (const TableExprId &id) |
| Get the shape for the given row. More... | |
| virtual Bool | isDefined (const TableExprId &id) |
| Is the value in the given row defined? The default implementation returns True. More... | |
| Table & | table () |
| Get table. More... | |
| const Table & | table () const |
| virtual void | adaptSetUnits (const Unit &) |
| Let a set node convert itself to the given unit. More... | |
Protected Member Functions | |
| void | convertConstIndex () |
| Precalculate the constant indices and store them. More... | |
| void | fillSlicer (const TableExprId &id) |
| Fill the slicer for this row. More... | |
| IPosition | getNodeShape (const TableExprNodeRep *arrayNode) const |
| Get the shape of the node involved. More... | |
Protected Member Functions inherited from casacore::TableExprNodeRep | |
| virtual const IPosition & | getShape (const TableExprId &id) |
| Get the shape for the given row. More... | |
| virtual void | convertConstChild () |
| When one of the children is a constant, convert its data type to that of the other operand. More... | |
| void | checkTablePtr (const TableExprNodeRep *node) |
| Check if this node uses the same table pointer. More... | |
| void | fillExprType (const TableExprNodeRep *node) |
| Set expression type to Variable if node is Variable. More... | |
Protected Attributes | |
| Int | origin_p |
| Int | endMinus_p |
| Bool | isCOrder_p |
| IPosition | start_p |
| IPosition | end_p |
| IPosition | incr_p |
| Slicer | slicer_p |
| Block< Bool > | varIndex_p |
| Bool | isSingle_p |
Protected Attributes inherited from casacore::TableExprNodeMulti | |
| PtrBlock< TableExprNodeRep * > | operands_p |
Protected Attributes inherited from casacore::TableExprNodeRep | |
| uInt | count_p |
| Table | table_p |
| NodeDataType | dtype_p |
| ValueType | vtype_p |
| OperType | optype_p |
| ArgType | argtype_p |
| ExprType | exprtype_p |
| Int | ndim_p |
| IPosition | shape_p |
| Unit | unit_p |
Additional Inherited Members | |
Public Types inherited from casacore::TableExprNodeRep | |
| enum | NodeDataType { NTBool, NTInt, NTDouble, NTComplex, NTString, NTRegex, NTDate, NTReal, NTDouCom, NTNumeric, NTAny } |
| Define the data types of a node. More... | |
| enum | ValueType { VTScalar, VTArray, VTRecord, VTSetElem, VTSet, VTIndex } |
| Define the value types. More... | |
| enum | OperType { OtPlus, OtMinus, OtTimes, OtDivide, OtModulo, OtBitAnd, OtBitOr, OtBitXor, OtBitNegate, OtEQ, OtGE, OtGT, OtNE, OtIN, OtAND, OtOR, OtNOT, OtMIN, OtColumn, OtField, OtLiteral, OtFunc, OtSlice, OtUndef, OtRownr, OtRandom } |
| Define the operator types. More... | |
| enum | ArgType { NoArr, ArrArr, ArrSca, ScaArr } |
| Define the value types of the 2 arguments when arrays are involved. More... | |
| enum | ExprType { Constant, Variable } |
| Define (sub-)expression type. More... | |
Static Public Member Functions inherited from casacore::TableExprNodeMulti | |
| static uInt | checkNumOfArg (uInt low, uInt high, const PtrBlock< TableExprNodeRep *> &nodes) |
| Check number of arguments low <= number_of_args <= high It throws an exception if wrong number of arguments. More... | |
| static NodeDataType | checkDT (Block< Int > &dtypeOper, NodeDataType dtIn, NodeDataType dtOut, const PtrBlock< TableExprNodeRep *> &nodes) |
| Check datatype of nodes and return output type. More... | |
Static Public Member Functions inherited from casacore::TableExprNodeRep | |
| static void | unlink (TableExprNodeRep *) |
| Unlink from the given object. More... | |
| static void | checkAggrFuncs (const TableExprNodeRep *node) |
| Throw an exception if an aggregate function is used in the expression node. More... | |
| static void | createRange (Block< TableExprRange > &, TableExprNodeColumn *, Double start, Double end) |
| Create a range object from a column and an interval. More... | |
| static void | createRange (Block< TableExprRange > &) |
| Create a empty range object. More... | |
| static String | typeString (NodeDataType) |
| Convert a NodeDataType to a string. More... | |
| static String | typeString (ValueType) |
| Convert a ValueType to a string. More... | |
Static Protected Member Functions inherited from casacore::TableExprNodeRep | |
| static TableExprNodeRep * | getRep (TableExprNode &) |
| Get pointer to REPresentation object. More... | |
| static void | checkTablePtr (Table &table, const TableExprNodeRep *node) |
| static void | fillExprType (ExprType &, const TableExprNodeRep *node) |
| static TableExprNodeRep * | convertNode (TableExprNodeRep *thisNode, Bool convertConstType) |
| When the node is constant, it is evaluated and replaced by the appropriate TableExprNodeConst object. More... | |
The index of an array element in a table select expression.
Internal
TableExprNodeIndex is used to store an index. All the operands must be Int.
TableExprNodeIndex is a derivation of TableExprNodeMulti expression tree that represents an index.
All operands of TableExprNodeIndex must be Int, therefore it is a derivation of TableExprNodeMulti.
Definition at line 713 of file ExprNodeArray.h.
|
explicit |
Constructor.
|
virtual |
Destructor.
| void casacore::TableExprNodeIndex::checkIndexValues | ( | const TableExprNodeRep * | arrayNode | ) |
Check if the index values match the dimensionality and shape of fixed-shaped array.
|
protected |
Precalculate the constant indices and store them.
| void casacore::TableExprNodeIndex::fillIndex | ( | const TableExprNodeSet & | indices | ) |
|
protected |
Fill the slicer for this row.
|
inline |
Get the Slicer value for a constant index.
Definition at line 846 of file ExprNodeArray.h.
|
protected |
Get the shape of the node involved.
Reverse axes if needed.
|
inline |
Get the Slicer value for the slice.
Definition at line 850 of file ExprNodeArray.h.
References casacore::TableExprNodeRep::isConstant().
|
inline |
Does it index a single element?
Definition at line 842 of file ExprNodeArray.h.
|
protected |
Definition at line 745 of file ExprNodeArray.h.
|
protected |
Definition at line 742 of file ExprNodeArray.h.
|
protected |
Definition at line 746 of file ExprNodeArray.h.
|
protected |
Definition at line 743 of file ExprNodeArray.h.
|
protected |
Definition at line 749 of file ExprNodeArray.h.
|
protected |
Definition at line 741 of file ExprNodeArray.h.
|
protected |
Definition at line 747 of file ExprNodeArray.h.
|
protected |
Definition at line 744 of file ExprNodeArray.h.
Definition at line 748 of file ExprNodeArray.h.
1.8.12