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. | |
virtual | ~TableExprNodeIndex () |
Destructor. | |
void | fillIndex (const TableExprNodeSet &indices) |
Link all the operands and check datatype. | |
void | checkIndexValues (const TableExprNodeRep *arrayNode) |
Check if the index values match the dimensionality and shape of fixed-shaped array. | |
const Slicer & | getConstantSlicer () const |
Get the Slicer value for a constant index. | |
const Slicer & | getSlicer (const TableExprId &id) |
Get the Slicer value for the slice. | |
Bool | isSingle () const |
Does it index a single element? | |
Protected Member Functions | |
void | convertConstIndex () |
Precalculate the constant indices and store them. | |
void | fillSlicer (const TableExprId &id) |
Fill the slicer for this row. | |
IPosition | getNodeShape (const TableExprNodeRep *arrayNode) const |
Get the shape of the node involved. | |
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 |
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.
casacore::TableExprNodeIndex::TableExprNodeIndex | ( | const TableExprNodeSet & | indices, | |
const TaQLStyle & | = TaQLStyle(0) | |||
) | [explicit] |
Constructor.
virtual casacore::TableExprNodeIndex::~TableExprNodeIndex | ( | ) | [virtual] |
Destructor.
void casacore::TableExprNodeIndex::checkIndexValues | ( | const TableExprNodeRep * | arrayNode | ) |
Check if the index values match the dimensionality and shape of fixed-shaped array.
void casacore::TableExprNodeIndex::convertConstIndex | ( | ) | [protected] |
Precalculate the constant indices and store them.
void casacore::TableExprNodeIndex::fillIndex | ( | const TableExprNodeSet & | indices | ) |
void casacore::TableExprNodeIndex::fillSlicer | ( | const TableExprId & | id | ) | [protected] |
Fill the slicer for this row.
Referenced by getSlicer().
const Slicer & casacore::TableExprNodeIndex::getConstantSlicer | ( | ) | const [inline] |
Get the Slicer value for a constant index.
Definition at line 846 of file ExprNodeArray.h.
References slicer_p.
IPosition casacore::TableExprNodeIndex::getNodeShape | ( | const TableExprNodeRep * | arrayNode | ) | const [protected] |
Get the shape of the node involved.
Reverse axes if needed.
const Slicer & casacore::TableExprNodeIndex::getSlicer | ( | const TableExprId & | id | ) | [inline] |
Get the Slicer value for the slice.
Definition at line 850 of file ExprNodeArray.h.
References fillSlicer(), casacore::TableExprNodeRep::isConstant(), and slicer_p.
Bool casacore::TableExprNodeIndex::isSingle | ( | ) | const [inline] |
Does it index a single element?
Definition at line 842 of file ExprNodeArray.h.
References isSingle_p.
IPosition casacore::TableExprNodeIndex::end_p [protected] |
Definition at line 745 of file ExprNodeArray.h.
Int casacore::TableExprNodeIndex::endMinus_p [protected] |
Definition at line 742 of file ExprNodeArray.h.
IPosition casacore::TableExprNodeIndex::incr_p [protected] |
Definition at line 746 of file ExprNodeArray.h.
Bool casacore::TableExprNodeIndex::isCOrder_p [protected] |
Definition at line 743 of file ExprNodeArray.h.
Bool casacore::TableExprNodeIndex::isSingle_p [protected] |
Definition at line 749 of file ExprNodeArray.h.
Referenced by isSingle().
Int casacore::TableExprNodeIndex::origin_p [protected] |
Definition at line 741 of file ExprNodeArray.h.
Slicer casacore::TableExprNodeIndex::slicer_p [protected] |
Definition at line 747 of file ExprNodeArray.h.
Referenced by getConstantSlicer(), and getSlicer().
IPosition casacore::TableExprNodeIndex::start_p [protected] |
Definition at line 744 of file ExprNodeArray.h.
Block<Bool> casacore::TableExprNodeIndex::varIndex_p [protected] |
Definition at line 748 of file ExprNodeArray.h.