casacore::TableExprNodeIndex Class Reference

The index of an array element in a table select expression. More...

#include <ExprNodeArray.h>

Inheritance diagram for casacore::TableExprNodeIndex:
casacore::TableExprNodeMulti casacore::TableExprNodeRep

List of all members.

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 SlicergetConstantSlicer () const
 Get the Slicer value for a constant index.
const SlicergetSlicer (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< BoolvarIndex_p
Bool isSingle_p

Detailed Description

The index of an array element in a table select expression.

Intended use:

Internal

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25

Prerequisite

Etymology

TableExprNodeIndex is used to store an index. All the operands must be Int.

Synopsis

TableExprNodeIndex is a derivation of TableExprNodeMulti expression tree that represents an index.

Motivation

All operands of TableExprNodeIndex must be Int, therefore it is a derivation of TableExprNodeMulti.

To Do

Definition at line 713 of file ExprNodeArray.h.


Constructor & Destructor Documentation

casacore::TableExprNodeIndex::TableExprNodeIndex ( const TableExprNodeSet indices,
const TaQLStyle = TaQLStyle(0) 
) [explicit]

Constructor.

virtual casacore::TableExprNodeIndex::~TableExprNodeIndex (  )  [virtual]

Destructor.


Member Function Documentation

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  ) 

Link all the operands and check datatype.

Calculate the IPosition values for the const operands.

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.


Member Data Documentation

Definition at line 745 of file ExprNodeArray.h.

Definition at line 742 of file ExprNodeArray.h.

Definition at line 746 of file ExprNodeArray.h.

Definition at line 743 of file ExprNodeArray.h.

Definition at line 749 of file ExprNodeArray.h.

Referenced by isSingle().

Definition at line 741 of file ExprNodeArray.h.

Definition at line 747 of file ExprNodeArray.h.

Referenced by getConstantSlicer(), and getSlicer().

Definition at line 744 of file ExprNodeArray.h.

Definition at line 748 of file ExprNodeArray.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1