LELAttribute.h
Classes
- LELAttribute -- Ancillary information for the LEL letter classes. (full description)
Interface
- Public Members
- LELAttribute()
- LELAttribute(Bool isMasked, const IPosition& shape, const IPosition& tileShape, const LELCoordinates& coordinates, Bool isReduced = False)
- explicit LELAttribute(uInt regionNdim)
- LELAttribute(const LELAttribute& attr)
- LELAttribute(const LELAttribute& attrLeft, const LELAttribute& attrRight, Bool matchAxes = True)
- ~LELAttribute()
- LELAttribute& operator= (const LELAttribute& other)
- Bool isScalar() const
- Bool isReduced() const
- Bool isRegion() const
- Bool isMasked() const
- const IPosition& shape() const
- const IPosition& tileShape() const
- const LELCoordinates& coordinates() const
- Int compareCoord (const LELAttribute& other) const
Review Status
- Date Reviewed:
- yyyy/mm/dd
Prerequisite
Etymology
Holds attribute information for the Lattice Expression
Language letter classes.
Synopsis
The Lattice Expression Language letter classes provide
expression objects. There is ancilliary information or
attributes associated with these objects:
- Scalar or lattice (i.e. array) or region.
- In case of an array, is it a reduced array. I.e. is it an array
that has to be calculated beforehand (e.g. partialMax).
A scalar is always reduced.
- Shape and tile shape of a lattice. This can be undefined.
- Is the lattice masked?
- Optionally coordinates of the lattice.
Two attribute objects can be combined mirroring the combination of two
expressions (like the addition of two lattices).
Regions cannot be combined.
Member Description
Default constructor sets it as a scalar.
LELAttribute(Bool isMasked, const IPosition& shape, const IPosition& tileShape, const LELCoordinates& coordinates, Bool isReduced = False)
Constructor sets it as lattice with given attributes.
An empty shape indicates that the shape is not known.
explicit LELAttribute(uInt regionNdim)
Constructor sets it as a region with given attributes.
LELAttribute(const LELAttribute& attr)
Copy constructor (copy semantics)
LELAttribute(const LELAttribute& attrLeft, const LELAttribute& attrRight, Bool matchAxes = True)
Constructor that combines the two attributes given.
An array can be combined with a scalar.
If matchAxes is True and if two arrays are given, the shapes and
coordinates have to match exactly, otherwise one can be a subset of
the other (and LEL will auto-extend).
Destructor
LELAttribute& operator= (const LELAttribute& other)
Assignment (copy semantics)
Is expression a scalar?
Is expression a reduced array? A scalar is always reduced.
Is expression a region?
Is the expression result masked?
What is the shape of the expression?
What is the tile shape of the expression?
What are the coordinates of the expression?
Int compareCoord (const LELAttribute& other) const
Compare the coordinates and shapes to see if this is a subset of other.