casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Protected Attributes
casa::TableExprNodeIndex Class Reference

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

#include <ExprNodeArray.h>

Inheritance diagram for casa::TableExprNodeIndex:
casa::TableExprNodeMulti casa::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 655 of file ExprNodeArray.h.


Constructor & Destructor Documentation

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

Constructor.

Destructor.


Member Function Documentation

Check if the index values match the dimensionality and shape of fixed-shaped array.

Precalculate the constant indices and store them.

Link all the operands and check datatype.

Calculate the IPosition values for the const operands.

void casa::TableExprNodeIndex::fillSlicer ( const TableExprId id) [protected]

Fill the slicer for this row.

Referenced by getSlicer().

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.

Does it index a single element?

Definition at line 784 of file ExprNodeArray.h.

References isSingle_p.


Member Data Documentation

Definition at line 687 of file ExprNodeArray.h.

Definition at line 684 of file ExprNodeArray.h.

Definition at line 688 of file ExprNodeArray.h.

Definition at line 685 of file ExprNodeArray.h.

Definition at line 691 of file ExprNodeArray.h.

Referenced by isSingle().

Definition at line 683 of file ExprNodeArray.h.

Definition at line 689 of file ExprNodeArray.h.

Referenced by getConstantSlicer(), and getSlicer().

Definition at line 686 of file ExprNodeArray.h.

Definition at line 690 of file ExprNodeArray.h.


The documentation for this class was generated from the following file: