Dictionary entry that contains C++ OpenFOAM code that is compiled to generate the entry itself. So. More...
Public Member Functions | |
ClassName ("codeStream") | |
Runtime type information. More... | |
Public Member Functions inherited from functionEntry | |
functionEntry (const word &, const dictionary &, Istream &) | |
Construct from keyword, parent dictionary and Istream. More... | |
declareMemberFunctionSelectionTable (bool, functionEntry, execute, dictionaryIstream,(dictionary &parentDict, Istream &is),(parentDict, is)) | |
declareMemberFunctionSelectionTable (bool, functionEntry, execute, primitiveEntryIstream,(const dictionary &parentDict, primitiveEntry &entry, Istream &is),(parentDict, entry, is)) | |
virtual void | write (Ostream &) const |
Write. More... | |
Public Member Functions inherited from primitiveEntry | |
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 &, const ITstream &) | |
Construct from keyword and a 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 Xfer< List< token >> &) | |
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... | |
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... | |
label | startLineNumber () const |
Return line number of first token in dictionary. More... | |
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... | |
Public Member Functions inherited from entry | |
entry (const keyType &) | |
Construct from keyword. More... | |
entry (const entry &) | |
Construct as copy. 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 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 UList< token > &tokens, streamFormat format=ASCII, versionNumber version=currentVersion) | |
Construct from components. More... | |
ITstream (const string &name, const Xfer< List< token >> &tokens, streamFormat format=ASCII, versionNumber version=currentVersion) | |
Construct from components, transferring the tokens. More... | |
ITstream (const ITstream &its) | |
Construct as copy. 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 (label &) |
Read a label. 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... | |
Public Member Functions inherited from Istream | |
Istream (streamFormat format=ASCII, versionNumber version=currentVersion, compressionType compression=UNCOMPRESSED) | |
Set stream status. More... | |
virtual | ~Istream () |
Destructor. 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 (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 (streamFormat format, versionNumber version, compressionType compression=UNCOMPRESSED) | |
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... | |
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 initializing all elements to zero. More... | |
List (const List< T > &) | |
Copy constructor. More... | |
template<class T2 > | |
List (const List< T2 > &) | |
Copy constructor from list containing another type. More... | |
List (const Xfer< List< T >> &) | |
Construct by transferring the parameter contents. More... | |
List (List< T > &, bool reuse) | |
Construct as copy or re-use 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 initializer 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... | |
Xfer< List< T > > | xfer () |
Transfer contents to the Xfer container. 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= (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 initializer 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... | |
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... | |
void | writeEntry (Ostream &) const |
Write the UList as a dictionary entry. More... | |
void | writeEntry (const word &keyword, Ostream &) const |
Write the UList as a dictionary entry with keyword. 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... | |
template<> | |
const bool & | operator[] (const label i) const |
Static Public Member Functions | |
static bool | execute (dictionary &parentDict, Istream &) |
Execute the functionEntry in a sub-dict context. More... | |
static bool | execute (const dictionary &parentDict, primitiveEntry &, Istream &) |
Execute the functionEntry in a primitiveEntry context. More... | |
Static Public Member Functions inherited from functionEntry | |
static bool | execute (const word &functionName, dictionary &parentDict, Istream &) |
Execute the functionEntry in a sub-dict context. More... | |
static bool | execute (const word &functionName, const dictionary &parentDict, primitiveEntry &, Istream &) |
Execute the functionEntry in a primitiveEntry context. 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 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... | |
Static Public Attributes | |
static const word | codeTemplateC = "codeStreamTemplate.C" |
Name of the C code template to be used. More... | |
Static Public Attributes inherited from entry | |
static int | disableFunctionEntries |
Static Public Attributes inherited from IOstream | |
static const versionNumber | originalVersion |
Original version number. More... | |
static const versionNumber | currentVersion |
Current version number. More... | |
static unsigned int | precision_ |
Default precision. More... | |
Friends | |
class | calcEntry |
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 T * | reverse_iterator |
Reverse iterator for reverse traversal of UList. More... | |
typedef const T * | const_reverse_iterator |
Reverse iterator for reverse traversal of constant UList. 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... | |
Protected Attributes inherited from IOstream | |
label | lineNumber_ |
Dictionary entry that contains C++ OpenFOAM code that is compiled to generate the entry itself. So.
- codeStream reads three entries: 'code', 'codeInclude' (optional), 'codeOptions' (optional) and uses those to generate library sources inside codeStream/
E.g. to set the internal field of a field:
internalField #codeStream { code #{ const IOdictionary& d = static_cast<const IOdictionary&>(dict); const fvMesh& mesh = refCast<const fvMesh>(d.db()); scalarField fld(mesh.nCells(), 12.34); fld.writeEntry("", os); #}; //! Optional: codeInclude #{ #include "fvCFD.H" #}; //! Optional: codeOptions #{ -I$(LIB_SRC)/finiteVolume/lnInclude #}; };
Note the #{
... #}
syntax is a 'verbatim' input mode that allows inputting strings with embedded newlines.
Limitations:
$
and ~
sequences)codeStream
directory with a subdirectory name corresponding to the SHA1 of the contents.The corresponding library code is located under the local codeStream/platforms/$WM_OPTIONS/lib
directory in a library libcodeStream_SHA1.so
Definition at line 112 of file codeStream.H.
ClassName | ( | "codeStream" | ) |
Runtime type information.
|
static |
Execute the functionEntry in a sub-dict context.
Definition at line 402 of file codeStream.C.
References dynamicCode::checkSecurity(), Foam::endl(), IOstream::format(), Foam::Info, IOstream::lineNumber(), dictionaryName::name(), and dictionary::read().
Referenced by codeStream::execute().
|
static |
Execute the functionEntry in a primitiveEntry context.
Definition at line 368 of file codeStream.C.
References dynamicCode::checkSecurity(), Foam::endl(), codeStream::execute(), IOstream::format(), Foam::Info, IOstream::lineNumber(), dictionaryName::name(), and primitiveEntry::read().
|
friend |
Declare friendship with the calcEntry class.
Definition at line 157 of file codeStream.H.
|
static |
Name of the C code template to be used.
Definition at line 152 of file codeStream.H.