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 (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... | |
![]() | |
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... | |
Private Attributes | |
bool | putBack_ |
Has a token been put back on the stream? More... | |
token | putBackToken_ |
The last token put back on the stream. More... | |
Additional Inherited Members | |
![]() | |
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 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 const versionNumber | originalVersion |
Original version number. More... | |
static const versionNumber | currentVersion |
Current version number. More... | |
static unsigned int | precision_ |
Default precision. More... | |
![]() | |
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... | |
![]() | |
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, FatalIOErrorInFunction, Istream::putBack_, and Istream::putBackToken_.
Referenced by blockDescriptor::blockDescriptor(), BSplineEdge::BSplineEdge(), CompatibilityConstant::CompatibilityConstant(), Constant::Constant(), blockMesh::createTopology(), genericFvPatchField< Type >::genericFvPatchField(), dimensioned< Type >::initialize(), entry::New(), Foam::operator>>(), PolynomialEntry::PolynomialEntry(), HashPtrTable< ThermoType >::read(), ILList< DLListBase, entry >::read(), LPtrList< SLListBase, Reaction< Foam::sutherlandTransport > >::read(), PtrList< injectionModel >::read(), dimensionSet::read(), PackedList< 2 >::read(), dictionary::read(), IOPosition::readData(), mappedPatchBase::readListOrField(), blockMesh::readPatches(), Reaction::setLRhs(), splineEdge::splineEdge(), and Table::Table().
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 ISstream::read(), UIPstream::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, UIPstream, and ISstream.
Referenced by LongList< Foam::meshOctreeCube >::appendFromStream(), findCellParticle::findCellParticle(), entry::getKeyword(), molecule::molecule(), Foam::operator>>(), particle< Type >::particle(), primitiveEntry::read(), dimensioned< Type >::read(), PackedList< 2 >::read(), Foam::readChar(), SHA1Digest::readHexDigit(), solidParticle::solidParticle(), token::token(), trackedParticle::trackedParticle(), and wallBoundedParticle::wallBoundedParticle().
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Rewind and return the stream so that it may be read again.
Implemented in ITstream, ISstream, and UIPstream.
Referenced by gaussConvectionScheme< Type >::gaussConvectionScheme().
Foam::Istream & readBegin | ( | const char * | funcName | ) |
Definition at line 88 of file Istream.C.
References token::BEGIN_LIST, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, and token::info().
Referenced by blockMesh::createTopology(), LangmuirHinshelwoodReactionRate::LangmuirHinshelwoodReactionRate(), objectMap::objectMap(), Foam::operator>>(), and blockMesh::readPatches().
Foam::Istream & readEnd | ( | const char * | funcName | ) |
Definition at line 105 of file Istream.C.
References token::END_LIST, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, and token::info().
Referenced by ArrheniusReactionRate::ArrheniusReactionRate(), ChemicallyActivatedReactionRate::ChemicallyActivatedReactionRate(), blockMesh::createTopology(), FallOffReactionRate::FallOffReactionRate(), JanevReactionRate::JanevReactionRate(), LandauTellerReactionRate::LandauTellerReactionRate(), LangmuirHinshelwoodReactionRate::LangmuirHinshelwoodReactionRate(), objectMap::objectMap(), Foam::operator>>(), powerSeriesReactionRate::powerSeriesReactionRate(), blockMesh::readPatches(), SRIFallOffFunction::SRIFallOffFunction(), thirdBodyArrheniusReactionRate::thirdBodyArrheniusReactionRate(), and TroeFallOffFunction::TroeFallOffFunction().
Foam::Istream & readEndBegin | ( | const char * | funcName | ) |
char readBeginList | ( | const char * | funcName | ) |
Definition at line 131 of file Istream.C.
References token::BEGIN_BLOCK, token::BEGIN_LIST, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, token::info(), and token::pToken().
Referenced by LongList< Foam::meshOctreeCube >::appendFromStream(), ILList< DLListBase, entry >::read(), HashPtrTable< ThermoType >::read(), LPtrList< SLListBase, Reaction< Foam::sutherlandTransport > >::read(), PtrList< injectionModel >::read(), PackedList< 2 >::read(), IOPosition::readData(), and thirdBodyEfficiencies::thirdBodyEfficiencies().
char readEndList | ( | const char * | funcName | ) |
Definition at line 152 of file Istream.C.
References token::END_BLOCK, token::END_LIST, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, token::info(), and token::pToken().
Referenced by LongList< Foam::meshOctreeCube >::appendFromStream(), ILList< DLListBase, entry >::read(), HashPtrTable< ThermoType >::read(), LPtrList< SLListBase, Reaction< Foam::sutherlandTransport > >::read(), PtrList< injectionModel >::read(), PackedList< 2 >::read(), and IOPosition::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 173 of file Istream.C.
References IOerror::exit(), and Foam::FatalIOError.
|
private |
Has a token been put back on the stream?
Definition at line 64 of file Istream.H.
Referenced by Istream::putBack().
|
private |
The last token put back on the stream.
Definition at line 67 of file Istream.H.
Referenced by Istream::putBack().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.