Loading...
Searching...
No Matches
casacore::TableExprNodeSet Class Reference
tables package (libcasa_tables) » TaQL_module

More...

`#include <ExprNodeSet.h>`

## Public Member Functions

| TableExprNodeSet ()
| Construct an empty set.
| TableExprNodeSet (const IPosition &)
| Construct from an IPosition.
| TableExprNodeSet (const Slicer &)
| Construct from a Slicer.
| TableExprNodeSet (const Vector< rownr_t > &rownrs, const TableExprNodeSet &)
| Construct a set with n*set.size() elements where n is the number of rows.
| TableExprNodeSet (const TableExprNodeSet &)
| ~TableExprNodeSet ()
TableExprNodeSet & | operator= (const TableExprNodeSet &)=delete
| A copy of a TableExprNodeSet cannot be assigned.
void | add (const TENSEBShPtr &, Bool adaptType=False)
| Add an element to the set.
void | add (const TableExprNodeSetElem &elem, Bool adaptType=False)
void | show (ostream &os, uInt indent) const override
| Show the node.
virtual void | flattenTree (std::vector< TableExprNodeRep * > &) override
| Flatten the node tree by adding the node and its children to the vector.
void | checkEqualDataTypes () const
| Check if the data type of the set elements are the same.
Bool | isSingle () const
| Contains the set only single elements?
Bool | isDiscrete () const
| Contains the set only discrete elements?
Bool | isBounded () const
| Is the set fully bounded (discrete and no undefined end values)?
size_t | size () const
| Get the number of elements.
size_t | nelements () const
| For backward compatibility.
const TENSEBShPtr & | operator[] (size_t index) const
| Get the i-th element.
Bool | hasArrays () const
| Contains the set array values?
TENShPtr | setOrArray () const
| Try to convert the set to an array.
template<typename T>
MArray< T > | toArray (const TableExprId &id) const
MArray< Bool > | getArrayBool (const TableExprId &id) override
| Get an array value for this bounded set in the given row.
MArray< Int64 > | getArrayInt (const TableExprId &id) override
MArray< Double > | getArrayDouble (const TableExprId &id) override
MArray< DComplex > | getArrayDComplex (const TableExprId &id) override
MArray< String > | getArrayString (const TableExprId &id) override
MArray< MVTime > | getArrayDate (const TableExprId &id) override
Bool | contains (const TableExprId &id, Bool value) override
| Does a value occur in the set?
Bool | contains (const TableExprId &id, Int64 value) override
Bool | contains (const TableExprId &id, Double value) override
Bool | contains (const TableExprId &id, DComplex value) override
Bool | contains (const TableExprId &id, String value) override
Bool | contains (const TableExprId &id, MVTime value) override
MArray< Bool > | contains (const TableExprId &id, const MArray< Bool > &value) override
MArray< Bool > | contains (const TableExprId &id, const MArray< Int64 > &value) override
MArray< Bool > | contains (const TableExprId &id, const MArray< Double > &value) override
MArray< Bool > | contains (const TableExprId &id, const MArray< DComplex > &value) override
MArray< Bool > | contains (const TableExprId &id, const MArray< String > &value) override
MArray< Bool > | contains (const TableExprId &id, const MArray< MVTime > &value) override
Bool | contains (const TableExprId &id, int value)
| Useful to make overloading clearer (mainly for test programs).
Bool | contains (const TableExprId &id, const char *value)
void | adaptSetUnits (const Unit &) override
| Let a set node convert itself to the given unit.
void | setShape ()
| Try to set the set's shape for a bounded set with single elements.
Public Member Functions inherited from casacore::TableExprNodeRep
| TableExprNodeRep (NodeDataType, ValueType, OperType, ArgType, ExprType, Int ndim, const IPosition &shape)
| Construct a node.
| TableExprNodeRep (NodeDataType, ValueType, OperType, ExprType)
| This constructor is called from the derived TableExprNodeRep.
| TableExprNodeRep (const TableExprNodeRep &)=default
| Copy constructor.
TableExprNodeRep & | operator= (const TableExprNodeRep &)=delete
| Assign to a TableExprNodeRep cannot be done.
virtual | ~TableExprNodeRep ()=default
| The destructor deletes all the underlying TableExprNode objects.
virtual Bool | isAggregate () const
| Is the node an aggegation node.
virtual TableExprInfo | getTableInfo () const
| Get the table info.
virtual void | optimize ()
| Try to optimize the node (meant for the right hand of the IN operator).
virtual void | disableApplySelection ()
| Do not apply the selection.
virtual void | applySelection (const Vector< rownr_t > &rownrs)
| Re-create the column object for a selection of rows.
virtual Double | getUnitFactor () const
| Get the unit conversion factor.
virtual std::shared_ptr< TableExprGroupFuncBase > | makeGroupAggrFunc ()
| Create the correct immediate aggregate function object.
virtual Bool | isLazyAggregate () const
| Is the aggregate function a lazy or an immediate one?
virtual Bool | getBool (const TableExprId &id)
| Get a scalar value for this node in the given row.
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)
void | get (const TableExprId &id, Bool &value)
| General get functions for template purposes.
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.
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)
rownr_t | nrow ()
| Get the number of rows in the table associated with this expression.
virtual Bool | getColumnDataType (DataType &) const
| Get the data type of the column.
virtual Array< Bool > | getColumnBool (const Vector< rownr_t > &rownrs)
| Get the value of the expression evaluated for the entire column.
virtual Array< uChar > | getColumnuChar (const Vector< rownr_t > &rownrs)
virtual Array< Short > | getColumnShort (const Vector< rownr_t > &rownrs)
virtual Array< uShort > | getColumnuShort (const Vector< rownr_t > &rownrs)
virtual Array< Int > | getColumnInt (const Vector< rownr_t > &rownrs)
virtual Array< uInt > | getColumnuInt (const Vector< rownr_t > &rownrs)
virtual Array< Int64 > | getColumnInt64 (const Vector< rownr_t > &rownrs)
virtual Array< Float > | getColumnFloat (const Vector< rownr_t > &rownrs)
virtual Array< Double > | getColumnDouble (const Vector< rownr_t > &rownrs)
virtual Array< Complex > | getColumnComplex (const Vector< rownr_t > &rownrs)
virtual Array< DComplex > | getColumnDComplex (const Vector< rownr_t > &rownrs)
virtual Array< String > | getColumnString (const Vector< rownr_t > &rownrs)
virtual void | ranges (Block< TableExprRange > &)
| Convert the tree to a number of range vectors which at least select the same things.
NodeDataType | dataType () const
| Get the data type of the derived TableExprNode object.
Bool | isReal () const
| Is the data type real (i.e., integer or double)?
ValueType | valueType () const
| Get the value type.
void | setValueType (ValueType vtype)
| Set the value type.
OperType | operType () const
| Get the operator type.
ExprType | exprType () const
| Get the expression type.
Bool | isConstant () const
| Is the expression a constant?
const Unit & | unit () const
| Get the unit.
void | setUnit (const Unit &unit)
| Set the unit.
const Record & | attributes () const
| Get the attributes.
void | setAttributes (const Record &)
| Set the attributes.
Int | ndim () const
| Get the fixed dimensionality (same for all rows).
const IPosition & | shape () const
| Get the fixed shape (same for all rows).
const IPosition & | shape (const TableExprId &id)
| Get the shape for the given row.
virtual Bool | isDefined (const TableExprId &id)
| Is the value in the given row defined?

## Private Member Functions

TENShPtr | toConstArray () const
| Convert the const set to an array.
void | getArray (MArray< Bool > &marr, const TENShPtr &node, const TableExprId &id) const
| Get the array in a templated way.
void | getArray (MArray< Int64 > &marr, const TENShPtr &node, const TableExprId &id) const
void | getArray (MArray< Double > &marr, const TENShPtr &node, const TableExprId &id) const
void | getArray (MArray< DComplex > &marr, const TENShPtr &node, const TableExprId &id) const
void | getArray (MArray< String > &marr, const TENShPtr &node, const TableExprId &id) const
void | getArray (MArray< MVTime > &marr, const TENShPtr &node, const TableExprId &id) const

## Private Attributes

std::vector< TENSEBShPtr > | itsElems
Bool | itsSingle
Bool | itsDiscrete
Bool | itsBounded
Bool | itsCheckTypes

## 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::TableExprNodeRep
static TENShPtr | replaceConstNode (const TENShPtr &node)
| Replace a node with a constant expression by node with its value.
static void | createRange (Block< TableExprRange > &, TableExprNodeColumn *, Double start, Double end)
| Create a range object from a column and an interval.
static void | createRange (Block< TableExprRange > &)
| Create a empty range object.
static String | typeString (NodeDataType)
| Convert a NodeDataType to a string.
static String | typeString (ValueType)
| Convert a ValueType to a string.
Protected Member Functions inherited from casacore::TableExprNodeRep
virtual const IPosition & | getShape (const TableExprId &id)
| Get the shape for the given row.
void | fillExprType (const TableExprNodeRep *node)
| Set expression type to Variable if node is Variable.
Static Protected Member Functions inherited from casacore::TableExprNodeRep
static TENShPtr | convertNode (const TENShPtr &thisNode, Bool convertConstType)
| If the node is constant, it is evaluated and replaced by the appropriate TableExprNodeConst object.
Protected Attributes inherited from casacore::TableExprNodeRep
NodeDataType | dtype_p
ValueType | vtype_p
OperType | optype_p
ArgType | argtype_p
ExprType | exprtype_p
Int | ndim_p
IPosition | shape_p
Unit | unit_p
Record | attributes_p

## Detailed Description

Class to hold multiple table expression nodes.

### Intended use:

Public interface

### Review Status

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

### Prerequisite

- TableExprNode
- TableExprNodeRep
- TableExprNodeBinary

### Synopsis

This class is used to assemble several table expression nodes. It is used for 3 purposes:

1. To hold the arguments of a function. All set elements must be single.
2. To hold the variables of an index for an array slice. All set elements must be of type int scalar and they must represent a discrete interval (which includes single).
3. To hold the elements of a set used with the IN operator. All set elements must be scalars of any type.

The type of all set elements has to be the same. The set consists of TableExprNodeSetElem elements. The add function has to be used to add an element to the set.

It is possible to construct the object directly from an IPosition object. In that case all elements are single. Furthermore it is possible to construct it directly from a Slicer object. In that case all elements represent a discrete interval.

Definition at line 86 of file ExprNodeSet.h.

## Constructor & Destructor Documentation

## TableExprNodeSet() [1/5]

casacore::TableExprNodeSet::TableExprNodeSet | ( |  | ) |

Construct an empty set.

Referenced by operator=(), TableExprNodeSet(), and TableExprNodeSet().

## TableExprNodeSet() [2/5]

casacore::TableExprNodeSet::TableExprNodeSet | ( | const IPosition & |  | ) |

Construct from an IPosition.

The number of elements in the set is the number of elements in the IPosition. All set elements are single values.

## TableExprNodeSet() [3/5]

casacore::TableExprNodeSet::TableExprNodeSet | ( | const Slicer & |  | ) |

Construct from a Slicer.

The number of elements in the set is the dimensionality of the Slicer. All set elements are discrete intervals. Their start and/or end is undefined if it is was not defined (i.e. Slicer::MimicSource used) in the Slicer object.

## TableExprNodeSet() [4/5]

casacore::TableExprNodeSet::TableExprNodeSet | ( | const Vector< rownr_t > & | rownrs,
|  | const TableExprNodeSet & | )

Construct a set with n*set.size() elements where n is the number of rows.

Element i is constructed by evaluating the input element for row rownr[i].

References TableExprNodeSet().

## TableExprNodeSet() [5/5]

casacore::TableExprNodeSet::TableExprNodeSet | ( | const TableExprNodeSet & |  | ) |

References TableExprNodeSet().

## ~TableExprNodeSet()

casacore::TableExprNodeSet::~TableExprNodeSet | ( |  | ) |

## Member Function Documentation

## adaptSetUnits()

void casacore::TableExprNodeSet::adaptSetUnits | ( | const Unit & |  | ) |

override virtual

Let a set node convert itself to the given unit.

Reimplemented from casacore::TableExprNodeRep.

## add() [1/2]

void casacore::TableExprNodeSet::add | ( | const TableExprNodeSetElem & | elem,
|  | Bool | adaptType = False )

inline

Definition at line 125 of file ExprNodeSet.h.

References add(), casacore::False, and casacore::TableExprNodeSetElem::getElem().

## add() [2/2]

void casacore::TableExprNodeSet::add | ( | const TENSEBShPtr & | ,
|  | Bool | adaptType = False )

Add an element to the set.

If adaptType=True, the data type is the highest of the elements added. Otherwise it is that of the first element. True is meant for a set of values, False for function arguments.
A constant mid-width interval is added as a normal interval. In this way constant intervals can never be mid-width which makes optimization easier.

References casacore::False.

Referenced by add().

## checkEqualDataTypes()

void casacore::TableExprNodeSet::checkEqualDataTypes | ( |  | ) | const

Check if the data type of the set elements are the same.

If not, an exception is thrown.

## contains() [1/14]

Bool casacore::TableExprNodeSet::contains | ( | const TableExprId & | id,
|  | Bool | value )

override virtual

Does a value occur in the set?

Reimplemented from casacore::TableExprNodeRep.

References casacore::NewDelAllocator< T >::value.

Referenced by contains(), and contains().

## contains() [2/14]

Bool casacore::TableExprNodeSet::contains | ( | const TableExprId & | id,
|  | const char * | value )

inline

Definition at line 205 of file ExprNodeSet.h.

References contains(), and casacore::NewDelAllocator< T >::value.

## contains() [3/14]

MArray< Bool > casacore::TableExprNodeSet::contains | ( | const TableExprId & | id,
|  | const MArray< Bool > & | value )

override virtual

Reimplemented from casacore::TableExprNodeRep.

References casacore::NewDelAllocator< T >::value.

## contains() [4/14]

MArray< Bool > casacore::TableExprNodeSet::contains | ( | const TableExprId & | id,
|  | const MArray< DComplex > & | value )

override virtual

Reimplemented from casacore::TableExprNodeRep.

References casacore::NewDelAllocator< T >::value.

## contains() [5/14]

MArray< Bool > casacore::TableExprNodeSet::contains | ( | const TableExprId & | id,
|  | const MArray< Double > & | value )

override virtual

Reimplemented from casacore::TableExprNodeRep.

References casacore::NewDelAllocator< T >::value.

## contains() [6/14]

MArray< Bool > casacore::TableExprNodeSet::contains | ( | const TableExprId & | id,
|  | const MArray< Int64 > & | value )

override virtual

Reimplemented from casacore::TableExprNodeRep.

References casacore::NewDelAllocator< T >::value.

## contains() [7/14]

MArray< Bool > casacore::TableExprNodeSet::contains | ( | const TableExprId & | id,
|  | const MArray< MVTime > & | value )

override virtual

Reimplemented from casacore::TableExprNodeRep.

References casacore::NewDelAllocator< T >::value.

## contains() [8/14]

MArray< Bool > casacore::TableExprNodeSet::contains | ( | const TableExprId & | id,
|  | const MArray< String > & | value )

override virtual

Reimplemented from casacore::TableExprNodeRep.

References casacore::NewDelAllocator< T >::value.

## contains() [9/14]

Bool casacore::TableExprNodeSet::contains | ( | const TableExprId & | id,
|  | DComplex | value )

override virtual

Reimplemented from casacore::TableExprNodeRep.

References casacore::NewDelAllocator< T >::value.

## contains() [10/14]

Bool casacore::TableExprNodeSet::contains | ( | const TableExprId & | id,
|  | Double | value )

override virtual

Reimplemented from casacore::TableExprNodeRep.

References casacore::NewDelAllocator< T >::value.

## contains() [11/14]

Bool casacore::TableExprNodeSet::contains | ( | const TableExprId & | id,
|  | int | value )

inline

Useful to make overloading clearer (mainly for test programs).

Definition at line 203 of file ExprNodeSet.h.

References contains(), and casacore::NewDelAllocator< T >::value.

## contains() [12/14]

Bool casacore::TableExprNodeSet::contains | ( | const TableExprId & | id,
|  | Int64 | value )

override virtual

Reimplemented from casacore::TableExprNodeRep.

References casacore::NewDelAllocator< T >::value.

## contains() [13/14]

Bool casacore::TableExprNodeSet::contains | ( | const TableExprId & | id,
|  | MVTime | value )

override virtual

Reimplemented from casacore::TableExprNodeRep.

References casacore::NewDelAllocator< T >::value.

## contains() [14/14]

Bool casacore::TableExprNodeSet::contains | ( | const TableExprId & | id,
|  | String | value )

override virtual

Reimplemented from casacore::TableExprNodeRep.

References casacore::NewDelAllocator< T >::value.

## flattenTree()

virtual void casacore::TableExprNodeSet::flattenTree | ( | std::vector< TableExprNodeRep * > & |  | ) |

override virtual

Flatten the node tree by adding the node and its children to the vector.

Reimplemented from casacore::TableExprNodeRep.

## getArray() [1/6]

void casacore::TableExprNodeSet::getArray | ( | MArray< Bool > & | marr,
|  | const TENShPtr & | node,
|  | const TableExprId & | id ) const

inline private

Get the array in a templated way.

Definition at line 220 of file ExprNodeSet.h.

References casacore::MArray< T >::reference().

Referenced by toArray().

## getArray() [2/6]

void casacore::TableExprNodeSet::getArray | ( | MArray< DComplex > & | marr,
|  | const TENShPtr & | node,
|  | const TableExprId & | id ) const

inline private

Definition at line 229 of file ExprNodeSet.h.

References casacore::MArray< T >::reference().

## getArray() [3/6]

void casacore::TableExprNodeSet::getArray | ( | MArray< Double > & | marr,
|  | const TENShPtr & | node,
|  | const TableExprId & | id ) const

inline private

Definition at line 226 of file ExprNodeSet.h.

References casacore::MArray< T >::reference().

## getArray() [4/6]

void casacore::TableExprNodeSet::getArray | ( | MArray< Int64 > & | marr,
|  | const TENShPtr & | node,
|  | const TableExprId & | id ) const

inline private

Definition at line 223 of file ExprNodeSet.h.

References casacore::MArray< T >::reference().

## getArray() [5/6]

void casacore::TableExprNodeSet::getArray | ( | MArray< MVTime > & | marr,
|  | const TENShPtr & | node,
|  | const TableExprId & | id ) const

inline private

Definition at line 235 of file ExprNodeSet.h.

References casacore::MArray< T >::reference().

## getArray() [6/6]

void casacore::TableExprNodeSet::getArray | ( | MArray< String > & | marr,
|  | const TENShPtr & | node,
|  | const TableExprId & | id ) const

inline private

Definition at line 232 of file ExprNodeSet.h.

References casacore::MArray< T >::reference().

## getArrayBool()

MArray< Bool > casacore::TableExprNodeSet::getArrayBool | ( | const TableExprId & | id | ) |

override virtual

Get an array value for this bounded set in the given row.

Reimplemented from casacore::TableExprNodeRep.

## getArrayDate()

MArray< MVTime > casacore::TableExprNodeSet::getArrayDate | ( | const TableExprId & | id | ) |

override virtual

Reimplemented from casacore::TableExprNodeRep.

## getArrayDComplex()

MArray< DComplex > casacore::TableExprNodeSet::getArrayDComplex | ( | const TableExprId & | id | ) |

override virtual

Reimplemented from casacore::TableExprNodeRep.

## getArrayDouble()

MArray< Double > casacore::TableExprNodeSet::getArrayDouble | ( | const TableExprId & | id | ) |

override virtual

Reimplemented from casacore::TableExprNodeRep.

## getArrayInt()

MArray< Int64 > casacore::TableExprNodeSet::getArrayInt | ( | const TableExprId & | id | ) |

override virtual

Reimplemented from casacore::TableExprNodeRep.

## getArrayString()

MArray< String > casacore::TableExprNodeSet::getArrayString | ( | const TableExprId & | id | ) |

override virtual

Reimplemented from casacore::TableExprNodeRep.

## hasArrays()

Bool casacore::TableExprNodeSet::hasArrays | ( |  | ) | const

Contains the set array values?

Referenced by toArray().

## isBounded()

Bool casacore::TableExprNodeSet::isBounded | ( |  | ) | const

inline

Is the set fully bounded (discrete and no undefined end values)?

Definition at line 257 of file ExprNodeSet.h.

References itsBounded.

## isDiscrete()

Bool casacore::TableExprNodeSet::isDiscrete | ( |  | ) | const

inline

Contains the set only discrete elements?

Discrete means that no continuous ranges are given, but discrete ranges (using :) are possible.

Definition at line 253 of file ExprNodeSet.h.

References itsDiscrete.

## isSingle()

Bool casacore::TableExprNodeSet::isSingle | ( |  | ) | const

inline

Contains the set only single elements?

Single means that only single values are given (thus no end nor incr).

Definition at line 249 of file ExprNodeSet.h.

References itsSingle.

## nelements()

size_t casacore::TableExprNodeSet::nelements | ( |  | ) | const

inline

For backward compatibility.

Definition at line 155 of file ExprNodeSet.h.

References size().

## operator=()

TableExprNodeSet & casacore::TableExprNodeSet::operator= | ( | const TableExprNodeSet & |  | ) |

delete

A copy of a TableExprNodeSet cannot be assigned.

References TableExprNodeSet().

## operator[]()

const TENSEBShPtr & casacore::TableExprNodeSet::operator[] | ( | size_t | index | ) | const

inline

Get the i-th element.

Definition at line 265 of file ExprNodeSet.h.

References itsElems.

## setOrArray()

TENShPtr casacore::TableExprNodeSet::setOrArray | ( |  | ) | const

Try to convert the set to an array.

If not possible, a copy of the set is returned.

## setShape()

void casacore::TableExprNodeSet::setShape | ( |  | ) |

Try to set the set's shape for a bounded set with single elements.

## show()

void casacore::TableExprNodeSet::show | ( | ostream & | os,
|  | uInt | indent ) const

override virtual

Show the node.

Reimplemented from casacore::TableExprNodeRep.

## size()

size_t casacore::TableExprNodeSet::size | ( |  | ) | const

inline

Get the number of elements.

Definition at line 261 of file ExprNodeSet.h.

References itsElems.

Referenced by nelements(), and toArray().

## toArray()

template<typename T>

MArray< T > casacore::TableExprNodeSet::toArray | ( | const TableExprId & | id | ) | const

TODO: align possible units

Handle a nested array; this is done recursively.

Iterate through the remaining arrays.

The first time a mask was found, so create the resulting mask.

This array has no mask, so set to False in resulting mask.

Combine scalars.

Definition at line 272 of file ExprNodeSet.h.

References casacore::IPosition::append(), casacore::ArrayIterator< T >::array(), casacore::MArray< T >::array(), DebugAssert, casacore::False, getArray(), hasArrays(), casacore::MArrayBase::hasMask(), casacore::IPosition::isEqual(), casacore::MArrayBase::isNull(), itsBounded, itsElems, casacore::MArrayBase::mask(), casacore::mask(), casacore::ArrayIterator< T >::next(), casacore::Array< T >::reform(), casacore::Array< T >::resize(), casacore::Vector< T >::resize(), casacore::ArrayBase::shape(), casacore::MArrayBase::shape(), casacore::IPosition::size(), size(), casacore::True, casacore::TableExprNodeRep::valueType(), and casacore::TableExprNodeRep::VTArray.

## toConstArray()

TENShPtr casacore::TableExprNodeSet::toConstArray | ( |  | ) | const

private

Convert the const set to an array.

## Member Data Documentation

## itsBounded

Bool casacore::TableExprNodeSet::itsBounded

private

Definition at line 244 of file ExprNodeSet.h.

Referenced by isBounded(), and toArray().

## itsCheckTypes

Bool casacore::TableExprNodeSet::itsCheckTypes

private

Definition at line 245 of file ExprNodeSet.h.

## itsDiscrete

Bool casacore::TableExprNodeSet::itsDiscrete

private

Definition at line 243 of file ExprNodeSet.h.

Referenced by isDiscrete().

## itsElems

std::vector<TENSEBShPtr> casacore::TableExprNodeSet::itsElems

private

Definition at line 241 of file ExprNodeSet.h.

Referenced by operator[](), size(), and toArray().

## itsSingle

Bool casacore::TableExprNodeSet::itsSingle

private

Definition at line 242 of file ExprNodeSet.h.

Referenced by isSingle().

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

- tables/TaQL/ExprNodeSet.h