Convert dictionary entry to a stringified expression. More...
Public Member Functions | |
TypeNameNoDebug ("expressionEntry") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, expressionEntry, empty,(),()) | |
expressionEntry () noexcept=default | |
Default construct. More... | |
virtual | ~expressionEntry ()=default |
Destructor. More... | |
virtual string | toExpr (const entry &e) const |
To string. Normally with comma separators. More... | |
template<class Type > | |
Foam::string | toExprStr (const Type &data) |
template<class Type > | |
Foam::string | toExprStr (ITstream &is) |
Static Public Member Functions | |
static autoPtr< expressionEntry > | New (const word &name) |
Return an entry to expression converter. More... | |
static string | evaluate (const entry &e) |
Generic concatenate tokens to space-separated string. More... | |
static void | inplaceExpand (std::string &s, const dictionary &dict) |
Inplace expand expression with dictionary variables/entries. More... | |
static expressions::exprString | expand (const std::string &str, const dictionary &dict) |
Expand expression with dictionary entries. More... | |
Static Protected Member Functions | |
template<class Type > | |
static string | toExprStr (const Type &data) |
Stringified version of data with comma-separated components. Uses prefix corresponding to the pTraits of Type. More... | |
template<class Type > | |
static string | toExprStr (ITstream &is) |
Comma-separated stringified version of primitiveEntry of Type. Prefix corresponding to the pTraits of Type. More... | |
Convert dictionary entry to a stringified expression.
The general OpenFOAM dictionary expansions will result in space-separated values. For example,
origin (0.21 0 0.01); condition "mag(pos() - $centre) < 0.5";
this will expand to the following:
condition "mag(pos() - (0.21 0 0.01)) < 0.5";
For these type of expressions, we'd would like better control. Using instead the special expansions, we can add an effective type cast.
condition "mag(pos() - $[(vector)centre]) < 0.5";
which will expand to the following:
condition "mag(pos() - vector(0.21,0,0.01)) < 0.5";
Definition at line 81 of file expressionEntry.H.
|
defaultnoexcept |
Default construct.
|
virtualdefault |
Destructor.
|
staticprotected |
Stringified version of data with comma-separated components. Uses prefix corresponding to the pTraits of Type.
Comma-separated stringified version of primitiveEntry of Type. Prefix corresponding to the pTraits of Type.
TypeNameNoDebug | ( | "expressionEntry" | ) |
Runtime type information.
declareRunTimeSelectionTable | ( | autoPtr | , |
expressionEntry | , | ||
empty | , | ||
() | , | ||
() | |||
) |
|
static |
Return an entry to expression converter.
Definition at line 111 of file expressionEntry.C.
References Foam::exit(), Foam::FatalError, FatalErrorInLookup, and Foam::name().
|
inlinestatic |
Generic concatenate tokens to space-separated string.
Definition at line 27 of file expressionEntryI.H.
References Foam::constant::electromagnetic::e.
Referenced by expressionEntry::toExpr().
|
static |
Inplace expand expression with dictionary variables/entries.
Definition at line 134 of file expressionEntry.C.
References dict, Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::getVariableOrDie(), Foam::stringOps::inplaceExpand(), Foam::stringOps::inplaceTrim(), Foam::New(), Foam::nl, s, entry::stream(), and ITstream::toString().
|
static |
Expand expression with dictionary entries.
Definition at line 265 of file expressionEntry.C.
References dict, Foam::stringOps::inplaceExpand(), and s.
To string. Normally with comma separators.
Reimplemented in stringEntry, dimensionedSphericalTensorEntry, dimensionedSymmTensorEntry, sphericalTensorEntry, dimensionedTensorEntry, symmTensorEntry, boolEntry, dimensionedVectorEntry, tensorEntry, dimensionedScalarEntry, and vectorEntry.
Definition at line 178 of file expressionEntry.H.
References Foam::constant::electromagnetic::e, and expressionEntry::evaluate().
|
inline |
Definition at line 35 of file expressionEntryI.H.
References Foam::component(), Foam::expressions::Detail::nComponents(), and OStringStream::str().
|
inline |
Definition at line 53 of file expressionEntryI.H.
References Foam::Zero.