Istream Class Referenceabstract

An Istream is an abstract base class for all input systems (streams, files, token lists etc). The basic operations are construct, close, read token, read primitive and read binary block. More...

Inheritance diagram for Istream:
Collaboration diagram for Istream:

Public Member Functions

 Istream (streamFormat format=ASCII, versionNumber version=currentVersion, compressionType compression=UNCOMPRESSED)
 Set stream status. More...
 
virtual ~Istream ()
 Destructor. More...
 
void putBack (const token &)
 Put back token. More...
 
bool getBack (token &)
 Get the put back token if there is one and return true. More...
 
bool peekBack (token &)
 Peek at the put back token without removing it. More...
 
virtual Istreamread (token &)=0
 Return next token from stream. More...
 
virtual Istreamread (char &)=0
 Read a character. More...
 
virtual Istreamread (word &)=0
 Read a word. More...
 
virtual Istreamread (string &)=0
 
virtual Istreamread (label &)=0
 Read a label. More...
 
virtual Istreamread (floatScalar &)=0
 Read a floatScalar. More...
 
virtual Istreamread (doubleScalar &)=0
 Read a doubleScalar. More...
 
virtual Istreamread (longDoubleScalar &)=0
 Read a longDoubleScalar. More...
 
virtual Istreamread (char *, std::streamsize)=0
 Read binary block. More...
 
virtual Istreamrewind ()=0
 Rewind and return the stream so that it may be read again. More...
 
IstreamreadBegin (const char *funcName)
 
IstreamreadEnd (const char *funcName)
 
IstreamreadEndBegin (const char *funcName)
 
char readBeginList (const char *funcName)
 
char readEndList (const char *funcName)
 
Istreamoperator() () const
 Return a non-const reference to const Istream. More...
 
- Public Member Functions inherited from IOstream
 IOstream (streamFormat format, versionNumber version, compressionType compression=UNCOMPRESSED)
 Construct setting format and version. More...
 
virtual ~IOstream ()
 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 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 void * () const
 Return non-zero if the stream has not failed. More...
 
bool operator! () const
 Return true if the stream has failed. More...
 
streamFormat format () const
 Return current stream format. More...
 
streamFormat format (const streamFormat fmt)
 Set the stream format. More...
 
streamFormat format (const word &fmt)
 Set the stream format from word. More...
 
versionNumber version () const
 Return the stream version. More...
 
versionNumber version (const versionNumber ver)
 Set the stream version. More...
 
compressionType compression () const
 Return the stream compression. More...
 
compressionType compression (const compressionType cmp)
 Set the stream compression. More...
 
compressionType compression (const word &cmp)
 Set the stream compression from word. More...
 
label lineNumber () const
 Return current stream line number. More...
 
labellineNumber ()
 Return current stream line number. More...
 
label lineNumber (const label ln)
 Set the stream line number. More...
 
virtual ios_base::fmtflags flags () const =0
 Return flags of stream. 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...
 
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 uf)
 Unset flags of stream. More...
 
virtual void print (Ostream &) const
 Print description of IOstream to Ostream. More...
 
void print (Ostream &, const int streamState) const
 Check given stream state bits. More...
 
InfoProxy< IOstreaminfo () const
 Return info proxy. More...
 

Additional Inherited Members

- Public Types inherited from IOstream
enum  streamAccess { OPENED , CLOSED }
 Enumeration for whether the stream open or closed. More...
 
enum  streamFormat { ASCII , BINARY }
 Enumeration for the format of data in the stream. More...
 
enum  compressionType { UNCOMPRESSED , COMPRESSED }
 Enumeration for the format of data in the stream. More...
 
- Static Public Member Functions inherited from IOstream
static streamFormat formatEnum (const word &)
 Return stream format of given format name. More...
 
static compressionType compressionEnum (const word &)
 Return compression of given compression name. More...
 
static unsigned int defaultPrecision ()
 Return the default precision. More...
 
static unsigned int defaultPrecision (unsigned int p)
 Reset the default precision (and return old precision) More...
 
- Static Public Attributes inherited from IOstream
static const versionNumber currentVersion
 Current version number. More...
 
static unsigned int precision_
 Default precision. More...
 
- 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 IOstream
label lineNumber_
 

Detailed Description

An Istream is an abstract base class for all input systems (streams, files, token lists etc). The basic operations are construct, close, read token, read primitive and read binary block.

In addition, version control and line number counting is incorporated. Usually one would use the read primitive member functions, but if one were reading a stream on unknown data sequence one can read token by token, and then analyse.

Source files

Definition at line 57 of file Istream.H.

Constructor & Destructor Documentation

◆ Istream()

Istream ( streamFormat  format = ASCII,
versionNumber  version = currentVersion,
compressionType  compression = UNCOMPRESSED 
)
inline

Set stream status.

Definition at line 75 of file Istream.H.

◆ ~Istream()

virtual ~Istream ( )
inlinevirtual

Destructor.

Definition at line 88 of file Istream.H.

Member Function Documentation

◆ putBack()

◆ getBack()

bool getBack ( token t)

Get the put back token if there is one and return true.

Return false if no put back token is available.

Definition at line 52 of file Istream.C.

References Foam::exit(), Foam::FatalIOError, and FatalIOErrorInFunction.

Referenced by UIPstream::read(), ISstream::read(), and ITstream::read().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ peekBack()

bool peekBack ( token t)

Peek at the put back token without removing it.

Returns false if no put back token is available and set the token to undefined.

Definition at line 71 of file Istream.C.

References token::undefinedToken.

◆ read() [1/9]

◆ read() [2/9]

virtual Istream& read ( char &  )
pure virtual

Read a character.

Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.

◆ read() [3/9]

virtual Istream& read ( word )
pure virtual

Read a word.

Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.

◆ read() [4/9]

virtual Istream& read ( string )
pure virtual

◆ read() [5/9]

virtual Istream& read ( label )
pure virtual

Read a label.

Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.

◆ read() [6/9]

virtual Istream& read ( floatScalar )
pure virtual

Read a floatScalar.

Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.

◆ read() [7/9]

virtual Istream& read ( doubleScalar )
pure virtual

Read a doubleScalar.

Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.

◆ read() [8/9]

virtual Istream& read ( longDoubleScalar )
pure virtual

Read a longDoubleScalar.

Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.

◆ read() [9/9]

virtual Istream& read ( char *  ,
std::streamsize   
)
pure virtual

Read binary block.

Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.

◆ rewind()

virtual Istream& rewind ( )
pure virtual

Rewind and return the stream so that it may be read again.

Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.

◆ readBegin()

Foam::Istream & readBegin ( const char *  funcName)

Definition at line 86 of file Istream.C.

References token::BEGIN_LIST, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, and token::info().

Referenced by objectMap::objectMap(), Foam::operator>>(), PackedList< nBits >::setPair(), and VectorSpace< Form, Cmpt, Ncmpts >::VectorSpace().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readEnd()

Foam::Istream & readEnd ( const char *  funcName)

Definition at line 103 of file Istream.C.

References token::END_LIST, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, and token::info().

Referenced by objectMap::objectMap(), Foam::operator>>(), PackedList< nBits >::setPair(), and VectorSpace< Form, Cmpt, Ncmpts >::VectorSpace().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readEndBegin()

Foam::Istream & readEndBegin ( const char *  funcName)

Definition at line 120 of file Istream.C.

◆ readBeginList()

char readBeginList ( const char *  funcName)

◆ readEndList()

char readEndList ( const char *  funcName)

Definition at line 148 of file Istream.C.

References token::END_BLOCK, token::END_LIST, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, token::info(), and token::pToken().

Referenced by dictionaryListEntry::dictionaryListEntry(), Foam::blockMeshTools::read(), and IOPosition< CloudType >::readData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator()()

Foam::Istream & operator() ( ) const

Return a non-const reference to const Istream.

Needed for read-constructors where the stream argument is temporary: e.g. thing thisThing(IFstream("thingFileName")());

Definition at line 169 of file Istream.C.

References IOerror::exit(), and Foam::FatalIOError.

Here is the call graph for this function:

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