38 return this->time().
libs();
46 return "CodedFunction1 " + redirectName_;
53 redirectFunctionPtr_.reset(
nullptr);
80 :
dict.subDict(redirectName_)
89 return codeDict(dict_);
100 if (context.
code().empty())
103 <<
"No code section in input dictionary for Function1 " 104 <<
" name " << redirectName_
123 <<
"compile " << redirectName_ <<
" sha1: " << context.
sha1() <<
endl;
130 "-I$(LIB_SRC)/meshTools/lnInclude \\\n" 132 +
"\n\nLIB_LIBS = \\\n" 145 const word& entryName,
153 redirectName_(
dict.getOrDefault<
word>(
"name", entryName))
172 redirectName_(rhs.redirectName_)
182 if (!redirectFunctionPtr_)
190 coeffs.
set(
"type", redirectName_);
192 redirectFunctionPtr_.reset
208 contentPtr->
dict(this->codeContext());
213 << redirectName_ <<
" Did not derive from dictionaryContent" 217 return *redirectFunctionPtr_;
228 updateLibrary(redirectName_);
230 return redirectFunction().value(
x);
243 dict_.writeEntry(this->
name(), os);
virtual Type value(const scalar x) const
Return value at current time.
Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a c...
errorManipArg< error, int > exit(error &err, const int errNo=1)
CodedFunction1(const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
Construct from entry name, dictionary and optional registry.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
void setMakeOptions(const std::string &content)
Define contents for Make/options.
constexpr char nl
The newline '\n' character (0x0a)
Ostream & endl(Ostream &os)
Add newline and flush stream.
virtual string description() const
Description (type + name) for the output.
void addCompileFile(const fileName &name)
Add a file template name, which will be found and filtered.
static dlLibraryTable & libs()
Table of global libraries.
dictionary & subDictOrAdd(const word &keyword, enum keyType::option matchOpt=keyType::REGEX)
Find and return a sub-dictionary for manipulation.
virtual void clearRedirect() const
Clear redirected object(s)
bool remove(const word &keyword)
Remove an entry specified by keyword.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
virtual dlLibraryTable & libs() const
Mutable access to the loaded dynamic libraries.
const string & options() const noexcept
The code options (Make/options)
A class for handling words, derived from Foam::string.
const dictionary & dict() const noexcept
Read-access to the content.
Base class for function objects and boundary conditions using dynamic code that provides methods for ...
A table of dynamically loaded libraries.
A wrapper for dictionary content, without operators that could affect inheritance patterns...
Function1 with the code supplied by an on-the-fly compiled C++ expression.
void setCodeContext(const dictionary &dict)
Set code context from a dictionary.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
OBJstream os(runTime.globalPath()/outputName)
const string & code() const noexcept
The code.
virtual void prepare(dynamicCode &, const dynamicCodeContext &) const
Adapt the context for the current object.
Tools for handling dynamic code compilation.
virtual void writeData(Ostream &os) const
Write in dictionary format.
Encapsulation of dynamic code dictionaries.
void updateLibrary(const word &name, const dynamicCodeContext &context) const
Update library as required, using the given context.
void setFilterVariable(const word &key, const std::string &value)
Define a filter variable.
#define WarningInFunction
Report a warning using Foam::Warning.
virtual const dictionary & codeDict() const
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
void addCopyFile(const fileName &name)
Add a file template name, which will be found and filtered.
const string & libs() const noexcept
The code libs (LIB_LIBS)
entry * set(entry *entryPtr)
Assign a new entry, overwriting any existing entry.
virtual const dictionary & codeContext() const
Additional 'codeContext' dictionary to pass through.
Registry of regIOobjects.
void setFieldTemplates()
Define a filter variables TemplateType and FieldType.
A class for handling character strings derived from std::string.
const SHA1 & sha1() const noexcept
The SHA1 calculated from options, libs, include, code, etc.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...