An OSstream attached to an unallocated external buffer. More...
Public Member Functions | |
UOListStream (char *buffer, size_t nbytes, streamFormat format=ASCII, versionNumber version=currentVersion) | |
Construct using specified buffer and number of bytes. More... | |
UOListStream (UList< char > &buffer, size_t size, streamFormat format=ASCII, versionNumber version=currentVersion) | |
Construct using data area from a List and number of bytes. More... | |
template<unsigned N> | |
UOListStream (FixedList< char, N > &buffer, streamFormat format=ASCII, versionNumber version=currentVersion) | |
Construct using data area from a FixedList. More... | |
UOListStream (UList< char > &buffer, streamFormat format=ASCII, versionNumber version=currentVersion) | |
Construct using data area from a List and its inherent storage size. More... | |
template<int SizeMin> | |
UOListStream (DynamicList< char, SizeMin > &buffer, streamFormat format=ASCII, versionNumber version=currentVersion) | |
Construct using data area from a DynamicList and its capacity. More... | |
virtual void | rewind () |
Rewind the stream, clearing any old errors. More... | |
virtual void | print (Ostream &os) const |
Print stream description to Ostream. More... | |
Public Member Functions inherited from UOListStreamAllocator | |
const UList< char > | list () const |
Const UList access to the characters written (shallow copy). More... | |
UList< char > | list () |
Non-const UList access to the characters written (shallow copy). More... | |
label | capacity () const |
The current list output capacity. More... | |
label | size () const |
void | rewind () |
Move to buffer start, clear errors. More... | |
Public Member Functions inherited from OSstream | |
OSstream (const OSstream &)=default | |
Copy construct. More... | |
void | operator= (const OSstream &)=delete |
No copy assignment. More... | |
OSstream (std::ostream &os, const string &streamName, IOstreamOption streamOpt=IOstreamOption()) | |
Construct wrapper around std::ostream, set stream status. More... | |
OSstream (std::ostream &os, const string &streamName, streamFormat fmt, versionNumber ver=currentVersion, compressionType comp=compressionType::UNCOMPRESSED) | |
Construct wrapper around std::ostream, set stream status. More... | |
virtual const fileName & | name () const |
Return the name of the stream. More... | |
virtual fileName & | name () |
Return non-const access to the name of the stream. More... | |
virtual ios_base::fmtflags | flags () const |
Return flags of output stream. More... | |
virtual bool | write (const token &tok) |
Write token to stream or otherwise handle it. More... | |
virtual Ostream & | write (const char c) |
Write character. More... | |
virtual Ostream & | write (const char *str) |
Write character string. More... | |
virtual Ostream & | write (const word &str) |
Write word. More... | |
virtual Ostream & | write (const string &str) |
Write string (quoted) 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. More... | |
virtual Ostream & | write (const int64_t val) |
Write int64_t. 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. 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 ios_base::fmtflags f) |
Set stream flags. 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 fillch) |
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 w) |
Set width of output field. More... | |
virtual int | precision () const |
Get precision of output field. More... | |
virtual int | precision (const int p) |
Set precision of output field. More... | |
virtual std::ostream & | stdStream () |
Access to underlying std::ostream. More... | |
virtual const std::ostream & | stdStream () const |
Const access to underlying std::ostream. More... | |
Public Member Functions inherited from Ostream | |
Ostream (const Ostream &)=default | |
Copy construct. More... | |
virtual | ~Ostream ()=default |
Destructor. More... | |
Ostream (IOstreamOption streamOpt=IOstreamOption()) | |
Ostream (streamFormat fmt, versionNumber ver=currentVersion, compressionType comp=compressionType::UNCOMPRESSED) | |
Construct with format, version (compression) More... | |
virtual Ostream & | write (const keyType &kw) |
Write keyType. More... | |
unsigned short | indentSize () const |
Return indent level. More... | |
unsigned short & | indentSize () |
Access to indent size. More... | |
unsigned short | indentLevel () const |
Return indent level. More... | |
unsigned short & | indentLevel () |
Access to indent level. More... | |
void | incrIndent () |
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... | |
Public Member Functions inherited from IOstream | |
IOstream (const IOstream &)=default | |
Copy construct. More... | |
virtual | ~IOstream ()=default |
Destructor. More... | |
IOstream (IOstreamOption streamOpt=IOstreamOption()) | |
IOstream (streamFormat fmt, versionNumber ver, compressionType comp=compressionType::UNCOMPRESSED) | |
Construct with format, version (compression) 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 |
Return true if stream has been opened. More... | |
bool | closed () const |
Return true if stream is closed. More... | |
bool | good () const |
Return true if next operation might succeed. More... | |
bool | eof () const |
Return true if end of input seen. More... | |
bool | fail () const |
Return true if next operation will fail. More... | |
bool | bad () const |
Return true if stream is corrupted. More... | |
operator bool () const | |
Return true if the stream has not failed. More... | |
bool | operator! () const |
Return true if the stream has failed. More... | |
unsigned | labelByteSize () const |
The label byte-size associated with the stream. More... | |
unsigned | scalarByteSize () const |
The scalar byte-size associated with the stream. More... | |
void | setLabelByteSize (unsigned nbytes) |
Set the label byte-size associated with the stream. More... | |
void | setScalarByteSize (unsigned nbytes) |
Set the scalar byte-size associated with the stream. More... | |
template<class T = label> | |
std::enable_if< std::is_integral< T >::value, bool >::type | checkLabelSize () const |
template<class T = scalar> | |
std::enable_if< std::is_floating_point< T >::value, bool >::type | checkScalarSize () const |
label | lineNumber () const |
Const access to the current stream line number. More... | |
label & | lineNumber () |
Non-const access to the current stream line number. More... | |
label | lineNumber (const label num) |
Set the stream line number. More... | |
void | setEof () |
Set stream to have reached eof. More... | |
void | setFail () |
Set stream to have failed. More... | |
void | setBad () |
Set stream to be bad. More... | |
ios_base::fmtflags | setf (const ios_base::fmtflags f) |
Set flags of stream. More... | |
ios_base::fmtflags | setf (const ios_base::fmtflags f, const ios_base::fmtflags mask) |
Set flags of given field of stream. More... | |
void | unsetf (const ios_base::fmtflags 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... | |
Public Member Functions inherited from IOstreamOption | |
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... | |
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... | |
Static Public Member Functions inherited from IOstream | |
static unsigned int | defaultPrecision () |
Return the default precision. More... | |
static unsigned int | defaultPrecision (unsigned int prec) |
Reset the default precision. More... | |
Static Public Member Functions inherited from IOstreamOption | |
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 Public Attributes inherited from IOstream | |
static unsigned int | precision_ |
Default precision. More... | |
Static Public Attributes inherited from IOstreamOption | |
static const Enum< streamFormat > | formatNames |
Stream format names (ascii, binary) More... | |
static const versionNumber | currentVersion |
The current version number (2.0) More... | |
Protected Types inherited from UOListStreamAllocator | |
typedef std::ostream | stream_type |
Protected Member Functions inherited from UOListStreamAllocator | |
UOListStreamAllocator (char *buffer, size_t nbytes) | |
Construct for character array and number of bytes. More... | |
void | printBufInfo (Ostream &os) const |
Protected Member Functions inherited from IOstream | |
void | setOpened () |
Set stream opened. More... | |
void | setClosed () |
Set stream closed. More... | |
void | setState (ios_base::iostate state) |
Set stream state. More... | |
void | setGood () |
Set stream to be good. More... | |
Protected Attributes inherited from UOListStreamAllocator | |
memorybuf::out | buf_ |
The stream buffer. More... | |
stream_type | stream_ |
The stream. More... | |
Protected Attributes inherited from Ostream | |
unsigned short | indentSize_ = 4 |
Number of spaces per indent level. More... | |
unsigned short | indentLevel_ = 0 |
Current indent level. More... | |
Protected Attributes inherited from IOstream | |
streamAccess | openClosed_ |
ios_base::iostate | ioState_ |
unsigned short | labelByteSize_ |
The label byte-size (could also be stored as byte) More... | |
unsigned short | scalarByteSize_ |
The scalar byte-size (could also be stored as byte) More... | |
label | lineNumber_ |
The file line. More... | |
Static Protected Attributes inherited from Ostream | |
static constexpr const unsigned short | entryIndentation_ = 16 |
Indentation of the entry from the start of the keyword. More... | |
Static Protected Attributes inherited from IOstream | |
static fileName | staticName_ |
Name for any generic stream - normally treat as readonly. More... | |
An OSstream attached to an unallocated external buffer.
Similar to OStringStream but using an externally managed buffer for its output.
This allows the output buffer to be reused and can make it easier when writing out data. It is the user's responsibility to ensure proper synchronization in the sizes. Provided that the external buffer is large enough that overflow does not occur, the following usage pattern works.
Although the UOListStream is quite lightweight, there may be cases where it is preferable to reuse the stream as well.
Definition at line 176 of file UOListStream.H.
|
inline |
Construct using specified buffer and number of bytes.
Definition at line 189 of file UOListStream.H.
|
inline |
Construct using data area from a List and number of bytes.
Definition at line 202 of file UOListStream.H.
|
inlineexplicit |
Construct using data area from a FixedList.
Definition at line 215 of file UOListStream.H.
|
inlineexplicit |
Construct using data area from a List and its inherent storage size.
Definition at line 226 of file UOListStream.H.
|
inlineexplicit |
Construct using data area from a DynamicList and its capacity.
Definition at line 239 of file UOListStream.H.
|
inlinevirtual |
Rewind the stream, clearing any old errors.
Definition at line 252 of file UOListStream.H.
References UOListStreamAllocator::rewind(), and IOstream::setGood().
|
virtual |
Print stream description to Ostream.
Reimplemented from OSstream.
Definition at line 58 of file ListStream.C.
References Foam::endl().