Compiles and executes code string expressions, returning the result to the dictionary entry. More...


Public Member Functions | |
| FunctionTypeName ("#calc") | |
| Runtime type information. More... | |
| calcEntry (const calcEntry &)=default | |
| Copy construct. More... | |
| virtual autoPtr< entry > | clone (const dictionary &) const |
| Clone. More... | |
| virtual bool | execute (dictionary &contextDict, Istream &) |
| Expand the functionEntry into the contextDict. More... | |
| void | operator= (const calcEntry &)=delete |
| Disallow default bitwise assignment. More... | |
Public Member Functions inherited from streamEntry | |
| FunctionTypeName ("#stream") | |
| Runtime type information. More... | |
| streamEntry (const label lineNumber, const dictionary &parentDict, Istream &is) | |
| Construct from line number, dictionary and Istream. More... | |
| streamEntry (const streamEntry &)=default | |
| Copy construct. More... | |
| void | operator= (const streamEntry &)=delete |
| Disallow default bitwise assignment. More... | |
Public Member Functions inherited from functionEntry | |
| FunctionTypeName ("functionEntry") | |
| declareRunTimeSelectionTable (autoPtr, functionEntry, dictionary,(const label lineNumber, const dictionary &parentDict, Istream &is),(lineNumber, parentDict, is)) | |
| declareMemberFunctionSelectionTable (bool, functionEntry, execute, primitiveEntryIstream,(const dictionary &contextDict, primitiveEntry &contextEntry, Istream &is),(contextDict, entry, is)) | |
| virtual void | write (Ostream &) const |
| Write. More... | |
| void | operator= (const functionEntry &)=delete |
| Disallow default bitwise assignment. More... | |
Public Member Functions inherited from primitiveEntry | |
| primitiveEntry (const label keyLineNumber, const keyType &key) | |
| Construct from line number and keyword. More... | |
| primitiveEntry (const keyType &, Istream &) | |
| Construct from keyword and a Istream. More... | |
| primitiveEntry (const keyType &, const dictionary &parentDict, Istream &) | |
| Construct from keyword, parent dictionary and Istream. More... | |
| primitiveEntry (const keyType &key, const ITstream &) | |
| Construct from keyword and a ITstream. More... | |
| primitiveEntry (const label keyLineNumber, const keyType &key, const ITstream &) | |
| Construct from keyword, line number and ITstream. More... | |
| primitiveEntry (const keyType &, const token &) | |
| Construct from keyword and a single token. More... | |
| primitiveEntry (const keyType &, const UList< token > &) | |
| Construct from keyword and a list of tokens. More... | |
| primitiveEntry (const keyType &, const List< token > &) | |
| Construct from keyword and a list of tokens. More... | |
| primitiveEntry (const keyType &, List< token > &&) | |
| Move construct from keyword and by transferring a list of tokens. More... | |
| template<class T > | |
| primitiveEntry (const keyType &, const T &) | |
| Construct from keyword and a T. More... | |
| template<class T > | |
| primitiveEntry (const keyType &, const T &, const label startLineNumber, const label endLineNumber=-1) | |
| Construct from keyword and a T and start and end line numbers. More... | |
| autoPtr< entry > | clone (const dictionary &) const |
| Construct on freestore as copy with reference to the. More... | |
| const fileName & | name () const |
| Return the dictionary name. More... | |
| fileName & | name () |
| Return the dictionary name. More... | |
| virtual label | endLineNumber () const |
| Return line number of last token in dictionary. More... | |
| bool | isStream () const |
| Return true because this entry is a stream. More... | |
| ITstream & | stream () const |
| Return token stream if this entry is a primitive entry. More... | |
| const dictionary & | dict () const |
| This entry is not a dictionary,. More... | |
| dictionary & | dict () |
| This entry is not a dictionary,. More... | |
| virtual bool | read (const dictionary &, Istream &) |
| Read tokens from the given stream. More... | |
| void | write (Ostream &) const |
| Write. More... | |
| void | write (Ostream &, const bool contentsOnly) const |
| Write, optionally with contents only (no keyword, etc) More... | |
| InfoProxy< primitiveEntry > | info () const |
| Return info proxy. More... | |
| virtual Istream & | read (token &) |
| Inherit read from ITstream. More... | |
| virtual Istream & | read (char &) |
| Inherit read from ITstream. More... | |
| virtual Istream & | read (word &) |
| Inherit read from ITstream. More... | |
| virtual Istream & | read (string &) |
| Inherit read from ITstream. More... | |
| virtual Istream & | read (int32_t &) |
| Inherit read from ITstream. More... | |
| virtual Istream & | read (int64_t &) |
| Inherit read from ITstream. More... | |
| virtual Istream & | read (uint32_t &) |
| Inherit read from ITstream. More... | |
| virtual Istream & | read (uint64_t &) |
| Inherit read from ITstream. More... | |
| virtual Istream & | read (floatScalar &) |
| Inherit read from ITstream. More... | |
| virtual Istream & | read (doubleScalar &) |
| Inherit read from ITstream. More... | |
| virtual Istream & | read (longDoubleScalar &) |
| Inherit read from ITstream. More... | |
| virtual Istream & | read (char *, std::streamsize) |
| Inherit read from ITstream. More... | |
Public Member Functions inherited from entry | |
| entry (const keyType &key, const label keywordLineNumber) | |
| Construct from keyword and corresponding line number. More... | |
| entry (const entry &) | |
| Copy constructor. More... | |
| virtual autoPtr< entry > | clone () const |
| Construct on freestore as copy. More... | |
| virtual | ~entry () |
| Destructor. More... | |
| const keyType & | keyword () const |
| Return keyword. More... | |
| keyType & | keyword () |
| Return non-const access to keyword. More... | |
| virtual label | startLineNumber () const |
| Return line number of keyword of the entry. More... | |
| virtual label & | startLineNumber () |
| Return non-const access to line number of keyword of the entry. More... | |
| virtual bool | isDict () const |
| Return true if this entry is a dictionary. More... | |
| void | operator= (const entry &) |
| bool | operator== (const entry &) const |
| bool | operator!= (const entry &) const |
Public Member Functions inherited from ITstream | |
| ITstream (const string &name, const streamFormat format=ASCII, const versionNumber version=currentVersion, const bool global=false) | |
| Construct from components. More... | |
| ITstream (const string &name, const token &t, const streamFormat format=ASCII, const versionNumber version=currentVersion, const bool global=false) | |
| Construct from components and token. More... | |
| ITstream (const string &name, const UList< token > &tokens, const streamFormat format=ASCII, const versionNumber version=currentVersion, const bool global=false) | |
| Construct from components and token list. More... | |
| ITstream (const string &name, List< token > &&tokens, const streamFormat format=ASCII, const versionNumber version=currentVersion, const bool global=false) | |
| Move construct from components, transferring the token list. More... | |
| ITstream (const ITstream &its) | |
| Copy constructor. More... | |
| virtual | ~ITstream () |
| Destructor. More... | |
| const fileName & | name () const |
| Return the name of the stream. More... | |
| fileName & | name () |
| Return non-const access to the name of the stream. More... | |
| label | tokenIndex () const |
| Return the current token index. More... | |
| label & | tokenIndex () |
| Return non-const access to the current token index. More... | |
| label | nRemainingTokens () const |
| Return the number of remaining tokens. More... | |
| ios_base::fmtflags | flags () const |
| Return flags of output stream. More... | |
| virtual Istream & | read (token &) |
| Return next token from stream. More... | |
| virtual Istream & | read (char &) |
| Read a character. More... | |
| virtual Istream & | read (word &) |
| Read a word. More... | |
| virtual Istream & | read (string &) |
| virtual Istream & | read (int32_t &) |
| Read an int32_t. More... | |
| virtual Istream & | read (int64_t &) |
| Read an int64_t. More... | |
| virtual Istream & | read (uint32_t &) |
| Read a uint32_t. More... | |
| virtual Istream & | read (uint64_t &) |
| Read a uint64_t. More... | |
| virtual Istream & | read (floatScalar &) |
| Read a floatScalar. More... | |
| virtual Istream & | read (doubleScalar &) |
| Read a doubleScalar. More... | |
| virtual Istream & | read (longDoubleScalar &) |
| Read a longDoubleScalar. More... | |
| virtual Istream & | read (char *, std::streamsize) |
| Read binary block. More... | |
| virtual Istream & | rewind () |
| Rewind and return the stream so that it may be read again. More... | |
| ios_base::fmtflags | flags (const ios_base::fmtflags) |
| Set flags of stream. More... | |
| void | print (Ostream &) const |
| Print description of IOstream to Ostream. More... | |
| void | operator= (const ITstream &its) |
| Assignment operator. More... | |
Public Member Functions inherited from Istream | |
| Istream (const streamFormat format=ASCII, const versionNumber version=currentVersion, const compressionType compression=UNCOMPRESSED, const bool global=false) | |
| Set stream status. More... | |
| virtual | ~Istream () |
| Destructor. More... | |
| bool | good () const |
| Return true if next operation might succeed. More... | |
| bool | eof () const |
| Return true if end of input seen. More... | |
| void | putBack (const token &) |
| Put back token. More... | |
| bool | getBack (token &) |
| Get the put back token if there is one and return true. More... | |
| bool | peekBack () |
| Peek at the put back token and return true if available. More... | |
| bool | peekBack (token &) |
| Peek at the put back token without removing it. More... | |
| Istream & | readBegin (const char *funcName) |
| Istream & | readEnd (const char *funcName) |
| Istream & | readEndBegin (const char *funcName) |
| char | readBeginList (const char *funcName) |
| char | readEndList (const char *funcName) |
| Istream & | operator() () const |
| Return a non-const reference to const Istream. More... | |
Public Member Functions inherited from IOstream | |
| IOstream (const streamFormat format, const versionNumber version, const compressionType compression=UNCOMPRESSED, const bool global=false) | |
| Construct setting format and version. More... | |
| virtual | ~IOstream () |
| Destructor. More... | |
| virtual bool | check (const char *operation) const |
| Check IOstream status for given operation. More... | |
| void | fatalCheck (const char *operation) const |
| Check IOstream status for given operation. More... | |
| bool | opened () const |
| Return true if stream has been opened. More... | |
| bool | closed () const |
| Return true if stream is closed. More... | |
| bool | good () const |
| Return true if next operation might succeed. More... | |
| bool | eof () const |
| Return true if end of input seen. More... | |
| bool | fail () const |
| Return true if next operation will fail. More... | |
| bool | bad () const |
| Return true if stream is corrupted. More... | |
| operator void * () const | |
| Return non-zero if the stream has not failed. More... | |
| bool | operator! () const |
| Return true if the stream has failed. More... | |
| streamFormat | format () const |
| Return current stream format. More... | |
| streamFormat | format (const streamFormat fmt) |
| Set the stream format. More... | |
| streamFormat | format (const word &fmt) |
| Set the stream format from word. More... | |
| versionNumber | version () const |
| Return the stream version. More... | |
| versionNumber | version (const versionNumber ver) |
| Set the stream version. More... | |
| compressionType | compression () const |
| Return the stream compression. More... | |
| compressionType | compression (const compressionType cmp) |
| Set the stream compression. More... | |
| compressionType | compression (const word &cmp) |
| Set the stream compression from word. More... | |
| bool | global () const |
| Return global state. More... | |
| bool & | global () |
| Return global state. More... | |
| label | lineNumber () const |
| Return current stream line number. More... | |
| label & | lineNumber () |
| Return current stream line number. More... | |
| label | lineNumber (const label ln) |
| Set the stream line number. More... | |
| void | setEof () |
| Set stream to have reached eof. More... | |
| void | setFail () |
| Set stream to have failed. More... | |
| void | setBad () |
| Set stream to be bad. More... | |
| ios_base::fmtflags | setf (const ios_base::fmtflags f) |
| Set flags of stream. More... | |
| ios_base::fmtflags | setf (const ios_base::fmtflags f, const ios_base::fmtflags mask) |
| Set flags of given field of stream. More... | |
| void | unsetf (const ios_base::fmtflags uf) |
| Unset flags of stream. More... | |
| void | print (Ostream &, const int streamState) const |
| Check given stream state bits. More... | |
| InfoProxy< IOstream > | info () const |
| Return info proxy. More... | |
Public Member Functions inherited from List< T > | |
| List () | |
| Null constructor. More... | |
| List (const label) | |
| Construct with given size. More... | |
| List (const label, const T &) | |
| Construct with given size and value for all elements. More... | |
| List (const label, const zero) | |
| Construct with given size initialising all elements to zero. More... | |
| List (const List< T > &) | |
| Copy constructor. More... | |
| template<class T2 > | |
| List (const UList< T2 > &) | |
| Copy constructor from list containing another type. More... | |
| List (List< T > &&) | |
| Move constructor. More... | |
| List (List< T > &, bool reuse) | |
| Construct as copy or reuse as specified. More... | |
| List (const UList< T > &, const labelUList &mapAddressing) | |
| Construct as subset. More... | |
| template<class InputIterator > | |
| List (InputIterator first, InputIterator last) | |
| Construct given start and end iterators. More... | |
| template<unsigned Size> | |
| List (const FixedList< T, Size > &) | |
| Construct as copy of FixedList<T, Size> More... | |
| List (const PtrList< T > &) | |
| Construct as copy of PtrList<T> More... | |
| List (const SLList< T > &) | |
| Construct as copy of SLList<T> More... | |
| List (const UIndirectList< T > &) | |
| Construct as copy of UIndirectList<T> More... | |
| List (const BiIndirectList< T > &) | |
| Construct as copy of BiIndirectList<T> More... | |
| List (std::initializer_list< T >) | |
| Construct from an initialiser list. More... | |
| List (Istream &) | |
| Construct from Istream. More... | |
| autoPtr< List< T > > | clone () const |
| Clone. More... | |
| ~List () | |
| Destructor. More... | |
| label | size () const |
| Return the number of elements in the UList. More... | |
| void | resize (const label) |
| Alias for setSize(const label) More... | |
| void | resize (const label, const T &) |
| Alias for setSize(const label, const T&) More... | |
| void | setSize (const label) |
| Reset size of List. More... | |
| void | setSize (const label, const T &) |
| Reset size of List and value for new elements. More... | |
| void | clear () |
| Clear the list, i.e. set size to zero. More... | |
| void | append (const T &) |
| Append an element at the end of the list. More... | |
| void | append (const UList< T > &) |
| Append a List at the end of this list. More... | |
| void | append (const UIndirectList< T > &) |
| Append a UIndirectList at the end of this list. More... | |
| void | transfer (List< T > &) |
| Transfer the contents of the argument List into this list. More... | |
| template<unsigned SizeInc, unsigned SizeMult, unsigned SizeDiv> | |
| void | transfer (DynamicList< T, SizeInc, SizeMult, SizeDiv > &) |
| Transfer the contents of the argument List into this list. More... | |
| void | transfer (SortableList< T > &) |
| Transfer the contents of the argument List into this list. More... | |
| T & | newElmt (const label) |
| Return subscript-checked element of UList. More... | |
| void | shallowCopy (const UList< T > &)=delete |
| Disallow implicit shallowCopy. More... | |
| void | operator= (const UList< T > &) |
| Assignment to UList operator. Takes linear time. More... | |
| void | operator= (const List< T > &) |
| Assignment operator. Takes linear time. More... | |
| void | operator= (List< T > &&) |
| Move assignment operator. More... | |
| void | operator= (const SLList< T > &) |
| Assignment to SLList operator. Takes linear time. More... | |
| void | operator= (const UIndirectList< T > &) |
| Assignment to UIndirectList operator. Takes linear time. More... | |
| void | operator= (const BiIndirectList< T > &) |
| Assignment to BiIndirectList operator. Takes linear time. More... | |
| void | operator= (std::initializer_list< T >) |
| Assignment to an initialiser list. More... | |
| void | operator= (const T &) |
| Assignment of all entries to the given value. More... | |
| void | operator= (const zero) |
| Assignment of all entries to zero. More... | |
Public Member Functions inherited from UList< T > | |
| UList () | |
| Null constructor. More... | |
| UList (T *__restrict__ v, label size) | |
| Construct from components. More... | |
| UList (const UList< T > &)=default | |
| Copy construct. More... | |
| label | fcIndex (const label i) const |
| Return the forward circular index, i.e. the next index. More... | |
| label | rcIndex (const label i) const |
| Return the reverse circular index, i.e. the previous index. More... | |
| std::streamsize | byteSize () const |
| Return the binary size in number of characters of the UList. More... | |
| const T * | cdata () const |
| Return a const pointer to the first data element,. More... | |
| T * | data () |
| Return a pointer to the first data element,. More... | |
| T & | first () |
| Return the first element of the list. More... | |
| const T & | first () const |
| Return first element of the list. More... | |
| T & | last () |
| Return the last element of the list. More... | |
| const T & | last () const |
| Return the last element of the list. More... | |
| void | checkStart (const label start) const |
| Check start is within valid range (0 ... size-1) More... | |
| void | checkSize (const label size) const |
| Check size is within valid range (0 ... size) More... | |
| void | checkIndex (const label i) const |
| Check index i is within valid range (0 ... size-1) More... | |
| void | shallowCopy (const UList< T > &) |
| Copy the pointer held by the given UList. More... | |
| void | deepCopy (const UList< T > &) |
| Copy elements of the given UList. More... | |
| T & | operator[] (const label) |
| Return element of UList. More... | |
| const T & | operator[] (const label) const |
| Return element of constant UList. More... | |
| operator const Foam::List< T > & () const | |
| Allow cast to a const List<T>&. More... | |
| void | operator= (const T &) |
| Assignment of all entries to the given value. More... | |
| void | operator= (const zero) |
| Assignment of all entries to zero. More... | |
| iterator | begin () |
| Return an iterator to begin traversing the UList. More... | |
| iterator | end () |
| Return an iterator to end traversing the UList. More... | |
| const_iterator | cbegin () const |
| Return const_iterator to begin traversing the constant UList. More... | |
| const_iterator | cend () const |
| Return const_iterator to end traversing the constant UList. More... | |
| const_iterator | begin () const |
| Return const_iterator to begin traversing the constant UList. More... | |
| const_iterator | end () const |
| Return const_iterator to end traversing the constant UList. More... | |
| reverse_iterator | rbegin () |
| Return reverse_iterator to begin reverse traversing the UList. More... | |
| reverse_iterator | rend () |
| Return reverse_iterator to end reverse traversing the UList. More... | |
| const_reverse_iterator | crbegin () const |
| Return const_reverse_iterator to begin reverse traversing the UList. More... | |
| const_reverse_iterator | crend () const |
| Return const_reverse_iterator to end reverse traversing the UList. More... | |
| const_reverse_iterator | rbegin () const |
| Return const_reverse_iterator to begin reverse traversing the UList. More... | |
| const_reverse_iterator | rend () const |
| Return const_reverse_iterator to end reverse traversing the UList. More... | |
| label | size () const |
| Return the number of elements in the UList. More... | |
| label | max_size () const |
| Return size of the largest possible UList. More... | |
| bool | empty () const |
| Return true if the UList is empty (ie, size() is zero) More... | |
| void | swap (UList< T > &) |
| Swap two ULists of the same type in constant time. More... | |
| bool | operator== (const UList< T > &) const |
| Equality operation on ULists of the same type. More... | |
| bool | operator!= (const UList< T > &) const |
| The opposite of the equality operation. Takes linear time. More... | |
| bool | operator< (const UList< T > &) const |
| Compare two ULists lexicographically. Takes linear time. More... | |
| bool | operator> (const UList< T > &) const |
| Compare two ULists lexicographically. Takes linear time. More... | |
| bool | operator<= (const UList< T > &) const |
| Return true if !(a > b). Takes linear time. More... | |
| bool | operator>= (const UList< T > &) const |
| Return true if !(a < b). Takes linear time. More... | |
| const bool & | operator[] (const label i) const |
Static Public Member Functions | |
| static bool | execute (const dictionary &contextDict, primitiveEntry &contextEntry, Istream &) |
| Expand the functionEntry into the contextEntry. More... | |
Static Public Member Functions inherited from streamEntry | |
| static bool | execute (const dictionary &contextDict, primitiveEntry &contextEntry, Istream &) |
| Expand the functionEntry into the contextEntry. More... | |
Static Public Member Functions inherited from functionEntry | |
| static autoPtr< functionEntry > | New (const keyType &functionName, const dictionary &parentDict, Istream &is) |
| Construct from Istream and insert into dictionary. More... | |
| static bool | execute (const word &functionName, const dictionary &contextDict, primitiveEntry &contextEntry, Istream &) |
| Expand the functionEntry into the contextEntry. More... | |
Static Public Member Functions inherited from entry | |
| static bool | New (dictionary &parentDict, Istream &) |
| Construct from Istream and insert into dictionary. More... | |
| static autoPtr< entry > | New (Istream &is) |
| Construct on freestore from Istream and return. More... | |
Static Public Member Functions inherited from IOstream | |
| static streamFormat | formatEnum (const word &) |
| Return stream format of given format name. More... | |
| static compressionType | compressionEnum (const word &) |
| Return compression of given compression name. More... | |
| static unsigned int | defaultPrecision () |
| Return the default precision. More... | |
| static unsigned int | defaultPrecision (unsigned int p) |
| Reset the default precision (and return old precision) More... | |
| static unsigned int | highPrecision () |
| Return a high precision for writing data that is. More... | |
| static unsigned int | fullPrecision () |
| Return a full precision for writing data that is *very*. More... | |
Static Public Member Functions inherited from List< T > | |
| static const List< T > & | null () |
| Return a null List. More... | |
Static Public Member Functions inherited from UList< T > | |
| static const UList< T > & | null () |
| Return a null UList. More... | |
Friends | |
| class | codeBlockEntry |
| Declare friendship with the calcEntry class. More... | |
Additional Inherited Members | |
Public Types inherited from IOstream | |
| enum | streamAccess { OPENED , CLOSED } |
| Enumeration for whether the stream open or closed. More... | |
| enum | streamFormat { ASCII , BINARY } |
| Enumeration for the format of data in the stream. More... | |
| enum | compressionType { UNCOMPRESSED , COMPRESSED } |
| Enumeration for the format of data in the stream. More... | |
Public Types inherited from List< T > | |
| typedef SubList< T > | subList |
| Declare type of subList. More... | |
Public Types inherited from UList< T > | |
| typedef T | value_type |
| Type of values the UList contains. More... | |
| typedef T & | reference |
| Type that can be used for storing into. More... | |
| typedef const T & | const_reference |
| Type that can be used for storing into. More... | |
| typedef label | difference_type |
| The type that can represent the difference between any two. More... | |
| typedef label | size_type |
| The type that can represent the size of a UList. More... | |
| typedef T * | iterator |
| Random access iterator for traversing UList. More... | |
| typedef const T * | const_iterator |
| Random access iterator for traversing UList. More... | |
| typedef std::reverse_iterator< iterator > | reverse_iterator |
| Reverse iterator for reverse traversal of UList. More... | |
| typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
| Reverse iterator for reverse traversal of constant UList. More... | |
Static Public Attributes inherited from entry | |
| static int | disableFunctionEntries |
Static Public Attributes inherited from IOstream | |
| static const versionNumber | currentVersion |
| Current version number. More... | |
| static unsigned int | precision_ |
| Default precision. More... | |
Protected Member Functions inherited from functionEntry | |
| functionEntry (const functionName &, const label lineNumber, const dictionary &) | |
| Construct from function type and parent dictionary. More... | |
| functionEntry (const functionName &, const label lineNumber, const dictionary &, const Istream &is, const token &) | |
| Construct from function type, parent dictionary and a token. More... | |
| functionEntry (const functionName &, const label lineNumber, const dictionary &, const Istream &is, const tokenList &) | |
| Construct from function type, parent dictionary and tokenList. More... | |
| functionEntry (const functionEntry &)=default | |
| Copy construct. More... | |
| tokenList | readArgList (const functionName &functionType, Istream &is, const bool optional=false) const |
| tokenList | readFuncNameArgList (const functionName &functionType, Istream &is) const |
| Read the function name and optional argument list. More... | |
| tokenList | readFileNameArgList (const functionName &functionType, Istream &is) const |
| Read the filen name and optional argument list. More... | |
| tokenList | readArgOrList (const functionName &functionType, Istream &is) const |
| Read a single argument or list. More... | |
Protected Member Functions inherited from IOstream | |
| void | setOpened () |
| Set stream opened. More... | |
| void | setClosed () |
| Set stream closed. More... | |
| void | setState (ios_base::iostate state) |
| Set stream state. More... | |
| void | setGood () |
| Set stream to be good. More... | |
Protected Member Functions inherited from List< T > | |
| void | size (const label) |
| Override size to be inconsistent with allocated storage. More... | |
Static Protected Member Functions inherited from streamEntry | |
| static string | codeString (const label index, const dictionary &codeDict, Istream &, const string &startString=string::null, const string &endString=string::null) |
| Return the code string. More... | |
| static OTstream | resultStream (const dictionary &dict, Istream &is, const string &startString=string::null, const string &endString=string::null) |
| Perform the calculation and return the result in an OTstream. More... | |
Static Protected Member Functions inherited from functionEntry | |
| static bool | insert (const dictionary &parentDict, dictionary &contextDict, const token &t, Istream &is) |
| Read entry starting from token t and insert into contextDict. More... | |
| static bool | insert (const dictionary &parentDict, primitiveEntry &contextEntry, const token &t, Istream &is) |
| Insert token t into contextEntry, expanding as required. More... | |
| static bool | insert (dictionary &contextDict, const OTstream &) |
| Read entry from the given OTstream and insert into contextDict. More... | |
| static bool | insert (const dictionary &parentDict, primitiveEntry &contextEntry, const OTstream &) |
| Read tokens from the given OTstream and insert into contextEntry. More... | |
| static bool | insert (dictionary &contextDict, const string &) |
| Read entry from the given string and insert into contextDict. More... | |
| static bool | insert (const dictionary &parentDict, primitiveEntry &contextEntry, const string &) |
| Read tokens from the given string and insert into contextEntry. More... | |
Protected Attributes inherited from IOstream | |
| label | lineNumber_ |
Compiles and executes code string expressions, returning the result to the dictionary entry.
#calc reads the following code string to generate the library source code stored in the local dynamicCode directory with a subdirectory name corresponding to the SHA1 of the code. The code is then compiled into a dynamically loaded library libcodeStream_<SHA1>.so stored in the dynamicCode/platforms/$WM_OPTIONS/lib directory using 'wmake libso'. The resulting library is loaded in executed with arguments
where the dictionary is the current dictionary. The code writes results to the current entry via the Ostream os.
The verbatim string format #{ ... #} can optionally be used to allow string/word comparison without the need to escape the quotes and multi-line input without the need to escape the newlines.
Dictionary entries constructed #calc can conveniently access and use typed variables. This means calculations involving vectors and tensors and list etc. are possible. To access a variable and construct it as a given type within a #calc entry, put the type immediately after the $ symbol inside angled brackets <>. So, $<vector>var or $<vector>{var} substitutes a variable named var as a vector.
The variable values are no longer embedded into the code but looked-up at run-time making the code corresponding to each #calc independent of the values in the dictionary and of each other. Hence the #calc code does not need to be recompiled when the values in the dictionary are changed, only if the code is changed.
a 1.1;
b 3.2;
c #calc "$a*$b";
Special care is required for calc entries that include a division since "/" is also used as the scoping operator to identify keywords in sub-dictionaries. For example, "$a/b" expects a keyword "b" within a sub-dictionary named "a". A division can be correctly executed by using a space between a variables and "/", e.g.
c #calc "$a / $b";
or bracketing the variable, e.g.
c #calc "($a)/$b";
Example using the string type:
s "field";
fieldName #calc "$<string>s + \"Name\" ";
Additional include files for the #calc code compilation can be specified using the #codeInclude entry, e.g. if functions from transform.H are used:
angleOfAttack 5; // degs
angle #calc "-degToRad($angleOfAttack)";
#codeInclude "transform.H"
liftDir #calc "transform(Ry($angle), vector(0, 0, 1))";
dragDir #calc "transform(Ry($angle), vector(1, 0, 0))";
Calculate the magnitude of the velocity and turbulent kinetic energy where the velocity is looked-up from testCalc2:
magU #calc "mag($<vector>testCalc2!U)";
k #calc "1.5*magSqr(0.05*$<vector>{${FOAM_CASE}/testCalc2!U})";
Example to generate a single block blockMeshDict for use with snappyHexMesh with no redundant information:
min (-2.5 -1.2 -3.0); // Minimum coordinates of the block
max (2.5 1.2 3.0); // Maximum coordinates of the block
nCellsByL 33.3333; // Number of cells per unit length
// Calculate the number of cells in each block direction
nCells #calc
"Vector<label>($nCellsByL*($<vector>max - $<vector>min) + vector::one/2)";
// Generate the vertices using a boundBox
#codeInclude "boundBox.H"
vertices #calc "boundBox($<vector>min, $<vector>max).points()";
blocks
(
hex #calc "identityMap(8)" $nCells simpleGrading (1 1 1)
);
defaultPatch
{
type patch;
}
boundary
();
Example of conditional with #calc: showing the benefit of using verbatim string:
#if (#calc "$fluid == \"waterAndSludge\" || $fluid == \"waterAndSand\"")
mixture multicomponentMixture;
#else
mixture pureMixture;
#endif
same again but showing the benefit of using verbatim string:
#if (#calc #{$fluid == "waterAndSludge" || $fluid == "waterAndSand"#})
mixture multicomponentMixture;
#else
mixture pureMixture;
#endif
Definition at line 180 of file calcEntry.H.
| FunctionTypeName | ( | "#calc" | ) |
Runtime type information.
|
inlinevirtual |
Clone.
Reimplemented from streamEntry.
Definition at line 213 of file calcEntry.H.
References calcEntry::calcEntry().

|
inlinevirtual |
Expand the functionEntry into the contextDict.
Reimplemented from streamEntry.
Definition at line 222 of file calcEntry.H.
References NotImplemented.
|
static |
Expand the functionEntry into the contextEntry.
Definition at line 66 of file calcEntry.C.
References Foam::vtkWriteOps::insert().

|
friend |
Declare friendship with the calcEntry class.
Definition at line 200 of file calcEntry.H.