A simple output token stream that can be used to build token lists. Always UNCOMPRESSED. More...
Public Member Functions | |
OTstream (IOstreamOption streamOpt=IOstreamOption()) | |
Default construct, set stream status. More... | |
OTstream (const OTstream &os) | |
Copy construct. More... | |
OTstream (OTstream &&os) | |
Move construct. More... | |
~OTstream ()=default | |
Destructor. More... | |
const DynamicList< token > & | tokens () const |
The tokens. More... | |
DynamicList< token > & | tokens () |
The tokens. More... | |
virtual bool | write (const token &tok) |
Write token to stream or otherwise handle it. More... | |
virtual Ostream & | write (const char c) |
Write single character. Whitespace is suppressed. More... | |
virtual Ostream & | write (const char *str) |
Write the word-characters of a character string. More... | |
virtual Ostream & | write (const word &str) |
Write word. More... | |
virtual Ostream & | write (const string &str) |
Write string. More... | |
virtual Ostream & | writeQuoted (const std::string &str, const bool quoted=true) |
Write std::string surrounded by quotes. More... | |
virtual Ostream & | write (const int32_t val) |
Write int32_t as a label. More... | |
virtual Ostream & | write (const int64_t val) |
Write int64_t as a label. More... | |
virtual Ostream & | write (const floatScalar val) |
Write floatScalar. More... | |
virtual Ostream & | write (const doubleScalar val) |
Write doubleScalar. More... | |
virtual Ostream & | write (const char *data, std::streamsize count) |
Write binary block with 8-byte alignment. More... | |
virtual Ostream & | writeRaw (const char *data, std::streamsize count) |
Low-level raw binary output. More... | |
virtual bool | beginRawWrite (std::streamsize count) |
Begin marker for low-level raw binary output. More... | |
virtual bool | endRawWrite () |
End marker for low-level raw binary output. More... | |
virtual void | indent () |
Add indentation characters. More... | |
virtual ios_base::fmtflags | flags () const |
Get flags of output stream. More... | |
std::ios_base::fmtflags | flags (const ios_base::fmtflags) |
Set flags of stream - ignored. More... | |
virtual void | flush () |
Flush stream. More... | |
virtual void | endl () |
Add newline and flush stream. More... | |
virtual char | fill () const |
Get the current padding character. More... | |
virtual char | fill (const char) |
Set padding character for formatted field up to field width. More... | |
virtual int | width () const |
Get width of output field. More... | |
virtual int | width (const int) |
Set width of output field. More... | |
virtual int | precision () const |
Get precision of output field. More... | |
virtual int | precision (const int) |
Set precision of output field. More... | |
void | reset () |
Reset the output buffer and rewind the stream. More... | |
virtual void | rewind () |
Rewind the output stream. More... | |
void | print (Ostream &os) const |
Print stream description to Ostream. More... | |
![]() | |
Ostream (const Ostream &)=default | |
Copy construct. More... | |
virtual | ~Ostream ()=default |
Destructor. More... | |
Ostream (IOstreamOption streamOpt=IOstreamOption()) | |
Ostream (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver=IOstreamOption::currentVersion, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED) | |
Construct with format, version (compression) More... | |
virtual Ostream & | write (const keyType &kw) |
Write keyType. More... | |
unsigned short | indentSize () const noexcept |
Return indent size (spaces per level) More... | |
unsigned short | indentSize (unsigned short val) noexcept |
Change indent size (spaces per level), return old value. More... | |
unsigned short | indentLevel () const noexcept |
Return the indent level. More... | |
unsigned short | indentLevel (unsigned short val) noexcept |
Change the indent level, return old value. More... | |
void | incrIndent () noexcept |
Increment the indent level. More... | |
void | decrIndent () |
Decrement the indent level. More... | |
virtual Ostream & | writeKeyword (const keyType &kw) |
Write the keyword followed by an appropriate indentation. More... | |
virtual Ostream & | beginBlock (const keyType &kw) |
Write begin block group with the given name. More... | |
virtual Ostream & | beginBlock () |
Write begin block group without a name. More... | |
virtual Ostream & | endBlock () |
Write end block group. More... | |
virtual Ostream & | endEntry () |
Write end entry (';') followed by newline. More... | |
template<class T > | |
Ostream & | writeEntry (const keyType &key, const T &value) |
Write a keyword/value entry. More... | |
template<class T > | |
Ostream & | writeEntryIfDifferent (const word &key, const T &value1, const T &value2) |
Write a keyword/value entry only when the two values differ. More... | |
Ostream & | operator() () const |
Return a non-const reference to const Ostream. More... | |
unsigned short & | indentLevel () noexcept |
Access to indent level. More... | |
unsigned short & | indentSize () noexcept |
Access to indent size. 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... | |
virtual const fileName & | name () const |
Return the name of the stream. More... | |
virtual fileName & | name () |
Return stream name for modification. 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 | DynamicList () noexcept |
Default construct, an empty list without allocation. More... | |
DynamicList (const label len) | |
Construct an empty list with given reserve size. More... | |
DynamicList (const label len, const token &val) | |
Construct with given size and value for all elements. More... | |
DynamicList (const label len, const Foam::zero) | |
Construct with given size initializing all elements to zero. More... | |
DynamicList (const DynamicList< token, 16 > &lst) | |
Copy construct. More... | |
DynamicList (const DynamicList< token, AnySizeMin > &lst) | |
Copy construct from DynamicList with different sizing parameters. More... | |
DynamicList (const UList< token > &lst) | |
Construct from UList. Size set to UList size. More... | |
DynamicList (const FixedList< token, N > &lst) | |
Construct from a FixedList. More... | |
DynamicList (std::initializer_list< token > lst) | |
Construct from an initializer list. Size set to list size. More... | |
DynamicList (const IndirectListBase< token, Addr > &lst) | |
Construct from IndirectList. Size set to addressing size. More... | |
DynamicList (DynamicList< token, 16 > &&lst) | |
Move construct. More... | |
DynamicList (DynamicList< token, AnySizeMin > &&lst) | |
Move construct with different sizing parameters. More... | |
DynamicList (List< token > &&lst) | |
Move construct from List. More... | |
DynamicList (SortableList< token > &&lst) | |
Move construct from SortableList. More... | |
DynamicList (Istream &is) | |
Construct from Istream. Size set to size of list read. More... | |
label | capacity () const noexcept |
Size of the underlying storage. More... | |
std::streamsize | capacity_bytes () const noexcept |
Number of contiguous bytes of the underlying storage. More... | |
void | setCapacity (const label len) |
Alter the size of the underlying storage. More... | |
void | setCapacity_nocopy (const label len) |
void | setCapacity_unsafe (const label len) noexcept |
void | reserve (const label len) |
void | reserve_nocopy (const label len) |
void | resize (const label len) |
void | resize (const label len, const token &val) |
Alter addressable size and fill new entries with constant value. More... | |
void | resize_nocopy (const label len) |
void | setSize (const label n) |
Same as resize() More... | |
void | setSize (const label n, const token &val) |
Same as resize() More... | |
void | clear () noexcept |
Clear the addressed list, i.e. set the size to zero. More... | |
void | clearStorage () |
Clear the list and delete storage. More... | |
label | expandStorage () noexcept |
Expand the addressable size to fit the allocated capacity. More... | |
void | shrinkStorage () |
Shrink the allocated space to the number of elements used. More... | |
DynamicList< token, 16 > & | shrink () |
Shrink the allocated space to the number of elements used. More... | |
void | swap (DynamicList< token, AnySizeMin > &other) |
Swap content, independent of sizing parameter. More... | |
void | transfer (List< token > &list) |
Transfer contents of the argument List into this. More... | |
void | transfer (DynamicList< token, AnySizeMin > &list) |
Transfer contents of any sized DynamicList into this. More... | |
void | transfer (SortableList< token > &list) |
Transfer contents of the argument SortableList into this. More... | |
DynamicList< token, 16 > & | append (const token &val) |
Append an element to the end of this list. More... | |
DynamicList< token, 16 > & | append (token &&val) |
Move append an element. More... | |
DynamicList< token, 16 > & | append (const UList< token > &lst) |
Append another list to the end of this list. More... | |
DynamicList< token, 16 > & | append (const FixedList< token, N > &lst) |
Append a FixedList to the end of this list. More... | |
DynamicList< token, 16 > & | append (std::initializer_list< token > lst) |
Append an initializer list at the end of this list. More... | |
DynamicList< token, 16 > & | append (const IndirectListBase< token, Addr > &lst) |
Append a IndirectList at the end of this list. More... | |
DynamicList< token, 16 > & | append (List< token > &&lst) |
Move append list. More... | |
DynamicList< token, 16 > & | append (DynamicList< token, 16 > &&lst) |
Move append list. More... | |
DynamicList< token, 16 > & | append (DynamicList< token, AnySizeMin > &&lst) |
Move append list. More... | |
DynamicList< token, 16 > & | append (SortableList< token > &&lst) |
Move append list. More... | |
Foam::DynamicList< token, 16 > & | append (const FixedList< token, N > &lst) |
Foam::DynamicList< token, 16 > & | append (const IndirectListBase< token, Addr > &lst) |
Foam::DynamicList< token, 16 > & | append (DynamicList< token, AnySizeMin > &&lst) |
label | appendUniq (const token &val) |
Append an element if not already in the list. More... | |
token | remove () |
Remove and return the last element. Fatal on an empty list. More... | |
token | remove (const label idx, const bool fast=false) |
Remove and return the specified element. Fatal on an empty list. More... | |
label | remove (const labelRange &range) |
Remove a (start,size) subset from the list. More... | |
label | remove (std::initializer_list< label > start_size) |
Remove a (start,size) subset from the list. More... | |
label | subset (const labelRange &range) |
Retain a (start,size) subset from the list. More... | |
label | subset (std::initializer_list< label > start_size) |
Retain a (start,size) subset from List. More... | |
token & | operator() (const label i) |
Return non-const access to an element, resizing list if needed. More... | |
void | operator= (const token &val) |
Assignment of all addressed entries to the given value. More... | |
void | operator= (const Foam::zero) |
Assignment of all entries to zero. More... | |
void | operator= (const UList< token > &lst) |
Assignment to UList. More... | |
void | operator= (const FixedList< token, N > &lst) |
Assignment to FixedList. More... | |
void | operator= (const DynamicList< token, 16 > &lst) |
Assignment to DynamicList. More... | |
void | operator= (const DynamicList< token, AnySizeMin > &lst) |
Assignment from DynamicList with different sizing parameters. More... | |
void | operator= (std::initializer_list< token > lst) |
Assignment from initializer list. More... | |
void | operator= (const IndirectListBase< token, Addr > &lst) |
Assignment from IndirectList. More... | |
void | operator= (List< token > &&lst) |
Move assignment. More... | |
void | operator= (DynamicList< token, 16 > &&lst) |
Move assignment. More... | |
void | operator= (DynamicList< token, AnySizeMin > &&lst) |
Move assignment. More... | |
void | operator= (SortableList< token > &&lst) |
Move assignment. More... | |
Istream & | readList (Istream &is) |
Read from Istream, discarding existing contents. 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... | |
![]() | |
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 constexpr label | min_size () noexcept |
Normal lower capacity limit - the SizeMin template parameter. 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... | |
![]() | |
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... | |
![]() | |
unsigned short | indentSize_ = 4 |
Number of spaces per indent level. More... | |
unsigned short | indentLevel_ = 0 |
Current indent level. 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 constexpr const unsigned short | entryIndentation_ = 16 |
Indentation of the entry from the start of the keyword. More... | |
![]() | |
static fileName | staticName_ |
Name for any generic stream - normally treat as readonly. More... | |
A simple output token stream that can be used to build token lists. Always UNCOMPRESSED.
Definition at line 56 of file OTstream.H.
|
inlineexplicit |
Default construct, set stream status.
Definition at line 66 of file OTstream.H.
References IOstream::setGood(), and IOstream::setOpened().
Copy construct.
Definition at line 76 of file OTstream.H.
References IOstream::setGood(), and IOstream::setOpened().
Move construct.
Definition at line 86 of file OTstream.H.
References IOstream::setGood(), and IOstream::setOpened().
|
default |
Destructor.
|
inline |
The tokens.
Definition at line 103 of file OTstream.H.
|
inline |
The tokens.
Definition at line 109 of file OTstream.H.
Write token to stream or otherwise handle it.
Implements Ostream.
Definition at line 34 of file OTstream.C.
References DynamicList< token >::append(), and token::good().
|
virtual |
Write single character. Whitespace is suppressed.
Implements Ostream.
Definition at line 46 of file OTstream.C.
References append(), Foam::constant::universal::c, and Foam::isspace().
|
virtual |
Write the word-characters of a character string.
Sends as a single char, or as word.
Implements Ostream.
Definition at line 58 of file OTstream.C.
References Foam::vtk::write().
|
virtual |
Write word.
Implements Ostream.
Definition at line 77 of file OTstream.C.
References append().
|
virtual |
Write string.
Implements Ostream.
Definition at line 85 of file OTstream.C.
References append().
|
virtual |
Write std::string surrounded by quotes.
Optional write without quotes.
Implements Ostream.
Definition at line 94 of file OTstream.C.
References append().
|
virtual |
Write int32_t as a label.
Implements Ostream.
Definition at line 112 of file OTstream.C.
References append().
|
virtual |
Write int64_t as a label.
Implements Ostream.
Definition at line 120 of file OTstream.C.
References append().
|
virtual |
Write floatScalar.
Implements Ostream.
Definition at line 128 of file OTstream.C.
References append().
|
virtual |
Write doubleScalar.
Implements Ostream.
Definition at line 136 of file OTstream.C.
References append().
|
virtual |
Write binary block with 8-byte alignment.
Implements Ostream.
Definition at line 144 of file OTstream.C.
References Foam::abort(), IOstreamOption::BINARY, Foam::FatalError, FatalErrorInFunction, format(), and NotImplemented.
|
virtual |
Low-level raw binary output.
Implements Ostream.
Definition at line 160 of file OTstream.C.
References NotImplemented.
|
virtual |
Begin marker for low-level raw binary output.
The count indicates the number of bytes for subsequent writeRaw calls.
Implements Ostream.
Definition at line 174 of file OTstream.C.
References Foam::abort(), IOstreamOption::BINARY, Foam::FatalError, FatalErrorInFunction, format(), and NotImplemented.
|
inlinevirtual |
End marker for low-level raw binary output.
Implements Ostream.
Definition at line 166 of file OTstream.H.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Get the current padding character.
Implements Ostream.
Definition at line 200 of file OTstream.H.
|
inlinevirtual |
Set padding character for formatted field up to field width.
Implements Ostream.
Definition at line 206 of file OTstream.H.
|
inlinevirtual |
|
inlinevirtual |
Set width of output field.
Implements Ostream.
Definition at line 219 of file OTstream.H.
|
inlinevirtual |
|
inlinevirtual |
Set precision of output field.
Implements Ostream.
Definition at line 232 of file OTstream.H.
|
inline |
Reset the output buffer and rewind the stream.
Definition at line 241 of file OTstream.H.
References OTstream::rewind().
|
inlinevirtual |
Rewind the output stream.
Definition at line 247 of file OTstream.H.
References DynamicList< T, SizeMin >::clear(), IOstream::setGood(), and IOstream::setOpened().
Referenced by OTstream::reset().
|
virtual |
Print stream description to Ostream.
Reimplemented from IOstream.
Definition at line 189 of file OTstream.C.
References Foam::name(), os(), and IOstream::print().