IListStream Class Reference

An ISstream with internal List storage. More...

Inheritance diagram for IListStream:
[legend]
Collaboration diagram for IListStream:
[legend]

Public Member Functions

 IListStream (streamFormat format=ASCII, versionNumber version=currentVersion, const Foam::string &name="input")
 Construct with an empty list. More...
 
 IListStream (::Foam::List< char > &&buffer, streamFormat format=ASCII, versionNumber version=currentVersion, const Foam::string &name="input")
 Move construct from List. More...
 
template<int SizeMin>
 IListStream (DynamicList< char, SizeMin > &&buffer, streamFormat format=ASCII, versionNumber version=currentVersion, const Foam::string &name="input")
 Move construct from DynamicList. 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 description to Ostream. More...
 
Istreamoperator() () const
 A non-const reference to const Istream. More...
 
label size () const
 The current get position in the buffer. More...
 
- Public Member Functions inherited from IListStreamAllocator
void clearStorage ()
 Clear storage. More...
 
void swap (List< char > &list)
 Transfer contents to other List. More...
 
label size () const
 The current get position in the buffer. 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 &name, streamFormat format=ASCII, versionNumber version=currentVersion, compressionType compression=UNCOMPRESSED)
 Construct as wrapper around std::istream. More...
 
virtual ~ISstream ()=default
 Destructor. More...
 
virtual const fileNamename () const
 Return the name of the stream. More...
 
virtual fileNamename ()
 Return non-const access to the name of the stream. More...
 
virtual ios_base::fmtflags flags () const
 Return flags of output stream. More...
 
ISstreamget (char &c)
 Raw, low-level get character function. More...
 
int peek ()
 Raw, low-level peek function. More...
 
ISstreamgetLine (std::string &str, char delim='\n')
 Raw, low-level getline into a string function. More...
 
ISstreamputback (const char c)
 Raw, low-level putback character function. More...
 
virtual Istreamread (token &t)
 Return next token from stream. More...
 
virtual Istreamread (char &c)
 Read a character. More...
 
virtual Istreamread (word &str)
 Read a word. More...
 
virtual Istreamread (string &str)
 Read a string (including enclosing double-quotes). More...
 
virtual Istreamread (label &val)
 Read a label. More...
 
virtual Istreamread (floatScalar &val)
 Read a floatScalar. More...
 
virtual Istreamread (doubleScalar &val)
 Read a doubleScalar. More...
 
virtual Istreamread (char *buf, std::streamsize count)
 Read binary block. More...
 
virtual IstreamreadRaw (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 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...
 
- Public Member Functions inherited from Istream
 Istream (streamFormat format=ASCII, versionNumber version=currentVersion, compressionType compression=UNCOMPRESSED)
 Construct and set stream status. More...
 
virtual ~Istream ()=default
 Destructor. More...
 
void putBack (const token &tok)
 Put back token. More...
 
bool getBack (token &tok)
 Get the put back token if there is one and return true. More...
 
bool peekBack (token &tok)
 Peek at the put back token without removing it. 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...
 
Istreamoperator() () const
 Return a non-const reference to const Istream. More...
 
- Public Member Functions inherited from IOstream
 IOstream (const IOstreamOption option)
 Construct with specified stream option. More...
 
 IOstream (streamFormat format, versionNumber version, compressionType compression=UNCOMPRESSED)
 Construct with format, version. More...
 
virtual ~IOstream ()=default
 Destructor. More...
 
virtual bool check (const char *operation) const
 Check IOstream status for given operation. More...
 
void 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...
 
labellineNumber ()
 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< IOstreaminfo () const
 Return info proxy. More...
 
- Public Member Functions inherited from IOstreamOption
 IOstreamOption () noexcept
 Construct null. (default: ASCII, uncompressed, currentVersion) More...
 
 IOstreamOption (streamFormat format) noexcept
 Construct with format. (default: uncompressed, currentVersion) More...
 
 IOstreamOption (streamFormat format, compressionType compression, versionNumber version=currentVersion) noexcept
 Construct with format and compression, optionally with version. More...
 
 IOstreamOption (streamFormat format, versionNumber version, compressionType compression) noexcept
 Construct with format, version, compression. More...
 
streamFormat format () const noexcept
 Get the current stream format. More...
 
streamFormat format (const streamFormat format) 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 &compressionName)
 Set the stream compression, from string value. More...
 
versionNumber version () const noexcept
 Get the stream version. More...
 
versionNumber version (const versionNumber verNum) noexcept
 Set the stream version. 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, 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)
 The stream format enum corresponding to the string. More...
 
static compressionType compressionEnum (const word &compName)
 The compression enum corresponding to the string. More...
 
- Static Public Attributes inherited from IOstream
static unsigned int precision_
 Default precision. More...
 
- Static Public Attributes inherited from IOstreamOption
static const Enum< streamFormatformatNames
 Stream format names (ascii, binary) More...
 
static const versionNumber originalVersion
 The original version number. More...
 
static const versionNumber currentVersion
 The current version number. More...
 
- Protected Types inherited from UIListStreamAllocator
typedef std::istream stream_type
 
- Protected Member Functions inherited from IListStreamAllocator
 IListStreamAllocator ()
 Construct empty. More...
 
 IListStreamAllocator (List< char > &&buffer)
 Move construct from List. More...
 
template<int SizeMin>
 IListStreamAllocator (DynamicList< char, SizeMin > &&buffer)
 Move construct from DynamicList. More...
 
void reset_gbuffer ()
 Convenience method to address the underlying List storage. More...
 
- 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 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 UIListStreamAllocator
memorybuf::in buf_
 The stream buffer. More...
 
stream_type stream_
 The stream. 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 IOstream
static fileName staticName_
 Name for any generic stream - normally treat as readonly. More...
 

Detailed Description

An ISstream with internal List storage.

An input stream that reads from a List and manages the List storage. Similar to IStringStream but with a List for its storage instead of as string to allow reuse of List contents without copying.

See also
Foam::OListStream Foam::UIListStream Foam::UOListStream

Definition at line 133 of file IListStream.H.

Constructor & Destructor Documentation

◆ IListStream() [1/3]

IListStream ( streamFormat  format = ASCII,
versionNumber  version = currentVersion,
const Foam::string name = "input" 
)
inline

Construct with an empty list.

Definition at line 146 of file IListStream.H.

◆ IListStream() [2/3]

IListStream ( ::Foam::List< char > &&  buffer,
streamFormat  format = ASCII,
versionNumber  version = currentVersion,
const Foam::string name = "input" 
)
inline

Move construct from List.

Definition at line 159 of file IListStream.H.

◆ IListStream() [3/3]

IListStream ( DynamicList< char, SizeMin > &&  buffer,
streamFormat  format = ASCII,
versionNumber  version = currentVersion,
const Foam::string name = "input" 
)
inline

Move construct from DynamicList.

Definition at line 174 of file IListStream.H.

Member Function Documentation

◆ pos()

std::streampos pos ( ) const
inline

Return the current get position in the buffer.

Definition at line 193 of file IListStream.H.

References UIListStreamAllocator::tellg().

Here is the call graph for this function:

◆ rewind()

virtual void rewind ( )
inlinevirtual

Rewind the stream, clearing any old errors.

Reimplemented from ISstream.

Definition at line 199 of file IListStream.H.

References UIListStreamAllocator::rewind(), and IOstream::setGood().

Here is the call graph for this function:

◆ print()

void print ( Ostream os) const
virtual

Print description to Ostream.

Reimplemented from ISstream.

Definition at line 34 of file ListStream.C.

References Foam::endl(), and UIListStreamAllocator::printBufInfo().

Here is the call graph for this function:

◆ operator()()

Istream& operator() ( ) const
inline

A non-const reference to const Istream.

Needed for read-constructors where the stream argument is temporary

Definition at line 214 of file IListStream.H.

◆ size()

label size
inline

The current get position in the buffer.

Definition at line 176 of file UIListStream.H.


The documentation for this class was generated from the following files: