26#ifndef LATTICES_LELBINARY_H
27#define LATTICES_LELBINARY_H
31#include <casacore/casa/aips.h>
32#include <casacore/lattices/LEL/LELInterface.h>
33#include <casacore/lattices/LEL/LELBinaryEnums.h>
118 const Slicer& section)
const;
223 const Slicer& section)
const;
324 const Slicer& section)
const;
354#ifndef CASACORE_NO_AUTO_TEMPLATES
355#include <casacore/lattices/LEL/LELBinary.tcc>
LockType
Define the possible lock types.
This LEL class handles logical binary operators.
~LELBinaryBool()
Destructor
virtual Bool hasLock(FileLocker::LockType) const
virtual String className() const
Get class name.
std::shared_ptr< LELInterface< Bool > > pLeftExpr_p
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of a lattice in a lattice expression.
virtual LELScalar< Bool > getScalar() const
Recursively evaluate the scalar expression
std::shared_ptr< LELInterface< Bool > > pRightExpr_p
LELBinaryBool(const LELBinaryEnums::Operation op, const std::shared_ptr< LELInterface< Bool > > &pLeftExpr, const std::shared_ptr< LELInterface< Bool > > &pRightExpr)
Constructor takes operation and left and right expressions to be operated upon.
virtual void eval(LELArray< Bool > &result, const Slicer §ion) const
Recursively evaluate the expression
LELBinaryEnums::Operation op_p
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
This LEL class handles relational binary numerical operators.
~LELBinaryCmp()
Destructor
std::shared_ptr< LELInterface< T > > pRightExpr_p
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
LELBinaryCmp(const LELBinaryEnums::Operation op, const std::shared_ptr< LELInterface< T > > &pLeftExpr, const std::shared_ptr< LELInterface< T > > &pRightExpr)
Constructor takes operation and left and right expressions to be operated upon.
std::shared_ptr< LELInterface< T > > pLeftExpr_p
virtual void eval(LELArray< Bool > &result, const Slicer §ion) const
Recursively evaluate the expression
virtual String className() const
Get class name.
virtual LELScalar< Bool > getScalar() const
Recursively evaluate the scalar expression
LELBinaryEnums::Operation op_p
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of a lattice in a lattice expression.
virtual Bool hasLock(FileLocker::LockType) const
virtual void eval(LELArray< T > &result, const Slicer §ion) const
Recursively evaluate the expression
virtual Bool prepareScalarExpr()
Do further preparations (e.g.
virtual Bool hasLock(FileLocker::LockType) const
virtual String className() const
Get class name.
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle locking/syncing of a lattice in a lattice expression.
LELBinaryEnums::Operation op_p
virtual LELScalar< T > getScalar() const
Recursively efvaluate the scalar expression
LELBinary(const LELBinaryEnums::Operation op, const std::shared_ptr< LELInterface< T > > &pLeftExpr, const std::shared_ptr< LELInterface< T > > &pRightExpr)
Constructor takes operation and left and right expressions to be operated upon.
std::shared_ptr< LELInterface< T > > pRightExpr_p
std::shared_ptr< LELInterface< T > > pLeftExpr_p
void setAttr(const LELAttribute &attrib)
Set the expression attributes of this object.
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.