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...
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 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 |
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 (longDoubleScalar &)=0 |
Read a longDoubleScalar. More... | |
virtual Istream & | read (char *, std::streamsize)=0 |
Read binary block. More... | |
virtual Istream & | rewind ()=0 |
Rewind and return the stream so that it may be read again. More... | |
Istream & | readBegin (const char *funcName) |
Istream & | readEnd (const char *funcName) |
Istream & | readEndBegin (const char *funcName) |
char | readBeginList (const char *funcName) |
char | readEndList (const char *funcName) |
Istream & | operator() () 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 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 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... | |
label & | lineNumber () |
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< IOstream > | info () 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_ |
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.
|
inline |
void putBack | ( | const token & | t | ) |
Put back token.
Only a single put back is permitted
Definition at line 30 of file Istream.C.
References IOstream::bad(), Foam::exit(), Foam::FatalIOError, and FatalIOErrorInFunction.
Referenced by arcEdge::arcEdge(), blockDescriptor::blockDescriptor(), BSplineEdge::BSplineEdge(), CrankNicolsonDdtScheme< Type >::CrankNicolsonDdtScheme(), dictionaryListEntry::dictionaryListEntry(), genericFvPatchField< Type >::genericFvPatchField(), block::New(), blockVertex::New(), Function1< Type >::New(), Function2< Type >::New(), entry::New(), decomposedBlockData::numBlocks(), Foam::operator>>(), PtrList< Foam::fvMesh >::PtrList(), dictionary::read(), Foam::blockMeshTools::read(), dimensionSet::read(), IOPosition< CloudType >::readData(), functionEntry::readFuncNameArgs(), specieCoeffs::setLRhs(), and splineEdge::splineEdge().
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().
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.
Return next token from stream.
Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.
Referenced by CollidingParcel< ParcelType >::CollidingParcel(), DSMCParcel< ParcelType >::DSMCParcel(), findCellParticle::findCellParticle(), molecule::molecule(), MomentumParcel< ParcelType >::MomentumParcel(), MPPICParcel< ParcelType >::MPPICParcel(), Foam::operator>>(), particle::particle(), ReactingMultiphaseParcel< ParcelType >::ReactingMultiphaseParcel(), primitiveEntry::read(), dimensioned< Type >::read(), Foam::readChar(), solidParticle::solidParticle(), SprayParcel< ParcelType >::SprayParcel(), ThermoParcel< ParcelType >::ThermoParcel(), token::token(), and trackedParticle::trackedParticle().
|
pure virtual |
Read a character.
Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.
Read a word.
Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.
Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.
Read a label.
Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.
|
pure virtual |
Read a floatScalar.
Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.
|
pure virtual |
Read a doubleScalar.
Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.
|
pure virtual |
Read a longDoubleScalar.
Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.
|
pure virtual |
Read binary block.
Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.
|
pure virtual |
Rewind and return the stream so that it may be read again.
Implemented in ITstream, ISstream, UIPstream, dummyIstream, and dummyISstream.
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().
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().
Foam::Istream & readEndBegin | ( | const char * | funcName | ) |
char readBeginList | ( | const char * | funcName | ) |
Definition at line 127 of file Istream.C.
References token::BEGIN_BLOCK, token::BEGIN_LIST, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, token::info(), and token::pToken().
Referenced by dictionaryListEntry::dictionaryListEntry(), PackedList< nBits >::read(), PtrList< T >::read(), Foam::blockMeshTools::read(), and IOPosition< CloudType >::readData().
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().
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.