Go to the documentation of this file.
28 #ifndef IMAGES_IMAGEEXPRPARSE_H
29 #define IMAGES_IMAGEEXPRPARSE_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/lattices/LEL/LatticeExpr.h>
35 #include <casacore/casa/BasicSL/Complex.h>
36 #include <casacore/casa/BasicSL/String.h>
37 #include <casacore/casa/Utilities/DataType.h>
38 #include <casacore/casa/stdvector.h>
39 #include <casacore/casa/Utilities/CountedPtr.h>
40 #include <casacore/casa/HDF5/HDF5File.h>
45 template<
class T>
class Block;
46 template<
class T>
class PtrBlock;
274 const vector<Slice>& slices);
A Vector of integers, for indexing into Array<T> objects.
static void setNode(const LatticeExprNode &node)
Set the static node object (used by the.y file).
static LatticeExprNode command(const String &str, const String &dirName=String())
Parse the given command.
A drop-in replacement for Block<T*>.
static Table & getRegionTable(void *, Bool)
Callback function for RegionHandlerTable to get the table to be used.
std::complex< Double > DComplex
Referenced counted pointer for constant data.
static const vector< String > & getImageNames()
Get the names of the images used in the expression.
LatticeExprNode makeLitLRNode() const
Make a LatticeExprNode object for the name of constant, lattice, or region.
static Slice * makeSlice(const ImageExprParse &start)
Make a Slice object from 1-3 literals.
static const CountedPtr< HDF5File > & getRegionHDF5(void *)
Callback function for RegionHandlerHDF5 to get the file to be used.
static String setAddDir(const String &dirName, const String &fileName)
A function to test addDir.
static LatticeExprNode makeIndexinNode(const LatticeExprNode &axis, const vector< Slice > &slices)
Make a node for the INDEXIN function.
static String addDir(const String &fileName)
If a directory was given, prepend it to the file name if relative.
Main interface class to a read/write table.
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
static vector< String > theirNames
LatticeExprNode makeRegionNode() const
Make a LatticeExprNode object for the temporary region number.
Class to hold values from image expression parser.
define a (start,length,increment) along an axis
static void addNode(LatticeExprNode *node)
Keep track of the nodes allocated while parsing the expression.
static LatticeExprNode theirNode
static void deleteNodes()
this file contains all the compiler specific defines
static IPosition makeBinning(const LatticeExprNode &values)
Make an IPosition containing the binning values.
Bridging class to allow C++ expressions involving lattices.
Bool tryLatticeNode(LatticeExprNode &node, const String &name) const
Try if the name represent a lattice or image.
LatticeExprNode mask(const LatticeExprNode &expr)
This function returns the mask of the given expression.
String: the storage and methods of handling collections of characters.
bool Bool
Define the standard types used by Casacore.
LatticeExprNode makeLiteralNode() const
Make a LatticeExprNode object for the literal value.
std::complex< Float > Complex
static LatticeExprNode makeValueList(const Block< LatticeExprNode > &values)
Make an array from a value list.
LatticeExprNode makeImageNode(const String &name, const String &mask) const
Make the node from the image name and a mask name.
ImageExprParse(Bool value)
Construct a literal object for the given type.
LatticeExprNode makeLRNode() const
Make a LatticeExprNode object for the lattice or region name.
LatticeExprNode makeFuncNode() const
Make a LatticeExprNode for a function.