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 UList< token > &tokens, IOstreamOption streamOpt=IOstreamOption(), const string &name="input") | |
Copy construct from tokens, optionally with given name. More... | |
ITstream (List< token > &&tokens, IOstreamOption streamOpt=IOstreamOption(), const string &name="input") | |
Move construct from tokens, optionally 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... | |
ITstream (stdFoam::span< char > s, IOstreamOption streamOpt=IOstreamOption()) | |
Construct token list by parsing the input character sequence. More... | |
ITstream (stdFoam::span< const char > s, IOstreamOption streamOpt=IOstreamOption()) | |
Construct token list by parsing the input character sequence. 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... | |
virtual | ~ITstream ()=default |
Destructor. More... | |
virtual const fileName & | name () const override |
The name of the input token stream. More... | |
virtual fileName & | name () |
The name of the input token stream, for modification. More... | |
label | startLineNumber () const |
The line number of the first token in stream. More... | |
label | endLineNumber () const |
The line number of the last token in stream. More... | |
const tokenList & | tokens () const noexcept |
The token contents (read-only access) More... | |
tokenList & | tokens () noexcept |
The token contents (read/write access) More... | |
bool | hasPutback () const noexcept |
True if putback token is in use. More... | |
const token & | front () const noexcept |
Failsafe peek at the token at the front of the tokenList. More... | |
const token & | back () const noexcept |
Failsafe peek at the token at the back of the tokenList. More... | |
const token & | peek () const noexcept |
Failsafe peek at what the next read would return, including handling of any putback. More... | |
const token & | currentToken () const noexcept |
Read access to the token at the current tokenIndex. More... | |
token & | currentToken () |
Write access to the token at the current tokenIndex. Fatal if not in range. More... | |
const token & | peekToken (const label i) const |
Failsafe read access to token at given position in the tokenList. 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 | tokenIndex (const label num) noexcept |
Set the token index (no checks). More... | |
label | nRemainingTokens () const noexcept |
Number of tokens remaining. More... | |
void | seek (label pos) noexcept |
Move tokenIndex to the specified position and adjust the stream status (open/good/eof ...) More... | |
bool | skip (label n=1) noexcept |
Move tokenIndex relative to the current position. More... | |
labelRange | find (const token::punctuationToken delimOpen, const token::punctuationToken delimClose, label pos=0) const |
Find range containing matching delimiter pair, starting at the specified position. The position -1 indicates to continue from the present tokenIndex() position. More... | |
template<class Type > | |
const Type * | findCompound (label pos=0) const |
Find compoundToken of specified Type, starting at the specified position. The position -1 indicates to continue from the present tokenIndex() position. More... | |
ITstream | extract (const labelRange &range) |
Remove a (start,size) subset from the list and move remaining elements down. More... | |
label | remove (const labelRange &range) |
Remove a (start,size) subset from the list and move remaining elements down. More... | |
void | add_tokens (const token &tok) |
Copy append a token at the current tokenIndex, incrementing the index. More... | |
void | add_tokens (token &&tok) |
Move append a token at the current tokenIndex, incrementing the index. More... | |
void | add_tokens (const UList< token > &toks) |
Copy append a list of tokens at the current tokenIndex, incrementing the index. More... | |
void | add_tokens (List< token > &&toks) |
Move append a list of tokens at the current tokenIndex, incrementing the index. More... | |
virtual std::ios_base::fmtflags | flags () const override |
Return current stream flags. Dummy for token stream, returns 0. More... | |
std::ios_base::fmtflags | flags (std::ios_base::fmtflags) override |
Set stream flags, return old stream flags. Dummy for token stream, returns 0. More... | |
virtual Istream & | read (token &tok) override |
Return next token from stream. More... | |
virtual Istream & | read (char &) override |
Read a character : triggers not implemented error. More... | |
virtual Istream & | read (word &) override |
Read a word : triggers not implemented error. More... | |
virtual Istream & | read (string &) override |
Read a string (including enclosing double-quotes) : triggers not implemented error. More... | |
virtual Istream & | read (label &) override |
Read a label : triggers not implemented error. More... | |
virtual Istream & | read (float &) override |
Read a float : triggers not implemented error. More... | |
virtual Istream & | read (double &) override |
Read a double : triggers not implemented error. More... | |
virtual Istream & | read (char *data, std::streamsize) override |
Read binary block : triggers not implemented error. More... | |
virtual Istream & | readRaw (char *data, std::streamsize count) override |
Low-level raw binary read : triggers not implemented error. More... | |
virtual bool | beginRawRead () override |
Start of low-level raw binary read : no-op. More... | |
virtual bool | endRawRead () override |
End of low-level raw binary read : no-op. More... | |
virtual void | rewind () override |
Rewind the stream so that it may be read again. Same as seek(0) More... | |
void | print (Ostream &os) const override |
Print stream description to Ostream. More... | |
std::string | toString () const |
Concatenate tokens into a space-separated std::string. The resulting string may contain quote characters. More... | |
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... | |
const token & | peekFirst () const |
Same as front() More... | |
void | append (const token &t, bool) |
void | append (token &&t, bool) |
void | append (const UList< token > &t, bool) |
void | append (List< token > &&t, bool) |
void | push_back (const token &t, bool) |
void | push_back (token &&t, bool) |
void | push_back (const UList< token > &t, bool) |
void | push_back (List< token > &&t, bool) |
Public Member Functions inherited from Istream | |
Istream (const Istream &)=default | |
Copy construct. More... | |
virtual | ~Istream ()=default |
Destructor. More... | |
Istream (IOstreamOption streamOpt=IOstreamOption()) | |
Default construct (ASCII, uncompressed), construct with specified stream option. More... | |
Istream (IOstreamOption::streamFormat fmt, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED) | |
Construct with format (uncompressed) More... | |
const token & | peekBack () const noexcept |
Examine putback token without removing it. More... | |
void | putBackClear () |
Drop the putback token. More... | |
void | putBack (const token &tok) |
Put back a token (copy). Only a single put back is permitted. More... | |
void | putBack (token &&tok) |
Put back a token (move). Only a single put back is permitted. More... | |
bool | getBack (token &tok) |
Retrieve 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... | |
Public Member Functions inherited from IOstream | |
IOstream (const IOstream &)=default | |
Copy construct. More... | |
virtual | ~IOstream ()=default |
Destructor. More... | |
IOstream (IOstreamOption streamOpt=IOstreamOption()) | |
Default construct (ASCII, uncompressed), construct with specified stream option. More... | |
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 |
Check if the label byte-size associated with the stream is the same as the given type. More... | |
template<class T = scalar> | |
std::enable_if< std::is_floating_point< T >::value, bool >::type | checkScalarSize () const noexcept |
Check if the scalar byte-size associated with the stream is the same as the given type. More... | |
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 () noexcept |
Set stream state to be 'bad'. More... | |
std::ios_base::fmtflags | setf (std::ios_base::fmtflags f) |
Set stream flag(s), return old stream flags. More... | |
std::ios_base::fmtflags | setf (const std::ios_base::fmtflags f, const std::ios_base::fmtflags mask) |
Set stream flag(s) with mask, return old stream flags. More... | |
void | unsetf (std::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 noexcept |
Return info proxy, used to print IOstream information to a stream. More... | |
Public Member Functions inherited from IOstreamOption | |
constexpr | IOstreamOption (streamFormat fmt=streamFormat::ASCII, compressionType comp=compressionType::UNCOMPRESSED) noexcept |
Default construct (ASCII, UNCOMPRESSED, currentVersion) or construct with format, compression. More... | |
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... | |
Public Member Functions inherited from List< T > | |
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 > &list) | |
Copy construct from list. More... | |
List (const UList< T > &list) | |
Copy construct contents from list. More... | |
List (List< T > &list, 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... | |
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) noexcept | |
Move construct from List. More... | |
template<int SizeMin> | |
List (DynamicList< T, SizeMin > &&list) | |
Move construct from DynamicList. 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_fill (const label len, const T &val) |
Adjust allocated size of list and set val for all elements. More... | |
void | resize_nocopy (const label len) |
Adjust allocated size of list without necessarily. More... | |
void | resize_unsafe (const label len) noexcept |
Change the addressed list size directly without affecting any memory management (advanced usage). More... | |
void | setSize (const label n) |
Alias for resize() More... | |
void | setSize (const label n, const T &val) |
Alias for resize() More... | |
void | transfer (List< T > &list) |
Transfer the contents of the argument List into this list and annul the argument list. More... | |
template<int SizeMin> | |
void | transfer (DynamicList< T, SizeMin > &list) |
Transfer the contents of the argument List into this list and annul the argument list. More... | |
T & | newElmt (const label i) |
Return subscript-checked element of UList and resizing the list if required. More... | |
template<class... Args> | |
T & | emplace_back (Args &&... args) |
Construct an element at the end of the list, return reference to the new list element. More... | |
void | push_back (const T &val) |
Append an element at the end of the list. More... | |
void | push_back (T &&val) |
Move append an element at the end of the list. More... | |
void | push_back (const UList< T > &list) |
Append a List to the end of this list. More... | |
template<class Addr > | |
void | push_back (const IndirectListBase< T, Addr > &list) |
Append IndirectList contents at the end of this list. More... | |
label | push_uniq (const T &val) |
Append an element if not already in the list. More... | |
void | pop_back (label n=1) |
Reduce size by 1 or more elements. Can be called on an empty list. More... | |
void | operator= (const UList< T > &list) |
Assignment to UList operator. Takes linear time. More... | |
void | operator= (const List< T > &list) |
Assignment 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... | |
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... | |
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) |
Same as push_uniq() More... | |
List (const SLList< T > &list) | |
Copy construct from SLList. More... | |
void | operator= (const SLList< T > &list) |
Copy assign from SLList in linear time. More... | |
template<> | |
void | resize (const label newLen) |
Public Member Functions inherited from UList< T > | |
UList (const UList< T > &)=default | |
Copy construct. More... | |
constexpr | UList () noexcept |
Default construct, zero-sized and nullptr. More... | |
UList (T *__restrict__ v, const label len) noexcept | |
Construct from components. More... | |
label | fcIndex (const label i) const noexcept |
The forward circular index. The next index in the list which returns to the first at the end of the list. More... | |
label | rcIndex (const label i) const noexcept |
The reverse circular index. The previous index in the list which returns to the last at the beginning of the list. More... | |
const T & | fcValue (const label i) const |
Return forward circular value (ie, next value in the list) More... | |
T & | fcValue (const label i) |
Return forward circular value (ie, next value in the list) More... | |
const T & | rcValue (const label i) const |
Return reverse circular value (ie, previous value in the list) More... | |
T & | rcValue (const label i) |
Return reverse circular value (ie, previous value in the list) More... | |
const T * | cdata () const noexcept |
Return pointer to the underlying array serving as data storage. More... | |
T * | data () noexcept |
Return pointer to the underlying array serving as data storage. More... | |
const char * | cdata_bytes () const noexcept |
Return pointer to the underlying array serving as data storage,. More... | |
char * | data_bytes () noexcept |
Return pointer to the underlying array serving as data storage,. More... | |
T & | front () |
Access first element of the list, position [0]. More... | |
const T & | front () const |
Access first element of the list. More... | |
T & | back () |
Access last element of the list, position [size()-1]. More... | |
const T & | back () const |
Access last element of the list, position [size()-1]. More... | |
std::streamsize | size_bytes () const noexcept |
Number of contiguous bytes for the List data. More... | |
std::streamsize | byteSize () const |
Number of contiguous bytes for the List data, runtime FatalError if type is not contiguous. More... | |
void | checkStart (const label start) const |
Check start is within valid range [0,size) More... | |
void | checkSize (const label size) const |
Check size is within valid range [0,size]. More... | |
void | checkRange (const label start, const label len) const |
Check that start and length define a valid range. More... | |
void | checkIndex (const label i) const |
Check index is within valid range [0,size) More... | |
bool | uniform () const |
True if all entries have identical values, and list is non-empty. More... | |
bool | contains (const T &val) const |
True if the value is contained in the list. More... | |
bool | contains (const T &val, label pos, label len=-1) const |
Is the value contained in the list? More... | |
label | find (const T &val) const |
Find index of the first occurrence of the value. More... | |
label | find (const T &val, label pos, label len=-1) const |
Find index of the first occurrence of the value. More... | |
label | rfind (const T &val, label pos=-1) const |
Find index of the last occurrence of the value. More... | |
void | moveFirst (const label i) |
Move element to the first position. More... | |
void | moveLast (const label i) |
Move element to the last position. More... | |
void | swapFirst (const label i) |
Swap element with the first element. Fatal on an empty list. More... | |
void | swapLast (const label i) |
Swap element with the last element. Fatal on an empty list. More... | |
void | shallowCopy (T *__restrict__ ptr, const label len) noexcept |
Copy the pointer and size. More... | |
void | shallowCopy (std::nullptr_t) noexcept |
Copy nullptr and zero size. More... | |
void | shallowCopy (const UList< T > &list) noexcept |
Copy the pointer and size held by the given UList. More... | |
void | deepCopy (const UList< T > &list) |
Copy elements of the given UList. Sizes must match! More... | |
template<class Addr > | |
void | deepCopy (const IndirectListBase< T, Addr > &list) |
Copy elements of the given indirect list. Sizes must match! More... | |
SubList< T > | slice (const label pos, label len=-1) |
Return SubList slice (non-const access) - no range checking. More... | |
const SubList< T > | slice (const label pos, label len=-1) const |
Return SubList slice (const access) - no range checking. More... | |
SubList< T > | slice (const labelRange &range) |
Return SubList slice (non-const access) - with range checking. More... | |
const SubList< T > | slice (const labelRange &range) const |
Return SubList slice (const access) - with range checking. More... | |
T & | operator[] (const label i) |
Return element of UList. More... | |
const T & | operator[] (const label i) 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 &val) |
Assignment of all entries to the given value. More... | |
void | operator= (const Foam::zero) |
Assignment of all entries to zero. More... | |
iterator | begin () noexcept |
Return an iterator to begin traversing the UList. More... | |
iterator | end () noexcept |
Return an iterator to end traversing the UList. More... | |
iterator | begin (const label i) noexcept |
Return iterator at offset i from begin, clamped to [0,size] range. More... | |
const_iterator | cbegin () const noexcept |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | cend () const noexcept |
Return const_iterator to end traversing the constant UList. More... | |
const_iterator | begin () const noexcept |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | end () const noexcept |
Return const_iterator to end traversing the constant UList. More... | |
const_iterator | cbegin (const label i) const noexcept |
Return const_iterator at offset i from begin, clamped to [0,size] range. More... | |
const_iterator | begin (const label i) const noexcept |
Return const_iterator at offset i from begin, clamped to [0,size] range. 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... | |
bool | empty () const noexcept |
True if List is empty (ie, size() is zero) More... | |
label | size () const noexcept |
The number of elements in the container. More... | |
label | capacity () const noexcept |
Size of the underlying storage. More... | |
void | swap (UList< T > &list) noexcept |
Swap content with another UList of the same type in constant time. More... | |
bool | operator== (const UList< T > &list) const |
Equality operation on ULists of the same type. More... | |
bool | operator!= (const UList< T > &list) const |
The opposite of the equality operation. Takes linear time. More... | |
bool | operator< (const UList< T > &list) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator> (const UList< T > &list) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator<= (const UList< T > &list) const |
Return true if !(a > b). Takes linear time. More... | |
bool | operator>= (const UList< T > &list) const |
Return true if !(a < b). Takes linear time. More... | |
Istream & | readList (Istream &is) |
Read List contents from Istream. More... | |
void | writeEntry (const word &keyword, Ostream &os) const |
Write the List as a dictionary entry with keyword. More... | |
Ostream & | writeList (Ostream &os, const label shortLen=0) const |
Write List, with line-breaks in ASCII when length exceeds shortLen. More... | |
template<class TypeT = T> | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | test (const label i) const |
Test bool value at specified position, always false for out-of-range access. More... | |
template<class TypeT = T> | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | get (const label i) const |
Return bool value at specified position, always false for out-of-range access. More... | |
template<class TypeT = T> | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | unset (const label i) |
Unset the bool entry at specified position, always false for out-of-range access. More... | |
T & | first () |
Access first element of the list, position [0]. More... | |
const T & | first () const |
Access first element of the list. More... | |
T & | last () |
Access last element of the list, position [size()-1]. More... | |
const T & | last () const |
Access last element of the list, position [size()-1]. More... | |
bool | found (const T &val, label pos=0) const |
Same as contains() More... | |
template<> | |
const bool & | operator[] (const label i) const |
template<> | |
UPstream::commsStruct & | operator[] (const label procID) |
template<> | |
const UPstream::commsStruct & | operator[] (const label procID) const |
template<> | |
Foam::UPstream::commsStruct & | operator[] (const label procID) |
template<> | |
const Foam::UPstream::commsStruct & | operator[] (const label procID) const |
Static Public Member Functions | |
static ITstream & | empty_stream () |
Return reference to an empty ITstream, for functions needing to return an ITstream reference but which don't have anything valid of their own. The stream shall be considered read-only. More... | |
static tokenList | parse (const UList< char > &input, IOstreamOption streamOpt=IOstreamOption()) |
Create token list by parsing the input character sequence until no good tokens remain. More... | |
static tokenList | parse (const std::string &input, IOstreamOption streamOpt=IOstreamOption()) |
Create token list by parsing the input string until no good tokens remain. More... | |
static tokenList | parse (const char *input, IOstreamOption streamOpt=IOstreamOption()) |
Create token list by parsing the input character sequence until no good tokens remain. More... | |
static tokenList | parse (stdFoam::span< char > s, IOstreamOption streamOpt=IOstreamOption()) |
Create token list by parsing the input character sequence until no good tokens remain. More... | |
static tokenList | parse (stdFoam::span< const char > s, IOstreamOption streamOpt=IOstreamOption()) |
Create token list by parsing the input character sequence until no good tokens remain. More... | |
Static Public Member Functions inherited from IOstream | |
static unsigned int | defaultPrecision () noexcept |
Return the default precision. More... | |
static unsigned int | defaultPrecision (unsigned int prec) noexcept |
Reset the default precision. More... | |
static unsigned int | minPrecision (unsigned int prec) noexcept |
Set the minimum default precision. More... | |
Static Public Member Functions inherited from IOstreamOption | |
static floatFormat | floatFormatEnum (const word &fmtName, const floatFormat deflt=floatFormat::general) |
Lookup floatFormat enum corresponding to the string (general | fixed | scientific). More... | |
static floatFormat | floatFormatEnum (const word &key, const dictionary &dict, const floatFormat deflt=floatFormat::general) |
getOrDefault floatFormat from dictionary, warn only on bad enumeration. More... | |
static streamFormat | formatEnum (const word &fmtName, const streamFormat deflt=streamFormat::ASCII) |
Lookup streamFormat enum corresponding to the string (ascii | binary). More... | |
static streamFormat | formatEnum (const word &key, const dictionary &dict, const streamFormat deflt=streamFormat::ASCII) |
getOrDefault streamFormat from dictionary, warn only on bad enumeration. 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) |
getOrDefault compressionType from dictionary, warn only on bad enumeration. More... | |
Static Public Member Functions inherited from List< T > | |
static const List< T > & | null () noexcept |
Return a null List (reference to a nullObject). Behaves like an empty List. More... | |
Static Public Member Functions inherited from UList< T > | |
static const UList< T > & | null () noexcept |
Return a null UList (reference to a nullObject). Behaves like an empty UList. More... | |
static constexpr label | max_size () noexcept |
The size of the largest possible UList. More... | |
Additional Inherited Members | |
Public Types inherited from IOstream | |
enum | streamAccess : char { CLOSED = 0, OPENED } |
Enumeration for stream open/closed state. More... | |
Public Types inherited from IOstreamOption | |
enum | streamFormat : char { ASCII = 0, BINARY } |
Data format (ascii | binary) More... | |
enum | compressionType : char { UNCOMPRESSED = 0, COMPRESSED } |
Compression treatment (UNCOMPRESSED | COMPRESSED) More... | |
enum | appendType : char { NO_APPEND = 0, APPEND_APP, APPEND_ATE, NON_APPEND = NO_APPEND, APPEND = APPEND_APP } |
File appending (NO_APPEND | APPEND_APP | APPEND_ATE) More... | |
enum | atomicType : char { NON_ATOMIC = 0, ATOMIC } |
Atomic operations (output) More... | |
enum | floatFormat : unsigned { general = unsigned(0), fixed = unsigned(std::ios_base::fixed), scientific = unsigned(std::ios_base::scientific) } |
Float formats (eg, time directory name formats) 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 |
The value type the list contains. More... | |
typedef T * | pointer |
The pointer type for non-const access to value_type items. More... | |
typedef const T * | const_pointer |
The pointer type for const access to value_type items. More... | |
typedef T & | reference |
The type used for storing into value_type objects. More... | |
typedef const T & | const_reference |
The type used for reading from constant value_type objects. More... | |
typedef T * | iterator |
Random access iterator for traversing a UList. More... | |
typedef const T * | const_iterator |
Random access iterator for traversing a UList. More... | |
typedef label | size_type |
The type to represent the size of a UList. More... | |
typedef label | difference_type |
The difference between iterator objects. More... | |
typedef std::reverse_iterator< iterator > | reverse_iterator |
Reverse iterator (non-const access) More... | |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
Reverse iterator (const access) More... | |
Static Public Attributes inherited from IOstream | |
static unsigned int | precision_ |
Default precision. More... | |
Static Public Attributes inherited from IOstreamOption | |
static const Enum< floatFormat > | floatFormatNames |
Names for float formats (general, fixed, scientific) More... | |
static const Enum< streamFormat > | formatNames |
Stream format names (ascii, binary) More... | |
static const versionNumber | currentVersion |
The current version number (2.0) More... | |
Protected Member Functions inherited from Istream | |
bool | hasPutback () const noexcept |
True if putback token is in use. More... | |
Protected Member Functions inherited from IOstream | |
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... | |
Protected Member Functions inherited from UList< T > | |
void | setAddressableSize (const label n) noexcept |
Set addressed size to be inconsistent with allocated storage. More... | |
void | size (const label n) |
Older name for setAddressableSize. More... | |
void | writeEntry (Ostream &os) const |
Write the UList with its compound type. More... | |
labelRange | validateRange (const labelRange &requestedRange) const |
Return a validated (start,size) subset range, which means that it always addresses a valid section of the list. More... | |
void | fill_uniform (const T &val) |
Assign all entries to the given value. More... | |
void | fill_uniform (const Foam::zero) |
Assign all entries to zero. More... | |
UList< T > & | operator= (const UList< T > &)=delete |
No copy assignment (default: shallow copy) More... | |
template<> | |
void | writeEntry (Ostream &os) const |
Character list writeEntry. More... | |
template<> | |
void | operator= (const Foam::zero) |
Character list assign zero - avoids Foam::zero casting ambiguities. More... | |
template<> | |
void | writeEntry (Ostream &os) const |
template<> | |
void | operator= (const Foam::zero) |
Protected Attributes inherited from IOstream | |
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 Protected Attributes inherited from IOstream | |
static fileName | staticName_ |
Name for any generic stream - normally treat as readonly. More... | |
An input stream of tokens.
Although ITstream is principally meant to be used as a read-only input stream, it also provides additional methods to help when composing its contents (eg, when parsing).
Definition at line 52 of file ITstream.H.
Copy construct.
Definition at line 140 of file ITstream.C.
References IOstream::setGood(), and IOstream::setOpened().
Referenced by ITstream::empty_stream().
Move construct.
Definition at line 152 of file ITstream.C.
References IOstream::setGood(), and IOstream::setOpened().
|
explicit |
Default construct. Empty stream, optionally with given name.
Definition at line 165 of file ITstream.C.
|
explicit |
Construct empty, optionally with given name.
Definition at line 181 of file ITstream.C.
|
explicit |
Copy construct from tokens, optionally with given name.
Definition at line 192 of file ITstream.C.
|
explicit |
Move construct from tokens, optionally with given name.
Definition at line 209 of file ITstream.C.
|
explicit |
Construct token list by parsing the input character sequence.
Uses static parse function internally.
Definition at line 226 of file ITstream.C.
References Foam::input().
|
explicit |
Construct token list by parsing the input string.
Uses static parse function internally.
Definition at line 239 of file ITstream.C.
References Foam::input().
|
explicit |
Construct token list by parsing the input character sequence.
Uses static parse function internally.
Definition at line 252 of file ITstream.C.
References Foam::input().
|
inlineexplicit |
Construct token list by parsing the input character sequence.
Uses static parse function internally.
Definition at line 226 of file ITstream.H.
References s.
|
inlineexplicit |
Construct token list by parsing the input character sequence.
Uses static parse function internally.
Definition at line 242 of file ITstream.H.
References s.
|
inline |
Copy construct from tokens, with given name.
Definition at line 259 of file ITstream.H.
|
inline |
Move construct from tokens, with given name.
Definition at line 272 of file ITstream.H.
|
virtualdefault |
Destructor.
|
static |
Return reference to an empty ITstream, for functions needing to return an ITstream reference but which don't have anything valid of their own. The stream shall be considered read-only.
The returned stream has no tokens and has a 'bad' state, to indicate that it is invalid for reading.
the caller is still able to modify its contents, but they should not do that!
Definition at line 68 of file ITstream.C.
References emptyStreamPtr_, and ITstream::ITstream().
Referenced by meshRefinement::lookup(), and dictionaryEntry::stream().
|
inlinestatic |
Create token list by parsing the input character sequence until no good tokens remain.
Definition at line 309 of file ITstream.H.
References Foam::input().
Referenced by dictionary::tokens().
|
inlinestatic |
Create token list by parsing the input string until no good tokens remain.
Definition at line 322 of file ITstream.H.
References Foam::input().
|
inlinestatic |
Create token list by parsing the input character sequence until no good tokens remain.
Definition at line 335 of file ITstream.H.
References Foam::input().
|
inlinestatic |
Create token list by parsing the input character sequence until no good tokens remain.
Definition at line 363 of file ITstream.H.
References s.
|
inlinestatic |
Create token list by parsing the input character sequence until no good tokens remain.
Definition at line 376 of file ITstream.H.
References s.
|
inlineoverridevirtual |
The name of the input token stream.
Reimplemented from IOstream.
Reimplemented in primitiveEntry.
Definition at line 392 of file ITstream.H.
Referenced by primitiveEntry::name(), and primitiveEntry::primitiveEntry().
|
inlinevirtual |
The name of the input token stream, for modification.
Reimplemented in primitiveEntry.
Definition at line 397 of file ITstream.H.
|
inline |
The line number of the first token in stream.
Definition at line 402 of file ITstream.H.
References UList< T >::empty(), UList< T >::front(), and IOstream::lineNumber().
Referenced by primitiveEntry::startLineNumber().
|
inline |
The line number of the last token in stream.
Definition at line 410 of file ITstream.H.
References UList< T >::back(), UList< T >::empty(), and IOstream::lineNumber().
Referenced by primitiveEntry::endLineNumber().
|
inlinenoexcept |
The token contents (read-only access)
Definition at line 421 of file ITstream.H.
|
inlinenoexcept |
The token contents (read/write access)
Definition at line 426 of file ITstream.H.
|
inlinenoexcept |
True if putback token is in use.
Definition at line 432 of file ITstream.H.
References Istream::hasPutback().
Referenced by exprValue::peekType().
|
inlinenoexcept |
Failsafe peek at the token at the front of the tokenList.
undefinedToken
if the list is empty. Definition at line 439 of file ITstream.H.
Referenced by ITstream::peekFirst().
|
inlinenoexcept |
Failsafe peek at the token at the back of the tokenList.
undefinedToken
if the list is empty. Definition at line 449 of file ITstream.H.
References UList< T >::size().
|
noexcept |
Failsafe peek at what the next read would return, including handling of any putback.
undefinedToken
if list is exhausted Definition at line 329 of file ITstream.C.
References Istream::hasPutback(), and Istream::peekBack().
Referenced by Constant< Type >::Constant(), exprValue::peekType(), Polynomial< Type >::Polynomial(), Foam::readScaling(), exprValue::readTokens(), and Table< Type >::Table().
|
inlinenoexcept |
Read access to the token at the current tokenIndex.
undefinedToken
if list is exhausted Definition at line 466 of file ITstream.H.
Foam::token & currentToken | ( | ) |
Write access to the token at the current tokenIndex. Fatal if not in range.
Definition at line 341 of file ITstream.C.
References Foam::abort(), Foam::FatalIOError, FatalIOErrorInFunction, UList< T >::operator[](), and UList< T >::size().
|
inline |
Failsafe read access to token at given position in the tokenList.
undefinedToken
for out-of-range Definition at line 482 of file ITstream.H.
|
inlinenoexcept |
The current token index when reading, or the insertion point.
Definition at line 487 of file ITstream.H.
Referenced by exprValue::peekType(), and exprValue::read().
|
inlinenoexcept |
Non-const access to the current token index.
Definition at line 492 of file ITstream.H.
|
inlinenoexcept |
Set the token index (no checks).
Definition at line 497 of file ITstream.H.
|
inlinenoexcept |
Number of tokens remaining.
Definition at line 507 of file ITstream.H.
References UList< T >::size().
Referenced by entry::checkITstream(), dictionary::checkITstream(), and exprValue::read().
|
noexcept |
Move tokenIndex to the specified position and adjust the stream status (open/good/eof ...)
Using seek(0) is identical to rewind(). Using seek(-1) moves to the end.
Definition at line 355 of file ITstream.C.
References UList< T >::cdata(), UList< T >::empty(), Foam::pos(), and UList< T >::size().
Referenced by ITstream::extract(), ITstream::operator=(), exprValue::read(), ITstream::rewind(), primitiveEntry::stream(), and primitiveEntry::streamPtr().
|
noexcept |
Move tokenIndex relative to the current position.
Will not overrun the beginning (0) or one-past end positions.
Use skip(2) to move forward two tokens. Use skip(-2) to move backward two tokens.
Definition at line 387 of file ITstream.C.
References UList< T >::cdata(), UList< T >::empty(), n, and UList< T >::size().
Referenced by Constant< Type >::Constant(), Polynomial< Type >::Polynomial(), exprValue::readTokens(), and Table< Type >::Table().
Foam::labelRange find | ( | const token::punctuationToken | delimOpen, |
const token::punctuationToken | delimClose, | ||
label | pos = 0 |
||
) | const |
Find range containing matching delimiter pair, starting at the specified position. The position -1 indicates to continue from the present tokenIndex() position.
Definition at line 487 of file ITstream.C.
References token::isPunctuation(), UList< T >::operator[](), Foam::pos(), IntRange< IntType >::size(), UList< T >::size(), and IntRange< IntType >::start().
const Type * findCompound | ( | label | pos = 0 | ) | const |
Find compoundToken of specified Type, starting at the specified position. The position -1 indicates to continue from the present tokenIndex() position.
Definition at line 22 of file ITstreamI.H.
References UList< T >::operator[](), Foam::pos(), and UList< T >::size().
Foam::ITstream extract | ( | const labelRange & | range | ) |
Remove a (start,size) subset from the list and move remaining elements down.
If the tokenIndex() is within or to the right of the removed region, it will be adjusted to remain valid. However, this may not correspond to the expected parsing point so external bookkeeping is likely necessary.
Definition at line 540 of file ITstream.C.
References UList< T >::begin(), Foam::foamVersion::labelByteSize(), Foam::name(), range, List< T >::resize(), Foam::foamVersion::scalarByteSize(), ITstream::seek(), IOstream::setLabelByteSize(), IOstream::setScalarByteSize(), and UList< T >::size().
Foam::label remove | ( | const labelRange & | range | ) |
Remove a (start,size) subset from the list and move remaining elements down.
If the tokenIndex() is within or to the right of the removed region, it will be adjusted to remain valid. However, this may not correspond to the expected parsing point so external bookkeeping is likely necessary.
Definition at line 575 of file ITstream.C.
References UList< T >::begin(), UList< T >::end(), UList< T >::operator[](), range, List< T >::resize(), and UList< T >::size().
void add_tokens | ( | const token & | tok | ) |
Copy append a token at the current tokenIndex, incrementing the index.
Definition at line 690 of file ITstream.C.
References UList< T >::operator[]().
Referenced by ITstream::append(), ITstream::push_back(), primitiveEntry::read(), and exprValue::read().
void add_tokens | ( | token && | tok | ) |
Move append a token at the current tokenIndex, incrementing the index.
Definition at line 699 of file ITstream.C.
References UList< T >::operator[]().
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 708 of file ITstream.C.
References UList< T >::begin(), and 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 718 of file ITstream.C.
References UList< T >::begin().
|
inlineoverridevirtual |
Return current stream flags. Dummy for token stream, returns 0.
Implements IOstream.
Definition at line 632 of file ITstream.H.
|
inlineoverridevirtual |
Set stream flags, return old stream flags. Dummy for token stream, returns 0.
Implements IOstream.
Definition at line 641 of file ITstream.H.
|
overridevirtual |
Return next token from stream.
Implements Istream.
Definition at line 434 of file ITstream.C.
References UList< T >::back(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Istream::getBack(), token::lineNumber(), token::reset(), and UList< T >::size().
|
overridevirtual |
Read a character : triggers not implemented error.
Implements Istream.
Definition at line 634 of file ITstream.C.
References NotImplemented.
|
overridevirtual |
Read a word : triggers not implemented error.
Implements Istream.
Definition at line 641 of file ITstream.C.
References NotImplemented.
|
overridevirtual |
Read a string (including enclosing double-quotes) : triggers not implemented error.
Implements Istream.
Definition at line 648 of file ITstream.C.
References NotImplemented.
|
overridevirtual |
Read a label : triggers not implemented error.
Implements Istream.
Definition at line 655 of file ITstream.C.
References NotImplemented.
|
overridevirtual |
Read a float : triggers not implemented error.
Implements Istream.
Definition at line 662 of file ITstream.C.
References NotImplemented.
|
overridevirtual |
Read a double : triggers not implemented error.
Implements Istream.
Definition at line 669 of file ITstream.C.
References NotImplemented.
|
overridevirtual |
Read binary block : triggers not implemented error.
Implements Istream.
Definition at line 683 of file ITstream.C.
References NotImplemented.
|
overridevirtual |
Low-level raw binary read : triggers not implemented error.
Implements Istream.
Definition at line 676 of file ITstream.C.
References NotImplemented.
|
inlineoverridevirtual |
Start of low-level raw binary read : no-op.
Implements Istream.
Definition at line 698 of file ITstream.H.
|
inlineoverridevirtual |
End of low-level raw binary read : no-op.
Implements Istream.
Definition at line 703 of file ITstream.H.
|
inlineoverridevirtual |
Rewind the stream so that it may be read again. Same as seek(0)
Implements Istream.
Definition at line 708 of file ITstream.H.
References ITstream::seek().
Referenced by Foam::exprTools::getList(), and simpleObjectRegistry::setNamedValue().
|
overridevirtual |
Print stream description to Ostream.
Reimplemented from IOstream.
Definition at line 266 of file ITstream.C.
References UList< T >::back(), UList< T >::empty(), UList< T >::front(), 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 291 of file ITstream.C.
References UList< T >::cbegin(), UList< T >::cend(), UList< T >::empty(), UList< T >::front(), OSstream::precision(), UList< T >::size(), token::SPACE, and OCharStream::view().
Referenced by Foam::entryToString(), and expressionEntry::inplaceExpand().
void operator= | ( | const ITstream & | is | ) |
Copy assignment, with rewind()
Definition at line 731 of file ITstream.C.
References List< T >::operator=(), and ITstream::seek().
Copy assignment of tokens, with rewind()
Definition at line 744 of file ITstream.C.
References List< T >::operator=(), and ITstream::seek().
Move assignment of tokens, with rewind()
Definition at line 751 of file ITstream.C.
References List< T >::operator=(), and ITstream::seek().
|
inline |
Same as front()
Definition at line 786 of file ITstream.H.
References ITstream::front().
|
inline |
Definition at line 789 of file ITstream.H.
References ITstream::add_tokens().
|
inline |
Definition at line 792 of file ITstream.H.
References ITstream::add_tokens().
Definition at line 795 of file ITstream.H.
References ITstream::add_tokens().
Definition at line 798 of file ITstream.H.
References ITstream::add_tokens().
|
inline |
Definition at line 801 of file ITstream.H.
References ITstream::add_tokens().
|
inline |
Definition at line 804 of file ITstream.H.
References ITstream::add_tokens().
Definition at line 807 of file ITstream.H.
References ITstream::add_tokens().
Definition at line 810 of file ITstream.H.
References ITstream::add_tokens().