Similar to IStringStream but using an externally managed buffer for its input. This allows the input buffer to be filled (and refilled) from various sources. More...
Public Member Functions | |
UIListStream (const char *buffer, size_t nbytes, IOstreamOption streamOpt=IOstreamOption()) | |
Construct using specified buffer and number of bytes. More... | |
UIListStream (const UList< char > &buffer, size_t nbytes, IOstreamOption streamOpt=IOstreamOption()) | |
Construct using data area from a List and number of bytes. More... | |
UIListStream (const UList< char > &buffer, IOstreamOption streamOpt=IOstreamOption()) | |
Construct using data area from a List and its inherent storage size. More... | |
std::streampos | pos () const |
Return the current get position in the buffer. More... | |
virtual void | rewind () |
Rewind the stream, clearing any old errors. More... | |
virtual void | print (Ostream &os) const |
Print stream description to Ostream. More... | |
Istream & | operator() () const |
A non-const reference to const Istream. More... | |
Public Member Functions inherited from UIListStreamAllocator | |
const UList< char > | list () const |
Const UList access to the input characters (shallow copy). More... | |
UList< char > | list () |
Non-const UList access to the input characters (shallow copy). More... | |
label | size () const |
The list size. More... | |
std::streampos | tellg () const |
Position of the get buffer. More... | |
void | rewind () |
Move to buffer start, clear errors. More... | |
Public Member Functions inherited from ISstream | |
ISstream (std::istream &is, const string &streamName, IOstreamOption streamOpt=IOstreamOption()) | |
Construct wrapper around std::istream, set stream status. More... | |
ISstream (std::istream &is, const string &streamName, IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver=IOstreamOption::currentVersion, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED) | |
Construct wrapper around std::istream, set stream status. More... | |
virtual | ~ISstream ()=default |
Destructor. More... | |
virtual const fileName & | name () const |
Return the name of the stream. More... | |
virtual fileName & | name () |
Return stream name for modification. More... | |
virtual ios_base::fmtflags | flags () const |
Return flags of output stream. More... | |
bool | seekCommentEnd_Cstyle () |
Discard until end of C-style comment '*/'. More... | |
bool | continueReadUntilRightBrace (std::string &str, const bool stripComments=true) |
ISstream & | get (char &c) |
Raw, low-level get character function. More... | |
int | peek () |
Raw, low-level peek function. More... | |
ISstream & | getLine (std::string &str, char delim='\n') |
Raw, low-level getline (until delimiter) into a string. More... | |
std::streamsize | getLine (std::nullptr_t, char delim='\n') |
Low-level discard until delimiter. More... | |
ISstream & | putback (const char c) |
Raw, low-level putback character function. More... | |
virtual Istream & | read (token &t) |
Return next token from stream. More... | |
virtual Istream & | read (char &c) |
Read a character. More... | |
virtual Istream & | read (word &str) |
Read a word. More... | |
virtual Istream & | read (string &str) |
Read a string (including enclosing double-quotes). More... | |
virtual Istream & | read (label &val) |
Read a label. More... | |
virtual Istream & | read (floatScalar &val) |
Read a floatScalar. More... | |
virtual Istream & | read (doubleScalar &val) |
Read a doubleScalar. More... | |
virtual Istream & | read (char *buf, std::streamsize count) |
Read binary block. More... | |
virtual Istream & | readRaw (char *data, std::streamsize count) |
Low-level raw binary read. More... | |
virtual bool | beginRawRead () |
Start of low-level raw binary read. More... | |
virtual bool | endRawRead () |
End of low-level raw binary read. More... | |
virtual void | rewind () |
Rewind the stream so that it may be read again. More... | |
virtual ios_base::fmtflags | flags (const ios_base::fmtflags flags) |
Set stream flags. More... | |
virtual std::istream & | stdStream () |
Access to underlying std::istream. More... | |
virtual const std::istream & | stdStream () const |
Const access to underlying std::istream. More... | |
virtual void | print (Ostream &os) const |
Print stream description to Ostream. More... | |
Public Member Functions inherited from Istream | |
Istream (const Istream &)=default | |
Copy construct. More... | |
virtual | ~Istream ()=default |
Destructor. More... | |
Istream (IOstreamOption streamOpt=IOstreamOption()) | |
Istream (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver=IOstreamOption::currentVersion, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED) | |
Construct with format, version (compression) More... | |
const token & | peekBack () const noexcept |
Examine putback token without removing it. More... | |
bool | peekBack (token &tok) |
Fetch putback token without removing it. More... | |
void | putBack (const token &tok) |
Put back a token. Only a single put back is permitted. More... | |
bool | getBack (token &tok) |
Get the put-back token if there is one. More... | |
virtual Istream & | read (token &)=0 |
Return next token from stream. More... | |
virtual Istream & | read (char &)=0 |
Read a character. More... | |
virtual Istream & | read (word &)=0 |
Read a word. More... | |
virtual Istream & | read (string &)=0 |
Read a string (including enclosing double-quotes) More... | |
virtual Istream & | read (label &)=0 |
Read a label. More... | |
virtual Istream & | read (floatScalar &)=0 |
Read a floatScalar. More... | |
virtual Istream & | read (doubleScalar &)=0 |
Read a doubleScalar. More... | |
virtual Istream & | read (char *, std::streamsize)=0 |
Read binary block. More... | |
virtual bool | beginRawRead ()=0 |
Start of low-level raw binary read. More... | |
virtual bool | endRawRead ()=0 |
End of low-level raw binary read. More... | |
virtual Istream & | readRaw (char *, std::streamsize)=0 |
Low-level raw binary read. More... | |
virtual void | rewind ()=0 |
Rewind the stream so that it may be read again. 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()) | |
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... | |
virtual ios_base::fmtflags | flags () const =0 |
Return flags of stream. 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... | |
virtual ios_base::fmtflags | flags (const ios_base::fmtflags f)=0 |
Set flags of stream. 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... | |
virtual void | print (Ostream &os) const |
Print stream description to Ostream. 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 () noexcept |
Return the default precision. More... | |
static unsigned int | defaultPrecision (unsigned int prec) noexcept |
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 UIListStreamAllocator | |
typedef std::istream | stream_type |
Protected Member Functions inherited from UIListStreamAllocator | |
UIListStreamAllocator (char *buffer, size_t nbytes) | |
Construct for character array and number of bytes. More... | |
void | reset (char *buffer, size_t nbytes) |
Reset buffer pointers. More... | |
void | printBufInfo (Ostream &os) const |
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 Attributes inherited from UIListStreamAllocator | |
memorybuf::in | buf_ |
The stream buffer. More... | |
stream_type | stream_ |
The stream. More... | |
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... | |
Similar to IStringStream but using an externally managed buffer for its input. This allows the input buffer to be filled (and refilled) from various sources.
Note that this stream will normally be used as a "one-shot" reader. Caution must be exercised that the referenced buffer remains valid and without any intermediate resizing for the duration of the stream's use.
An example of possible use:
Definition at line 201 of file UIListStream.H.
|
inline |
Construct using specified buffer and number of bytes.
Definition at line 213 of file UIListStream.H.
|
inline |
Construct using data area from a List and number of bytes.
Definition at line 225 of file UIListStream.H.
|
inlineexplicit |
Construct using data area from a List and its inherent storage size.
Uses addressed size, thus no special treatment for a DynamicList
Definition at line 237 of file UIListStream.H.
|
inline |
Return the current get position in the buffer.
Definition at line 250 of file UIListStream.H.
References UIListStreamAllocator::tellg().
|
inlinevirtual |
Rewind the stream, clearing any old errors.
Reimplemented from ISstream.
Definition at line 256 of file UIListStream.H.
References UIListStreamAllocator::rewind(), and IOstream::setGood().
|
virtual |
Print stream description to Ostream.
Reimplemented from ISstream.
Definition at line 42 of file ListStream.C.
References Foam::endl(), and os().
|
inline |
A non-const reference to const Istream.
Needed for read-constructors where the stream argument is temporary
Definition at line 270 of file UIListStream.H.