Go to the documentation of this file.
28 #ifndef LATTICES_LELINTERFACE_H
29 #define LATTICES_LELINTERFACE_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/lattices/LEL/LELAttribute.h>
35 #include <casacore/casa/Arrays/IPosition.h>
36 #include <casacore/casa/Utilities/CountedPtr.h>
37 #include <casacore/casa/Utilities/DataType.h>
38 #include <casacore/casa/IO/FileLocker.h>
159 const Slicer& section)
const = 0;
161 const Slicer& section)
const;
223 #ifndef CASACORE_NO_AUTO_TEMPLATES
224 #include <casacore/lattices/LEL/LELUnary.h>
225 #endif //# CASACORE_NO_AUTO_TEMPLATES
Specify which elements to extract from an n-dimensional array.
const IPosition & shape() const
Get the shape of the expression result.
A Vector of integers, for indexing into Array<T> objects.
Bool isScalar() const
Is the result of evaluating this expression a scalar ?
void setAttr(const LELAttribute &attrib)
Set the expression attributes of this object.
const LELAttribute & getAttribute() const
Get expression attribute.
virtual LELScalar< T > getScalar() const =0
Get the result of a scalar subexpression.
Referenced counted pointer for constant data.
LockType
Define the possible lock types.
This LEL class holds an array with a mask.
static Bool replaceScalarExpr(CountedPtr< LELInterface< T > > &expr)
If the given expression is a valid scalar, replace it by its result.
This LEL class holds a possible referenced array with a mask.
Bool isScalar() const
Is expression a scalar?
This base class provides the interface for Lattice expressions.
virtual Bool prepareScalarExpr()=0
Do further preparations (e.g.
const IPosition & shape() const
What is the shape of the expression?
this file contains all the compiler specific defines
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of the parts of a lattice expression.
virtual void evalRef(LELArrayRef< T > &result, const Slicer §ion) const
Ancillary information for the LEL letter classes.
String: the storage and methods of handling collections of characters.
bool Bool
Define the standard types used by Casacore.
This LEL class holds a scalar with a mask.
virtual ~LELInterface()
Virtual destructor.
virtual Bool hasLock(FileLocker::LockType) const
virtual String className() const =0
Get class name.
virtual void eval(LELArray< T > &result, const Slicer §ion) const =0
Evaluate the expression and fill the result array.
LELArray< T > getArray() const
Get the result of an array subexpression.