casa
$Rev:20696$
|
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 655 of file ExprNodeArray.h.
casa::TableExprNodeIndex::TableExprNodeIndex | ( | const TableExprNodeSet & | indices, |
const TaQLStyle & | = TaQLStyle(0) |
||
) | [explicit] |
Constructor.
virtual casa::TableExprNodeIndex::~TableExprNodeIndex | ( | ) | [virtual] |
Destructor.
void casa::TableExprNodeIndex::checkIndexValues | ( | const TableExprNodeRep * | arrayNode | ) |
Check if the index values match the dimensionality and shape of fixed-shaped array.
void casa::TableExprNodeIndex::convertConstIndex | ( | ) | [protected] |
Precalculate the constant indices and store them.
void casa::TableExprNodeIndex::fillIndex | ( | const TableExprNodeSet & | indices | ) |
void casa::TableExprNodeIndex::fillSlicer | ( | const TableExprId & | id | ) | [protected] |
Fill the slicer for this row.
Referenced by getSlicer().
const Slicer & casa::TableExprNodeIndex::getConstantSlicer | ( | ) | const [inline] |
Get the Slicer value for a constant index.
Definition at line 788 of file ExprNodeArray.h.
References slicer_p.
IPosition casa::TableExprNodeIndex::getNodeShape | ( | const TableExprNodeRep * | arrayNode | ) | const [protected] |
Get the shape of the node involved.
Reverse axes if needed.
const Slicer & casa::TableExprNodeIndex::getSlicer | ( | const TableExprId & | id | ) | [inline] |
Get the Slicer value for the slice.
Definition at line 792 of file ExprNodeArray.h.
References fillSlicer(), casa::TableExprNodeRep::isConstant(), and slicer_p.
Bool casa::TableExprNodeIndex::isSingle | ( | ) | const [inline] |
Does it index a single element?
Definition at line 784 of file ExprNodeArray.h.
References isSingle_p.
IPosition casa::TableExprNodeIndex::end_p [protected] |
Definition at line 687 of file ExprNodeArray.h.
Int casa::TableExprNodeIndex::endMinus_p [protected] |
Definition at line 684 of file ExprNodeArray.h.
IPosition casa::TableExprNodeIndex::incr_p [protected] |
Definition at line 688 of file ExprNodeArray.h.
Bool casa::TableExprNodeIndex::isCOrder_p [protected] |
Definition at line 685 of file ExprNodeArray.h.
Bool casa::TableExprNodeIndex::isSingle_p [protected] |
Definition at line 691 of file ExprNodeArray.h.
Referenced by isSingle().
Int casa::TableExprNodeIndex::origin_p [protected] |
Definition at line 683 of file ExprNodeArray.h.
Slicer casa::TableExprNodeIndex::slicer_p [protected] |
Definition at line 689 of file ExprNodeArray.h.
Referenced by getConstantSlicer(), and getSlicer().
IPosition casa::TableExprNodeIndex::start_p [protected] |
Definition at line 686 of file ExprNodeArray.h.
Block<Bool> casa::TableExprNodeIndex::varIndex_p [protected] |
Definition at line 690 of file ExprNodeArray.h.