52#ifndef expressions_fieldExprDriver_H
53#define expressions_fieldExprDriver_H
75 public parsing::genericRagelLemonDriver,
76 public expressions::exprDriver
122 virtual label
size()
const
137 using genericRagelLemonDriver::content;
141 virtual unsigned parse
143 const std::string& expr,
145 size_t len = std::string::npos
Generic templated field type.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Base driver for parsing (field) values.
const exprResult & result() const noexcept
Const access to expression result.
const dictionary & dict() const noexcept
The dictionary with all input data/specification.
void setResult(Field< Type > *, bool wantPointData=false)
Set result field, taking ownership of the pointer.
Driver for generic primitive field expressions.
virtual label size() const
The natural field size for the expression.
label size_
The field size.
tmp< Field< Type > > getField(const word &fieldName) const
Return named field (variable) if available.
virtual label pointSize() const
The point field size for the expression.
virtual unsigned parse(const std::string &expr, size_t pos=0, size_t len=std::string::npos)
Execute the parser.
void setResult(Field< Type > *ptr, bool pointVal=false)
Set result.
void operator=(const parseDriver &)=delete
parseDriver(const parseDriver &)=delete
tmp< scalarField > field_rand(label seed=0, bool gaussian=false) const
A uniform random field.
ClassName("fieldExpr::driver")
tmp< scalarField > field_randGaussian(label seed=0) const
A Gaussian random field.
virtual ~parseDriver()=default
Destructor.
Generic interface code for Ragel/Lemon combination Subclasses should implement one or more process() ...
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
dimensionedScalar pos(const dimensionedScalar &ds)
Specialisations of Field<T> for scalar, vector and tensor.