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>
43 template <
class T>
class LELScalar;
44 template <
class T>
class LELArray;
45 template <
class T>
class LELArrayRef;
159 const Slicer& section)
const = 0;
161 const Slicer& section)
const;
223 #ifndef CASACORE_NO_AUTO_TEMPLATES
224 #include <casacore/lattices/LEL/LELUnary.h>
Referenced counted pointer for constant data.
LockType
Define the possible lock types.
This LEL class holds a possible referenced array with a mask.
Bool isScalar() const
Is expression a scalar?
const IPosition & shape() const
What is the shape of the expression?
virtual Bool hasLock(FileLocker::LockType) const
const LELAttribute & getAttribute() const
Get expression attribute.
virtual LELScalar< T > getScalar() const =0
Get the result of a scalar subexpression.
virtual ~LELInterface()
Virtual destructor.
virtual void eval(LELArray< T > &result, const Slicer §ion) const =0
Evaluate the expression and fill the result array.
virtual void evalRef(LELArrayRef< T > &result, const Slicer §ion) const
virtual String className() const =0
Get class name.
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of the parts of a lattice expression.
const IPosition & shape() const
Get the shape of the expression result.
void setAttr(const LELAttribute &attrib)
Set the expression attributes of this object.
LELArray< T > getArray() const
Get the result of an array subexpression.
Bool isScalar() const
Is the result of evaluating this expression a scalar ?
virtual Bool prepareScalarExpr()=0
Do further preparations (e.g.
static Bool replaceScalarExpr(CountedPtr< LELInterface< T > > &expr)
If the given expression is a valid scalar, replace it by its result.
String: the storage and methods of handling collections of characters.
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.