An input stream of tokens. More...
Public Member Functions | |
ITstream (const ITstream &is) | |
Copy construct. More... | |
ITstream (ITstream &&is) | |
Move construct. More... | |
ITstream (IOstreamOption streamOpt=IOstreamOption(), const string &name="input") | |
Default construct. Empty stream, optionally with given name. More... | |
ITstream (const Foam::zero, const string &name="input", IOstreamOption streamOpt=IOstreamOption()) | |
Construct empty, optionally with given name. More... | |
ITstream (const string &name, const UList< token > &tokens, IOstreamOption streamOpt=IOstreamOption()) | |
Copy construct from tokens, with given name. More... | |
ITstream (const string &name, List< token > &&tokens, IOstreamOption streamOpt=IOstreamOption()) | |
Move construct from tokens, with given name. More... | |
ITstream (const UList< char > &input, IOstreamOption streamOpt=IOstreamOption(), const string &name="input") | |
Construct token list by parsing the input character sequence. More... | |
ITstream (const std::string &input, IOstreamOption streamOpt=IOstreamOption(), const string &name="input") | |
Construct token list by parsing the input string. More... | |
ITstream (const char *input, IOstreamOption streamOpt=IOstreamOption(), const string &name="input") | |
Construct token list by parsing the input character sequence. More... | |
virtual | ~ITstream ()=default |
Destructor. More... | |
bool | hasPutback () const noexcept |
True if putback token is in use. More... | |
const token & | peekFirst () const |
Failsafe peek at the first token in the list. More... | |
const token & | peekLast () const |
Failsafe peek at the last token in the list. More... | |
const token & | peek () const |
Failsafe peek at what the next read would return,. More... | |
label | tokenIndex () const noexcept |
The current token index when reading, or the insertion point. More... | |
label & | tokenIndex () noexcept |
Non-const access to the current token index. More... | |
label | nRemainingTokens () const noexcept |
Number of tokens remaining. More... | |
void | seek (label pos) |
Move tokenIndex to the specified position. More... | |
void | skip (label n=1) |
Move tokenIndex relative to the current position. More... | |
virtual const fileName & | name () const |
Get the name of the stream. More... | |
virtual fileName & | name () |
Return stream name for modification. More... | |
void | append (const token &t, const bool lazy) |
void | append (token &&t, const bool lazy) |
void | append (const UList< token > &newTokens, const bool lazy) |
void | append (List< token > &&newTokens, const bool lazy) |
virtual ios_base::fmtflags | flags () const |
Get stream flags - always 0. More... | |
ios_base::fmtflags | flags (const ios_base::fmtflags) |
Set flags of stream - ignored. More... | |
virtual Istream & | read (token &tok) |
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 &) |
Read a string (including enclosing double-quotes) More... | |
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 (char *data, std::streamsize) |
Read binary block. More... | |
virtual Istream & | readRaw (char *data, std::streamsize count) |
Low-level raw binary read. More... | |
virtual bool | beginRawRead () |
Start of low-level raw binary read. More... | |
virtual bool | endRawRead () |
End of low-level raw binary read. More... | |
virtual void | rewind () |
Rewind the stream so that it may be read again. More... | |
void | print (Ostream &os) const |
Print stream description to Ostream. More... | |
std::string | toString () const |
void | operator= (const ITstream &is) |
Copy assignment, with rewind() More... | |
void | operator= (const UList< token > &toks) |
Copy assignment of tokens, with rewind() More... | |
void | operator= (List< token > &&toks) |
Move assignment of tokens, with rewind() More... | |
![]() | |
Istream (const Istream &)=default | |
Copy construct. More... | |
virtual | ~Istream ()=default |
Destructor. More... | |
Istream (IOstreamOption streamOpt=IOstreamOption()) | |
Istream (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver=IOstreamOption::currentVersion, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED) | |
Construct with format, version (compression) More... | |
const token & | peekBack () const noexcept |
Examine putback token without removing it. More... | |
bool | peekBack (token &tok) |
Fetch putback token without removing it. More... | |
void | putBack (const token &tok) |
Put back a token. Only a single put back is permitted. More... | |
bool | getBack (token &tok) |
Get the put-back token if there is one. More... | |
bool | readBegin (const char *funcName) |
Begin read of data chunk, starts with '('. More... | |
bool | readEnd (const char *funcName) |
End read of data chunk, ends with ')'. More... | |
char | readBeginList (const char *funcName) |
Begin read of list data, starts with '(' or '{'. More... | |
char | readEndList (const char *funcName) |
End read of list data, ends with ')' or '}'. More... | |
Istream & | operator() () const |
Return a non-const reference to const Istream. More... | |
![]() | |
IOstream (const IOstream &)=default | |
Copy construct. More... | |
virtual | ~IOstream ()=default |
Destructor. More... | |
IOstream (IOstreamOption streamOpt=IOstreamOption()) | |
IOstream (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED) | |
Construct with format, version (compression) More... | |
fileName | relativeName () const |
Return the name of the stream relative to the current case. More... | |
virtual bool | check (const char *operation) const |
Check IOstream status for given operation. More... | |
bool | fatalCheck (const char *operation) const |
Check IOstream status for given operation. More... | |
bool | opened () const noexcept |
True if stream has been opened. More... | |
bool | closed () const noexcept |
True if stream is closed. More... | |
bool | good () const noexcept |
True if next operation might succeed. More... | |
bool | eof () const noexcept |
True if end of input seen. More... | |
bool | fail () const noexcept |
True if next operation will fail. More... | |
bool | bad () const noexcept |
True if stream is corrupted. More... | |
operator bool () const noexcept | |
Return true if the stream has not failed. More... | |
bool | operator! () const noexcept |
Return true if the stream has failed. More... | |
unsigned | labelByteSize () const noexcept |
The sizeof (label) in bytes associated with the stream. More... | |
unsigned | scalarByteSize () const noexcept |
The sizeof (scalar) in bytes associated with the stream. More... | |
void | setLabelByteSize (unsigned nbytes) noexcept |
Set the sizeof (label) in bytes associated with the stream. More... | |
void | setScalarByteSize (unsigned nbytes) noexcept |
Set the sizeof (scalar) in bytes associated with the stream. More... | |
template<class T = label> | |
std::enable_if< std::is_integral< T >::value, bool >::type | checkLabelSize () const noexcept |
template<class T = scalar> | |
std::enable_if< std::is_floating_point< T >::value, bool >::type | checkScalarSize () const noexcept |
label | lineNumber () const noexcept |
Const access to the current stream line number. More... | |
label & | lineNumber () noexcept |
Non-const access to the current stream line number. More... | |
label | lineNumber (const label num) noexcept |
Set the stream line number. More... | |
void | setEof () noexcept |
Set stream state as reached 'eof'. More... | |
void | setFail () noexcept |
Set stream state as 'failed'. More... | |
void | setBad () |
Set stream state 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 f) |
Unset flags of stream. More... | |
void | print (Ostream &os, const int streamState) const |
Print information about the stream state bits. More... | |
InfoProxy< IOstream > | info () const |
Return info proxy. More... | |
![]() | |
constexpr | IOstreamOption (streamFormat fmt=streamFormat::ASCII, compressionType comp=compressionType::UNCOMPRESSED) noexcept |
constexpr | IOstreamOption (streamFormat fmt, compressionType comp, versionNumber ver) noexcept |
Construct from components (format, compression, version) More... | |
constexpr | IOstreamOption (streamFormat fmt, versionNumber ver, compressionType comp=compressionType::UNCOMPRESSED) noexcept |
Construct from components (format, version, compression) More... | |
IOstreamOption (const IOstreamOption &opt, streamFormat fmt) noexcept | |
Copy construct with change of format. More... | |
streamFormat | format () const noexcept |
Get the current stream format. More... | |
streamFormat | format (const streamFormat fmt) noexcept |
Set the stream format. More... | |
streamFormat | format (const word &formatName) |
Set the stream format from string value. More... | |
compressionType | compression () const noexcept |
Get the stream compression. More... | |
compressionType | compression (const compressionType comp) noexcept |
Set the stream compression. More... | |
compressionType | compression (const word &compName) |
Set the stream compression from string value. More... | |
versionNumber | version () const noexcept |
Get the stream version. More... | |
versionNumber | version (const versionNumber ver) noexcept |
Set the stream version. More... | |
versionNumber | version (const token &tok) |
Set the stream version from token. More... | |
![]() | |
constexpr | List () noexcept |
Default construct. More... | |
List (const label len) | |
Construct with given size. More... | |
List (const label len, const T &val) | |
Construct with given size and value for all elements. More... | |
List (const label len, const Foam::zero) | |
Construct with given size initializing all elements to zero. More... | |
List (const Foam::one, const T &val) | |
Construct with length=1, copying the value as the only content. More... | |
List (const Foam::one, T &&val) | |
Construct with length=1, moving the value as the only content. More... | |
List (const Foam::one, const Foam::zero) | |
Construct with length=1, initializing content to zero. More... | |
List (const List< T > &a) | |
Copy construct from list. More... | |
List (const UList< T > &a) | |
Copy construct contents from list. More... | |
List (List< T > &a, bool reuse) | |
Construct as copy or re-use as specified. More... | |
List (const UList< T > &list, const labelUList &indices) | |
Copy construct subset of list. More... | |
template<unsigned N> | |
List (const UList< T > &list, const FixedList< label, N > &indices) | |
Copy construct subset of list. More... | |
template<unsigned N> | |
List (const FixedList< T, N > &list) | |
Construct as copy of FixedList<T, N> More... | |
List (const PtrList< T > &list) | |
Construct as copy of PtrList<T> More... | |
List (const SLList< T > &list) | |
Construct as copy of SLList<T> More... | |
template<class Addr > | |
List (const IndirectListBase< T, Addr > &list) | |
Construct as copy of IndirectList contents. More... | |
List (std::initializer_list< T > list) | |
Construct from an initializer list. More... | |
List (List< T > &&list) | |
Move construct from List. More... | |
template<int SizeMin> | |
List (DynamicList< T, SizeMin > &&list) | |
Move construct from DynamicList. More... | |
List (SortableList< T > &&list) | |
Move construct from SortableList. More... | |
List (SLList< T > &&list) | |
Move construct from SLList. More... | |
List (Istream &is) | |
Construct from Istream. More... | |
autoPtr< List< T > > | clone () const |
Clone. More... | |
~List () | |
Destructor. More... | |
void | clear () |
Clear the list, i.e. set size to zero. More... | |
void | resize (const label len) |
Adjust allocated size of list. More... | |
void | resize (const label len, const T &val) |
Adjust allocated size of list and set val for new elements. More... | |
void | resize_nocopy (const label len) |
Adjust allocated size of list without necessarily. More... | |
void | setSize (const label n) |
Alias for resize() More... | |
void | setSize (const label n, const T &val) |
Alias for resize() More... | |
void | append (const T &val) |
Append an element at the end of the list. More... | |
void | append (T &&val) |
Move append an element at the end of the list. More... | |
void | append (const UList< T > &list) |
Append a List to the end of this list. More... | |
template<class Addr > | |
void | append (const IndirectListBase< T, Addr > &list) |
Append IndirectList contents at the end of this list. More... | |
label | appendUniq (const T &val) |
Append an element if not already in the list. More... | |
void | transfer (List< T > &list) |
template<int SizeMin> | |
void | transfer (DynamicList< T, SizeMin > &list) |
void | transfer (SortableList< T > &list) |
T & | newElmt (const label i) |
void | operator= (const UList< T > &a) |
Assignment to UList operator. Takes linear time. More... | |
void | operator= (const List< T > &list) |
Assignment operator. Takes linear time. More... | |
void | operator= (const SLList< T > &list) |
Assignment to SLList operator. Takes linear time. More... | |
template<class Addr > | |
void | operator= (const IndirectListBase< T, Addr > &list) |
Assignment from IndirectList. Takes linear time. More... | |
template<unsigned N> | |
void | operator= (const FixedList< T, N > &list) |
Copy assignment from FixedList. More... | |
void | operator= (std::initializer_list< T > list) |
Assignment to an initializer list. More... | |
void | operator= (const T &val) |
Assignment of all entries to the given value. More... | |
void | operator= (const Foam::zero) |
Assignment of all entries to zero. More... | |
void | operator= (List< T > &&list) |
Move assignment. Takes constant time. More... | |
template<int SizeMin> | |
void | operator= (DynamicList< T, SizeMin > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SortableList< T > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SLList< T > &&list) |
Move assignment. Takes constant time. More... | |
Istream & | readList (Istream &is) |
Read List from Istream, discarding contents of existing List. More... | |
void | shallowCopy (const UList< T > &)=delete |
No shallowCopy permitted. More... | |
template<class TypeT = T> | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | set (const label i, bool val=true) |
A bitSet::set() method for a list of bool. More... | |
template<> | |
Istream & | readList (Istream &is) |
template<> | |
void | resize (const label newLen) |
template<> | |
Istream & | readList (Istream &is) |
Static Public Member Functions | |
static tokenList | parse (const UList< char > &input, IOstreamOption streamOpt=IOstreamOption()) |
static tokenList | parse (const std::string &input, IOstreamOption streamOpt=IOstreamOption()) |
static tokenList | parse (const char *input, IOstreamOption streamOpt=IOstreamOption()) |
![]() | |
static unsigned int | defaultPrecision () noexcept |
Return the default precision. More... | |
static unsigned int | defaultPrecision (unsigned int prec) noexcept |
Reset the default precision. More... | |
![]() | |
static streamFormat | formatEnum (const word &formatName, const streamFormat deflt=streamFormat::ASCII) |
static streamFormat | formatEnum (const word &key, const dictionary &dict, const streamFormat deflt=streamFormat::ASCII) |
Failsafe construct streamFormat from optional dictionary lookup. More... | |
static compressionType | compressionEnum (const word &compName, const compressionType deflt=compressionType::UNCOMPRESSED) |
The compression enum corresponding to the string. More... | |
static compressionType | compressionEnum (const word &key, const dictionary &dict, const compressionType deflt=compressionType::UNCOMPRESSED) |
Failsafe construct compressionType from optional dictionary lookup. More... | |
![]() | |
static const List< T > & | null () |
Return a null List. More... | |
Additional Inherited Members | |
![]() | |
enum | streamAccess : char { CLOSED = 0, OPENED } |
Enumeration for stream open/closed state. More... | |
![]() | |
enum | streamFormat : char { ASCII = 0, BINARY } |
Data format (ascii | binary) More... | |
enum | compressionType : char { UNCOMPRESSED = 0, COMPRESSED } |
Compression treatment (UNCOMPRESSED | COMPRESSED) More... | |
![]() | |
typedef SubList< T > | subList |
Declare type of subList. More... | |
![]() | |
static unsigned int | precision_ |
Default precision. More... | |
![]() | |
static const Enum< streamFormat > | formatNames |
Stream format names (ascii, binary) More... | |
static const versionNumber | currentVersion |
The current version number (2.0) More... | |
![]() | |
bool | hasPutback () const noexcept |
True if putback token is in use. More... | |
![]() | |
void | setOpened () noexcept |
Set stream opened. More... | |
void | setClosed () noexcept |
Set stream closed. More... | |
void | setState (std::ios_base::iostate state) noexcept |
Set stream state. More... | |
void | setGood () noexcept |
Set stream state to be good. More... | |
![]() | |
std::ios_base::iostate | ioState_ |
Mirror of internal stream io state. More... | |
streamAccess | openClosed_ |
The stream open/closed state. More... | |
unsigned char | sizeofLabel_ |
The sizeof (label), possibly read from the header. More... | |
unsigned char | sizeofScalar_ |
The sizeof (scalar), possibly read from the header. More... | |
label | lineNumber_ |
The file line. More... | |
![]() | |
static fileName | staticName_ |
Name for any generic stream - normally treat as readonly. More... | |
Copy construct.
Definition at line 160 of file ITstream.C.
References IOstream::setGood(), and IOstream::setOpened().
Move construct.
Definition at line 172 of file ITstream.C.
References IOstream::setGood(), and IOstream::setOpened().
|
explicit |
Default construct. Empty stream, optionally with given name.
Definition at line 185 of file ITstream.C.
|
explicit |
Construct empty, optionally with given name.
Definition at line 201 of file ITstream.C.
ITstream | ( | const string & | name, |
const UList< token > & | tokens, | ||
IOstreamOption | streamOpt = IOstreamOption() |
||
) |
Copy construct from tokens, with given name.
Definition at line 212 of file ITstream.C.
ITstream | ( | const string & | name, |
List< token > && | tokens, | ||
IOstreamOption | streamOpt = IOstreamOption() |
||
) |
Move construct from tokens, with given name.
Definition at line 229 of file ITstream.C.
|
explicit |
Construct token list by parsing the input character sequence.
Uses static parse function internally.
Definition at line 246 of file ITstream.C.
References Foam::input(), Foam::parseStream(), and ITstream::rewind().
|
explicit |
Construct token list by parsing the input string.
Uses static parse function internally.
Definition at line 262 of file ITstream.C.
References Foam::input(), Foam::parseStream(), and ITstream::rewind().
|
explicit |
Construct token list by parsing the input character sequence.
Uses static parse function internally.
Definition at line 278 of file ITstream.C.
References Foam::input(), Foam::parseStream(), and ITstream::rewind().
|
virtualdefault |
Destructor.
|
static |
Create token list by parsing the input character sequence until no good tokens remain.
Definition at line 82 of file ITstream.C.
References Foam::input(), and Foam::parseStream().
Referenced by dictionary::tokens().
|
static |
Create token list by parsing the input string until no good tokens remain.
Definition at line 96 of file ITstream.C.
References Foam::input(), and Foam::parseStream().
|
static |
Create token list by parsing the input character sequence until no good tokens remain.
Definition at line 110 of file ITstream.C.
References Foam::input(), and Foam::parseStream().
|
inlinenoexcept |
True if putback token is in use.
Definition at line 183 of file ITstream.H.
References Istream::hasPutback().
const Foam::token & peekFirst | ( | ) | const |
Failsafe peek at the first token in the list.
undefinedToken
if the list is empty. Definition at line 340 of file ITstream.C.
References Foam::peekTokenAt().
const Foam::token & peekLast | ( | ) | const |
Failsafe peek at the last token in the list.
undefinedToken
if the list is empty. Definition at line 346 of file ITstream.C.
References Foam::peekTokenAt().
const Foam::token & peek | ( | ) | const |
Failsafe peek at what the next read would return,.
including handling of any putback
undefinedToken
if list is exhausted Definition at line 352 of file ITstream.C.
References Istream::hasPutback(), Istream::peekBack(), and Foam::peekTokenAt().
Referenced by Constant< Type >::Constant(), Polynomial< Type >::Polynomial(), Foam::readScaling(), and Table< Type >::Table().
|
inlinenoexcept |
The current token index when reading, or the insertion point.
Definition at line 202 of file ITstream.H.
|
inlinenoexcept |
Non-const access to the current token index.
Definition at line 208 of file ITstream.H.
|
inlinenoexcept |
Number of tokens remaining.
Definition at line 214 of file ITstream.H.
Referenced by entry::checkITstream(), and dictionary::checkITstream().
void seek | ( | label | pos | ) |
Move tokenIndex to the specified position.
Using seek(0) is identical to rewind. Using seek(-1) moves to the end.
Definition at line 364 of file ITstream.C.
References Foam::pos().
void skip | ( | label | n = 1 | ) |
Move tokenIndex relative to the current position.
Will not overrun the beginning or end positions.
Use skip(2) to move forward two tokens. Use skip(-2) to move backward two tokens.
Definition at line 411 of file ITstream.C.
References n.
Referenced by Constant< Type >::Constant(), Polynomial< Type >::Polynomial(), and Table< Type >::Table().
|
inlinevirtual |
Get the name of the stream.
Reimplemented from IOstream.
Reimplemented in primitiveEntry.
Definition at line 235 of file ITstream.H.
Referenced by primitiveEntry::name(), and primitiveEntry::primitiveEntry().
|
inlinevirtual |
Return stream name for modification.
Reimplemented from IOstream.
Reimplemented in primitiveEntry.
Definition at line 241 of file ITstream.H.
Copy append a token at the current tokenIndex, incrementing the index.
Definition at line 567 of file ITstream.C.
Move append a token at the current tokenIndex, incrementing the index.
Definition at line 577 of file ITstream.C.
Copy append a list of tokens at the current tokenIndex, incrementing the index.
newTokens | the list of tokens to copy append |
lazy | leaves any excess capacity for further appends. The caller will be responsible for resizing later. |
Definition at line 587 of file ITstream.C.
References UList< T >::size().
Move append a list of tokens at the current tokenIndex, incrementing the index.
newTokens | the list of tokens to move append |
lazy | leaves any excess capacity for further appends. The caller will be responsible for resizing later. |
Definition at line 600 of file ITstream.C.
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
Return next token from stream.
Implements Istream.
Definition at line 453 of file ITstream.C.
References Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Istream::getBack(), token::lineNumber(), and token::reset().
|
virtual |
Read a character.
Implements Istream.
Definition at line 505 of file ITstream.C.
References NotImplemented.
|
virtual |
Read a word.
Implements Istream.
Definition at line 512 of file ITstream.C.
References NotImplemented.
|
virtual |
Read a string (including enclosing double-quotes)
Implements Istream.
Definition at line 519 of file ITstream.C.
References NotImplemented.
|
virtual |
Read a label.
Implements Istream.
Definition at line 526 of file ITstream.C.
References NotImplemented.
|
virtual |
Read a floatScalar.
Implements Istream.
Definition at line 533 of file ITstream.C.
References NotImplemented.
|
virtual |
Read a doubleScalar.
Implements Istream.
Definition at line 540 of file ITstream.C.
References NotImplemented.
|
virtual |
Read binary block.
Implements Istream.
Definition at line 554 of file ITstream.C.
References NotImplemented.
|
virtual |
Low-level raw binary read.
Implements Istream.
Definition at line 547 of file ITstream.C.
References NotImplemented.
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
Rewind the stream so that it may be read again.
Implements Istream.
Definition at line 561 of file ITstream.C.
Referenced by Foam::exprTools::getList(), ITstream::ITstream(), simpleObjectRegistry::setNamedValue(), and primitiveEntry::stream().
|
virtual |
Print stream description to Ostream.
Reimplemented from IOstream.
Definition at line 295 of file ITstream.C.
References os(), and IOstream::print().
std::string toString | ( | ) | const |
Concatenate tokens into a space-separated std::string. The resulting string may contain quote characters.
Definition at line 320 of file ITstream.C.
References StringStreamAllocator< StreamType >::str().
Referenced by expressionEntry::inplaceExpand().
void operator= | ( | const ITstream & | is | ) |
Copy assignment, with rewind()
Definition at line 617 of file ITstream.C.
References List< T >::operator=().
Copy assignment of tokens, with rewind()
Definition at line 630 of file ITstream.C.
References List< T >::operator=().
Move assignment of tokens, with rewind()
Definition at line 637 of file ITstream.C.
References List< T >::operator=().