37 namespace functionEntries
53 primitiveEntryIstream,
63 Foam::token Foam::functionEntries::wordDirective::evaluate
65 const dictionary& parentDict,
74 if (tok.isStringType())
79 str = tok.stringToken();
90 "Premature end while reading #word - missing '}'?" 97 <<
"Invalid input for #word." 98 " Expecting a string or block to expand, but found" <<
nl 109 tok = std::move(result);
132 entry.add_tokens(std::move(tok));
Begin block [isseparator].
static const token undefinedToken
An undefined token.
static word validate(const std::string &s, const bool prefix=false)
Construct validated word (no invalid characters).
bool good() const noexcept
True if token is not UNDEFINED or ERROR.
static bool execute(const dictionary &parentDict, primitiveEntry &entry, Istream &is)
Execute in a primitiveEntry context.
errorManipArg< error, int > exit(error &err, const int errNo=1)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
constexpr char nl
The newline '\n' character (0x0a)
A token holds an item read from Istream.
static bool continueReadUntilRightBrace(Istream &is, std::string &str, const bool stripComments=true)
Slurp a string until a closing '}' is found.
Ostream & endl(Ostream &os)
Add newline and flush stream.
A keyword and a list of tokens comprise a primitiveEntry. A primitiveEntry can be read...
static void reportReadWarning(const IOstream &, const std::string &)
Report a read warning (on std::cerr)
void putBack(const token &tok)
Put back a token (copy). Only a single put back is permitted.
string evaluate(label fieldWidth, const std::string &s, size_t pos=0, size_t len=std::string::npos)
String evaluation with specified (positive, non-zero) field width.
void inplaceExpand(std::string &s, const HashTable< string > &mapping, const char sigil='$')
Inplace expand occurrences of variables according to the mapping. Does not use environment values...
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
Macros for easy insertion into member function selection tables.
addNamedToMemberFunctionSelectionTable(functionEntry, calcEntry, execute, dictionaryIstream, calc)
A keyword and a list of tokens is an 'entry'.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...