Generic output stream using a standard (STL) stream. More...
#include <OSstream.H>


Public Member Functions | |
| OSstream (const OSstream &)=default | |
| Copy construct. | |
| void | operator= (const OSstream &)=delete |
| No copy assignment. | |
| OSstream (std::ostream &os, const string &streamName, IOstreamOption streamOpt=IOstreamOption()) | |
| Construct wrapper around std::ostream, set stream status. | |
| OSstream (std::ostream &os, const string &streamName, IOstreamOption::streamFormat fmt, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED) | |
| Construct wrapper around std::ostream, set stream status. | |
| OSstream (std::ostream &os, const string &streamName, IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED) | |
| Construct wrapper around std::ostream, set stream status. | |
| virtual const fileName & | name () const override |
| Get the name of the output serial stream. (eg, the name of the Fstream file name). | |
| virtual fileName & | name () |
| The name of the output serial stream, for modification. | |
| virtual const std::ostream & | stdStream () const |
| Const access to underlying std::ostream. | |
| virtual std::ostream & | stdStream () |
| Access to underlying std::ostream. | |
| virtual std::ios_base::fmtflags | flags () const override |
| Get current stream flags. | |
| virtual std::ios_base::fmtflags | flags (std::ios_base::fmtflags f) override |
| Set stream flags, return old stream flags. | |
| void | syncState () |
| Set stream state to match that of the std::ostream. | |
| virtual bool | write (const token &tok) override |
| Write token to stream or otherwise handle it. | |
| virtual Ostream & | write (const char c) override |
| Write character. | |
| virtual Ostream & | writeQuoted (const char *str, std::streamsize len, const bool quoted=true) override |
| Write character/string content, with/without surrounding quotes. | |
| virtual Ostream & | write (const char *str) override |
| Write character string. | |
| virtual Ostream & | write (const word &str) override |
| Write word. | |
| virtual Ostream & | write (const std::string &str) override |
| Write string (quoted). | |
| virtual Ostream & | write (const int32_t val) override |
| Write int32_t. | |
| virtual Ostream & | write (const int64_t val) override |
| Write int64_t. | |
| virtual Ostream & | write (const uint32_t val) override |
| Write uint32_t. | |
| virtual Ostream & | write (const uint64_t val) override |
| Write uint64_t. | |
| virtual Ostream & | write (const float val) override |
| Write float. | |
| virtual Ostream & | write (const double val) override |
| Write double. | |
| virtual Ostream & | write (const char *data, std::streamsize count) override |
| Write binary block. | |
| virtual Ostream & | writeRaw (const char *data, std::streamsize count) override |
| Low-level raw binary output. | |
| virtual bool | beginRawWrite (std::streamsize count) override |
| Begin marker for low-level raw binary output. | |
| virtual bool | endRawWrite () override |
| End marker for low-level raw binary output. | |
| virtual void | indent () override |
| Add indentation characters. | |
| virtual void | flush () override |
| Flush stream. | |
| virtual void | endl () override |
| Add newline and flush stream. | |
| virtual char | fill () const override |
| Get the current padding character. | |
| virtual char | fill (const char fillch) override |
| Set padding character for formatted field up to field width. | |
| virtual int | width () const override |
| Get width of output field. | |
| virtual int | width (const int w) override |
| Set width of output field. | |
| virtual int | precision () const override |
| Get precision of output field. | |
| virtual int | precision (const int p) override |
| Set precision of output field. | |
| virtual void | print (Ostream &os) const override |
| Print stream description to Ostream. | |
| virtual Ostream & | writeQuoted (const std::string &str, const bool quoted=true) |
| Inherit write methods from Ostream. | |
| Public Member Functions inherited from Ostream | |
| Ostream (const Ostream &)=default | |
| Copy construct. | |
| virtual | ~Ostream ()=default |
| Destructor. | |
| Ostream (IOstreamOption streamOpt=IOstreamOption()) | |
| Default construct (ASCII, uncompressed), construct with specified stream option. | |
| Ostream (IOstreamOption::streamFormat fmt, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED) | |
| Construct with format (uncompressed). | |
| virtual Ostream & | write (const keyType &kw) |
| Write keyType. | |
| unsigned short | indentSize () const noexcept |
| Return indent size (spaces per level). | |
| unsigned short | indentSize (unsigned short val) noexcept |
| Change indent size (spaces per level), return old value. | |
| unsigned short | indentLevel () const noexcept |
| Return the indent level. | |
| unsigned short | indentLevel (unsigned short val) noexcept |
| Change the indent level, return old value. | |
| void | incrIndent () noexcept |
| Increment the indent level. | |
| void | decrIndent () |
| Decrement the indent level. | |
| virtual Ostream & | writeKeyword (const keyType &kw) |
| Write the keyword followed by an appropriate indentation. | |
| virtual Ostream & | beginBlock (const keyType &kw) |
| Write begin block group with the given name. | |
| virtual Ostream & | beginBlock () |
| Write begin block group without a name. | |
| virtual Ostream & | endBlock () |
| Write end block group. | |
| virtual Ostream & | endEntry () |
| Write end entry (';') followed by newline. | |
| template<class T> | |
| Ostream & | writeEntry (const keyType &key, const T &value) |
| Write a keyword/value entry. | |
| 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. | |
| Ostream & | operator() () const |
| Return a non-const reference to const Ostream. | |
| unsigned short & | indentLevel () noexcept |
| Access to indent level. | |
| unsigned short & | indentSize () noexcept |
| Access to indent size. | |
| Public Member Functions inherited from IOstream | |
| IOstream (const IOstream &)=default | |
| Copy construct. | |
| virtual | ~IOstream ()=default |
| Destructor. | |
| IOstream (IOstreamOption streamOpt=IOstreamOption()) | |
| Default construct (ASCII, uncompressed), construct with specified stream option. | |
| IOstream (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED) | |
| Construct with format, version (compression). | |
| fileName | relativeName () const |
| Return the name of the stream relative to the current case. | |
| virtual bool | check (const char *operation) const |
| Check IOstream status for given operation. | |
| bool | fatalCheck (const char *operation) const |
| Check IOstream status for given operation. | |
| bool | opened () const noexcept |
| True if stream has been opened. | |
| bool | closed () const noexcept |
| True if stream is closed. | |
| bool | good () const noexcept |
| True if next operation might succeed. | |
| bool | eof () const noexcept |
| True if end of input seen. | |
| bool | fail () const noexcept |
| True if next operation will fail. | |
| bool | bad () const noexcept |
| True if stream is corrupted. | |
| operator bool () const noexcept | |
| True if the stream has not failed. | |
| bool | operator! () const noexcept |
| True if the stream has failed. | |
| unsigned | labelByteSize () const noexcept |
| The sizeof (label) in bytes associated with the stream. | |
| unsigned | scalarByteSize () const noexcept |
| The sizeof (scalar) in bytes associated with the stream. | |
| void | setLabelByteSize (unsigned nbytes) noexcept |
| Set the sizeof (label) in bytes associated with the stream. | |
| void | setScalarByteSize (unsigned nbytes) noexcept |
| Set the sizeof (scalar) in bytes associated with the stream. | |
| template<class T, class = std::enable_if_t<std::is_integral_v<T>>> | |
| bool | checkLabelSize () const noexcept |
| Test if the label byte-size associated with the stream is the same as the given type. | |
| template<class T, class = std::enable_if_t<std::is_floating_point_v<T>>> | |
| bool | checkScalarSize () const noexcept |
| Test if the scalar byte-size associated with the stream is the same as the given type. | |
| bool | checkNativeSizes () const noexcept |
| Test if the label/scalar byte-size associated with the stream are the native label/scalar sizes. | |
| bool | fatalCheckNativeSizes (const char *operation) const |
| Assert that the label/scalar byte-size associated with the stream are the native label/scalar sizes. | |
| label | lineNumber () const noexcept |
| Const access to the current stream line number. | |
| label & | lineNumber () noexcept |
| Non-const access to the current stream line number. | |
| label | lineNumber (const label num) noexcept |
| Set the stream line number. | |
| void | setEof () noexcept |
| Set stream state as reached 'eof'. | |
| void | setFail () noexcept |
| Set stream state as 'failed'. | |
| void | setBad () noexcept |
| Set stream state to be 'bad'. | |
| std::ios_base::fmtflags | setf (std::ios_base::fmtflags f) |
| Set stream flag(s), return old stream flags. | |
| 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. | |
| std::ios_base::fmtflags | unsetf (std::ios_base::fmtflags f) |
| Unset stream flags, return old stream flags. | |
| void | print (Ostream &os, const int streamState) const |
| Print information about the stream state bits. | |
| InfoProxy< IOstream > | info () const noexcept |
| Return info proxy, used to print IOstream information to a stream. | |
| 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. | |
| constexpr | IOstreamOption (streamFormat fmt, compressionType comp, versionNumber ver) noexcept |
| Construct from components (format, compression, version). | |
| constexpr | IOstreamOption (streamFormat fmt, versionNumber ver, compressionType comp=compressionType::UNCOMPRESSED) noexcept |
| Construct from components (format, version, compression). | |
| IOstreamOption (const IOstreamOption &opt, streamFormat fmt) noexcept | |
| Copy construct with change of format. | |
| streamFormat | format () const noexcept |
| Get the current stream format. | |
| streamFormat | format (const streamFormat fmt) noexcept |
| Set the stream format. | |
| streamFormat | format (const word &formatName) |
| Set the stream format from string value. | |
| compressionType | compression () const noexcept |
| Get the stream compression. | |
| compressionType | compression (const compressionType comp) noexcept |
| Set the stream compression. | |
| compressionType | compression (const word &compName) |
| Set the stream compression from string value. | |
| versionNumber | version () const noexcept |
| Get the stream version. | |
| versionNumber | version (const versionNumber ver) noexcept |
| Set the stream version. | |
| versionNumber | version (const token &tok) |
| Set the stream version from token. | |
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 , COHERENT , UNKNOWN_FORMAT } |
| Data format (ascii | binary | coherent). 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 class | 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... | |
| Static Public Member Functions inherited from IOstream | |
| static unsigned int | defaultPrecision () noexcept |
| Return the default precision. | |
| static unsigned int | defaultPrecision (unsigned int prec) noexcept |
| Reset the default precision. | |
| static unsigned int | minPrecision (unsigned int prec) noexcept |
| Set the minimum default precision. | |
| 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). | |
| static floatFormat | floatFormatEnum (const word &key, const dictionary &dict, const floatFormat deflt=floatFormat::general) |
| getOrDefault floatFormat from dictionary, warn only on bad enumeration. | |
| static streamFormat | formatEnum (const word &fmtName, const streamFormat deflt=streamFormat::ASCII) |
| Lookup streamFormat enum corresponding to the string (ascii | binary). | |
| static streamFormat | formatEnum (const word &key, const dictionary &dict, const streamFormat deflt=streamFormat::ASCII) |
| getOrDefault streamFormat from dictionary, warn only on bad enumeration. | |
| static compressionType | compressionEnum (const word &compName, const compressionType deflt=compressionType::UNCOMPRESSED) |
| The compression enum corresponding to the string. | |
| static compressionType | compressionEnum (const word &key, const dictionary &dict, const compressionType deflt=compressionType::UNCOMPRESSED) |
| getOrDefault compressionType from dictionary, warn only on bad enumeration. | |
| Static Public Attributes inherited from IOstream | |
| static unsigned int | precision_ |
| Default precision. | |
| Static Public Attributes inherited from IOstreamOption | |
| static const Enum< floatFormat > | floatFormatNames |
| Names for float formats (general, fixed, scientific). | |
| static const Enum< streamFormat > | formatNames |
| Stream format names (ascii, binary). | |
| static const versionNumber | currentVersion |
| The current version number (2.0). | |
| Protected Member Functions inherited from IOstream | |
| void | setOpened () noexcept |
| Set stream opened. | |
| void | setClosed () noexcept |
| Set stream closed. | |
| void | setState (std::ios_base::iostate state) noexcept |
| Set stream state. | |
| void | setGood () noexcept |
| Set stream state to be good. | |
| Protected Attributes inherited from Ostream | |
| unsigned short | indentSize_ = 4 |
| Number of spaces per indent level. | |
| unsigned short | indentLevel_ = 0 |
| Current indent level. | |
| Protected Attributes inherited from IOstream | |
| std::ios_base::iostate | ioState_ |
| Mirror of internal stream io state. | |
| streamAccess | openClosed_ |
| The stream open/closed state. | |
| unsigned char | sizeofLabel_ |
| The sizeof (label), possibly read from the header. | |
| unsigned char | sizeofScalar_ |
| The sizeof (scalar), possibly read from the header. | |
| label | lineNumber_ |
| The file line. | |
| Static Protected Attributes inherited from Ostream | |
| static constexpr const unsigned short | entryIndentation_ = 16 |
| Indentation of the entry from the start of the keyword. | |
| Static Protected Attributes inherited from IOstream | |
| static fileName | staticName_ |
| Name for any generic stream - normally treat as readonly. | |
Generic output stream using a standard (STL) stream.
Definition at line 50 of file OSstream.H.
|
default |
Copy construct.
References OSstream().
Referenced by OCharStream::OCharStream(), OCountStream::OCountStream(), OCountStream::OCountStream(), OFstream::OFstream(), OFstream::OFstream(), operator=(), OSHA1stream::OSHA1stream(), OSpanStream::OSpanStream(), OSstream(), OSstream(), OSstream(), OStringStream::OStringStream(), OStringStream::OStringStream(), and prefixOSstream::prefixOSstream().


|
inline |
Construct wrapper around std::ostream, set stream status.
Default stream options (ASCII, uncompressed)
Definition at line 26 of file OSstreamI.H.
References os(), and Ostream::Ostream().

|
inline |
Construct wrapper around std::ostream, set stream status.
Definition at line 99 of file OSstream.H.
References os(), OSstream(), and IOstreamOption::UNCOMPRESSED.

|
inline |
Construct wrapper around std::ostream, set stream status.
Definition at line 113 of file OSstream.H.
References os(), OSstream(), and IOstreamOption::UNCOMPRESSED.

|
delete |
|
inlineoverridevirtual |
Get the name of the output serial stream. (eg, the name of the Fstream file name).
Reimplemented from IOstream.
Reimplemented in OFstream.
Definition at line 134 of file OSstream.H.
Referenced by OCountStream::OCountStream(), and OStringStream::OStringStream().

|
inlinevirtual |
The name of the output serial stream, for modification.
Use with caution since some classes (eg, Fstream) also use this for filesystem information!
Reimplemented in OFstream.
Definition at line 142 of file OSstream.H.
|
inlinevirtual |
Const access to underlying std::ostream.
Reimplemented in OFstream.
Definition at line 150 of file OSstream.H.
|
inlinevirtual |
Access to underlying std::ostream.
Reimplemented in OFstream.
Definition at line 155 of file OSstream.H.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Set stream flags, return old stream flags.
Implements IOstream.
Definition at line 171 of file OSstream.H.
References f().

|
inline |
Set stream state to match that of the std::ostream.
Definition at line 182 of file OSstream.H.
References IOstream::setState().
Referenced by beginRawWrite(), ensightFile::beginTimeStep(), endRawWrite(), indent(), OCharStream::release(), OSpanStream::reset(), OSpanStream::reset(), OCharStream::rewind(), OCountStream::rewind(), OSpanStream::rewind(), OCharStream::seek(), OSpanStream::seek(), OCharStream::swap(), OCharStream::swap(), ensightFile::write(), write(), write(), write(), write(), write(), write(), write(), write(), write(), writeQuoted(), writeRaw(), and ensightFile::writeString().


|
overridevirtual |
Write token to stream or otherwise handle it.
Implements Ostream.
Reimplemented in ensightFile, and prefixOSstream.
Definition at line 29 of file OSstream.C.
References token::BEGIN_BLOCK, token::CHAR_DATA, token::DIRECTIVE, token::END_BLOCK, token::EXPRESSION, token::FLAG, token::HASH, token::stringToken(), token::type(), token::VARIABLE, token::VERBATIM, token::wordToken(), write(), and writeQuoted().
Referenced by prefixOSstream::write(), prefixOSstream::write(), prefixOSstream::write(), prefixOSstream::write(), prefixOSstream::write(), prefixOSstream::write(), prefixOSstream::write(), prefixOSstream::write(), prefixOSstream::write(), prefixOSstream::write(), and prefixOSstream::write().


|
overridevirtual |
Write character.
Implements Ostream.
Reimplemented in ensightFile, OBJstream, and prefixOSstream.
Definition at line 89 of file OSstream.C.
References IOstream::lineNumber_, token::NL, and syncState().

|
overridevirtual |
Write character/string content, with/without surrounding quotes.
Implements Ostream.
Reimplemented in OBJstream, and prefixOSstream.
Definition at line 100 of file OSstream.C.
References token::DQUOTE, IOstream::lineNumber_, token::NL, and syncState().
Referenced by OSHA1stream::write(), write(), write(), and prefixOSstream::writeQuoted().


|
overridevirtual |
Write character string.
Implements Ostream.
Reimplemented in ensightFile, OBJstream, and prefixOSstream.
Definition at line 167 of file OSstream.C.
References IOstream::lineNumber_, and syncState().

|
overridevirtual |
Write word.
Implements Ostream.
Reimplemented in ensightFile, OBJstream, and prefixOSstream.
Definition at line 182 of file OSstream.C.
References syncState().

|
overridevirtual |
Write string (quoted).
In the rare case that the string contains a final trailing backslash, it will be dropped to the appearance of an escaped double-quote.
Implements Ostream.
Reimplemented in ensightFile, OBJstream, OSHA1stream, and prefixOSstream.
Definition at line 192 of file OSstream.C.
References writeQuoted().

|
overridevirtual |
Write int32_t.
Implements Ostream.
Reimplemented in ensightFile, and prefixOSstream.
Definition at line 198 of file OSstream.C.
References syncState().

|
overridevirtual |
Write int64_t.
Implements Ostream.
Reimplemented in ensightFile, and prefixOSstream.
Definition at line 206 of file OSstream.C.
References syncState().

|
overridevirtual |
Write uint32_t.
Implements Ostream.
Reimplemented in prefixOSstream.
Definition at line 214 of file OSstream.C.
References syncState().

|
overridevirtual |
Write uint64_t.
Implements Ostream.
Reimplemented in prefixOSstream.
Definition at line 222 of file OSstream.C.
References syncState().

|
overridevirtual |
Write float.
Implements Ostream.
Reimplemented in ensightFile, and prefixOSstream.
Definition at line 230 of file OSstream.C.
References syncState().

|
overridevirtual |
Write double.
Implements Ostream.
Reimplemented in ensightFile, and prefixOSstream.
Definition at line 238 of file OSstream.C.
References syncState().

|
overridevirtual |
Write binary block.
Implements Ostream.
Reimplemented in ensightFile, and prefixOSstream.
Definition at line 246 of file OSstream.C.
References beginRawWrite(), endRawWrite(), and writeRaw().

|
overridevirtual |
Low-level raw binary output.
Implements Ostream.
Definition at line 279 of file OSstream.C.
References syncState(), and Ostream::write().
Referenced by OSpanStream::append(), and write().


|
overridevirtual |
Begin marker for low-level raw binary output.
The count indicates the number of bytes for subsequent writeRaw calls.
Implements Ostream.
Definition at line 256 of file OSstream.C.
References Foam::abort(), token::BEGIN_LIST, IOstreamOption::BINARY, Foam::FatalIOError, FatalIOErrorInFunction, format(), and syncState().
Referenced by write().


|
overridevirtual |
End marker for low-level raw binary output.
Implements Ostream.
Definition at line 271 of file OSstream.C.
References token::END_LIST, and syncState().
Referenced by write().


|
overridevirtual |
Add indentation characters.
Implements Ostream.
Reimplemented in prefixOSstream.
Definition at line 294 of file OSstream.C.
References Ostream::indentLevel_, Ostream::indentSize_, and syncState().
Referenced by prefixOSstream::indent().


|
overridevirtual |
Flush stream.
Implements Ostream.
Definition at line 304 of file OSstream.C.
Referenced by DSMCCloud< ParcelType >::dumpParticlePositions().

|
overridevirtual |
Add newline and flush stream.
Implements Ostream.
Definition at line 310 of file OSstream.C.
References write().

|
overridevirtual |
Get the current padding character.
Implements Ostream.
Definition at line 319 of file OSstream.C.
Referenced by ensightFile::beginTimeStep().

|
overridevirtual |
Set padding character for formatted field up to field width.
Implements Ostream.
Definition at line 325 of file OSstream.C.
|
overridevirtual |
|
overridevirtual |
Set width of output field.
Implements Ostream.
Definition at line 337 of file OSstream.C.
|
overridevirtual |
Get precision of output field.
Implements Ostream.
Definition at line 343 of file OSstream.C.
Referenced by ITstream::toString().

|
overridevirtual |
Set precision of output field.
Implements Ostream.
Definition at line 349 of file OSstream.C.
References p.
|
overridevirtual |
Print stream description to Ostream.
Reimplemented from IOstream.
Reimplemented in OCharStream, OCountStream, OFstream, OSpanStream, OStringStream, and prefixOSstream.
Definition at line 39 of file SstreamsPrint.C.
References name, os(), Ostream::Ostream(), and IOstream::print().
Referenced by OFstream::print(), and prefixOSstream::print().


|
virtual |