Interface class for any input stream
More...
Public Member Functions | |
iIstream () | |
default More... | |
iIstream (writeFormat wf) | |
iIstream (const iIstream &)=default | |
Copy construct. More... | |
virtual | ~iIstream ()=default |
Destructor. More... | |
void | putBack (const token &tok) |
Put back token Only a single put back is permitted. 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... | |
void | resetPutBack () |
reset the put back token; More... | |
virtual iIstream & | read (token &)=0 |
Return next token from stream. More... | |
virtual iIstream & | read (char &)=0 |
Read a character. More... | |
virtual iIstream & | read (word &)=0 |
Read a string (including enclosing double-quotes) More... | |
virtual iIstream & | readString (word &)=0 |
Read a string. More... | |
virtual iIstream & | read (int64 &)=0 |
Read a int64. More... | |
virtual iIstream & | read (int32 &)=0 |
Read a int32. More... | |
virtual iIstream & | read (int8 &)=0 |
Read a int8. More... | |
virtual iIstream & | read (uint64 &)=0 |
Read a uint64. More... | |
virtual iIstream & | read (uint32 &)=0 |
Read a uin32. More... | |
virtual iIstream & | read (uint8 &)=0 |
Read a uint8. More... | |
virtual iIstream & | read (float &)=0 |
Read a floatScalar. More... | |
virtual iIstream & | read (double &)=0 |
Read a doubleScalar. More... | |
virtual iIstream & | read (char *buffer, std::streamsize count)=0 |
Write a block of binray data. More... | |
virtual void | rewind ()=0 |
Rewind the stream so that it may be read again. More... | |
virtual void | seek (size_t pos)=0 |
virtual size_t | tell ()=0 |
Return current position indicator. More... | |
virtual size_t | findBinaryBlockStart () |
It seek for a character sequence that indicates the start of a binary block char sequence is 255 255 255 0 More... | |
virtual bool | findToken (const word &w) |
search for all tokesn and find the first word token tbat matchs w More... | |
virtual bool | findTokenResume (const word &w) |
search for all tokesn after the current file position and find the first word token tbat matchs w More... | |
virtual bool | findTokenSilent (const word &w, int32 limitLine=100) |
search for all tokesn and find the first word token that matchs More... | |
virtual bool | findTokenResumeSilent (const word &w, int32 limitLine=100) |
search for all tokesn after the current file position and find the first word token tbat matchs w More... | |
virtual bool | findTokenAndNext (const word &w, word &nextW, bool checkEndStatement=true) |
search for all tokens and find the first word token and also next word token chekck if it is eneded with end statement ; More... | |
virtual bool | findTokenAndNextSilent (const word &w, word &nextW, int32 limitLine=100) |
template<typename T > | |
bool | findKeywordAndVal (const word &keyword, T &val, bool checkEndStatement=true) |
find a pair of keyword and data terminated by ; keyword data; return false if keyword does not exist or reading fails. More... | |
template<typename T > | |
T | lookupData (const word &keyword) |
lookup for keyword and data; fatalExit if fails More... | |
template<typename T > | |
T | lookupDataOrSet (const word &keyword, const T &setVal) |
lookup for keyword and data; set to setVal if lookup fails. More... | |
template<typename T > | |
bool | nextData (const word &keyword, T &data) |
read the data next to keword keyword data; check the keyword is correct or not 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 ')' return true or FatalIOError. More... | |
bool | readBeginSquare (const char *funcName) |
Begin read of data chunk, starts with '('. More... | |
bool | readEndSquare (const char *funcName) |
Begin read of data chunk, starts with '('. More... | |
char | readBeginList (const char *funcName) |
Begin read of list data, starts with '(' or '{' return starting delimiter or FatalIOError. More... | |
char | readEndList (const char *funcName) |
End read of list data, ends with ')' or '}' return closing delimiter or FatalIOError. More... | |
char | readEndStatement (const char *funcName) |
End statement character ;. More... | |
iIstream & | operator() () const |
![]() | |
IOstream () | |
Default. More... | |
IOstream (writeFormat wF) | |
Construct and set write format. More... | |
IOstream (const IOstream &)=default | |
Copy. More... | |
virtual | ~IOstream ()=default |
Destructor. More... | |
virtual const word & | name () const |
Return the name of the stream. More... | |
virtual word & | 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... | |
bool | 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 | isBinary () const |
Return true if stream format is binray. 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... | |
int32 | lineNumber () const |
Const access to the current stream line number. More... | |
int32 & | lineNumber () |
Non-const access to the current stream line number. More... | |
int32 | lineNumber (const int32 num) |
Set the stream line number return the previous value. 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 f) |
Unset flags of stream. 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 : char { CLOSED = 0, OPENED } |
enum | writeFormat : char { ASCII = 0, BINARY } |
![]() | |
static unsigned int | defaultPrecision () |
Return the default precision. More... | |
static unsigned int | defaultPrecision (unsigned int prec) |
Reset the default precision return the previous value. More... | |
![]() | |
static unsigned int | precision_ = 6 |
Default precision, only works for ASCII. More... | |
![]() | |
void | setOpened () |
Set stream opened. More... | |
void | setClosed () |
Set stream closed. More... | |
void | setState (ios_base::iostate state) |
Set stream state. More... | |
void | setWriteFormat (writeFormat wF) |
void | setGood () |
Set stream to be good. More... | |
![]() | |
streamAccess | openClosed_ |
Is stream open or closed. More... | |
writeFormat | writeFormat_ = ASCII |
write format More... | |
ios_base::iostate | ioState_ |
state More... | |
int32 | lineNumber_ |
The file line. More... | |
![]() | |
static word | staticName_ |
Name for any generic stream - normally treat as readonly. More... | |
Interface class for any input stream
It is based on OpenFOAM stream, with some modifications/simplifications to be tailored to our needs
Definition at line 37 of file iIstream.hpp.
|
inline |
default
Definition at line 55 of file iIstream.hpp.
|
inline |
Definition at line 60 of file iIstream.hpp.
|
virtualdefault |
Destructor.
void putBack | ( | const token & | tok | ) |
Put back token Only a single put back is permitted.
Definition at line 23 of file iIstream.cpp.
References IOstream::bad(), fatalErrorInFunction, fatalExit, ioErrorInFile, IOstream::lineNumber(), IOstream::name(), iIstream::putBack_, and iIstream::putBackToken_.
Referenced by iEntry< Key, T * >::createEntry(), stlFile::read(), pFlow::readDataAscii(), dictionary::readDictionary(), List< std::any >::readList(), and stlFile::readSolid().
bool getBack | ( | token & | tok | ) |
Get the put back token if there is one and return true.
Return false if no put back token is available.
Definition at line 45 of file iIstream.cpp.
References fatalErrorInFunction.
Referenced by iTstream::read(), and Istream::read().
bool peekBack | ( | token & | tok | ) |
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 64 of file iIstream.cpp.
References token::reset().
|
inline |
reset the put back token;
Definition at line 89 of file iIstream.hpp.
References iIstream::putBack_, iIstream::putBackToken_, and token::reset().
Referenced by iTstream::reset(), and iTstream::rewind().
Return next token from stream.
Implemented in Istream, and iTstream.
Referenced by iEntry< Key, T * >::createEntry(), pFlow::operator>>(), pFlow::readDataAsciiBinary(), dataEntry::readDataEntry(), iEntry< Key, T * >::readKeyword(), and token::token().
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
virtual |
It seek for a character sequence that indicates the start of a binary block char sequence is 255 255 255 0
Reimplemented in Istream.
Definition at line 78 of file iIstream.cpp.
References notImplementedFunction.
|
virtual |
search for all tokesn and find the first word token tbat matchs w
Definition at line 84 of file iIstream.cpp.
Referenced by iIstream::findKeywordAndVal(), and Field< uint32x3 >::read().
|
virtual |
search for all tokesn after the current file position and find the first word token tbat matchs w
Definition at line 90 of file iIstream.cpp.
References pFlow::endl(), token::error(), fatalErrorInFunction, token::isEndBlock(), token::isEndStatement(), token::isWord(), and token::wordToken().
Referenced by Field< uint32x3 >::read().
search for all tokesn and find the first word token that matchs
Definition at line 123 of file iIstream.cpp.
search for all tokesn after the current file position and find the first word token tbat matchs w
Definition at line 129 of file iIstream.cpp.
References token::error(), token::isEndBlock(), token::isEndStatement(), token::isWord(), and token::wordToken().
search for all tokens and find the first word token and also next word token chekck if it is eneded with end statement ;
Definition at line 157 of file iIstream.cpp.
References pFlow::endl(), token::error(), ioErrorInFile, token::isEndStatement(), token::isWord(), and token::wordToken().
Definition at line 203 of file iIstream.cpp.
References token::error(), token::isEndStatement(), token::isWord(), and token::wordToken().
Referenced by readControlDict::read(), and IOfileHeader::readHeader().
bool findKeywordAndVal | ( | const word & | keyword, |
T & | val, | ||
bool | checkEndStatement = true |
||
) |
find a pair of keyword and data terminated by ; keyword data; return false if keyword does not exist or reading fails.
Definition at line 24 of file iIstreamI.hpp.
References iIstream::findToken(), token::good(), and token::isEndStatement().
Referenced by readControlDict::read(), and multiTriSurface::read().
T lookupData | ( | const word & | keyword | ) |
lookup for keyword and data; fatalExit if fails
Definition at line 52 of file iIstreamI.hpp.
References fatalExit, and ioErrorInFile.
T lookupDataOrSet | ( | const word & | keyword, |
const T & | setVal | ||
) |
lookup for keyword and data; set to setVal if lookup fails.
Definition at line 68 of file iIstreamI.hpp.
Referenced by readControlDict::read().
bool nextData | ( | const word & | keyword, |
T & | data | ||
) |
read the data next to keword keyword data; check the keyword is correct or not
Definition at line 81 of file iIstreamI.hpp.
References pFlow::endl(), token::error(), token::good(), ioErrorInFile, token::isEndStatement(), token::isWord(), and token::wordToken().
Referenced by iBox< intType >::read(), sphere::read(), box::read(), cylinder::read(), and infinitePlane::read().
bool readBegin | ( | const char * | funcName | ) |
Begin read of data chunk, starts with '('.
return true or FatalIOError
Definition at line 238 of file iIstream.cpp.
References token::BEGIN_LIST, pFlow::endl(), fatalExit, and ioErrorInFile.
Referenced by pFlow::operator>>().
bool readEnd | ( | const char * | funcName | ) |
End read of data chunk, ends with ')' return true or FatalIOError.
Definition at line 258 of file iIstream.cpp.
References token::END_LIST, pFlow::endl(), fatalExit, and ioErrorInFile.
Referenced by pFlow::operator>>().
bool readBeginSquare | ( | const char * | funcName | ) |
Begin read of data chunk, starts with '('.
return true or FatalIOError
Definition at line 277 of file iIstream.cpp.
References token::BEGIN_SQR, pFlow::endl(), fatalExit, and ioErrorInFile.
Referenced by pFlow::operator>>().
bool readEndSquare | ( | const char * | funcName | ) |
Begin read of data chunk, starts with '('.
return true or FatalIOError
Definition at line 296 of file iIstream.cpp.
References token::END_SQR, pFlow::endl(), fatalExit, and ioErrorInFile.
Referenced by pFlow::operator>>().
char readBeginList | ( | const char * | funcName | ) |
Begin read of list data, starts with '(' or '{' return starting delimiter or FatalIOError.
Definition at line 315 of file iIstream.cpp.
References token::BEGIN_BLOCK, token::BEGIN_LIST, pFlow::endl(), fatalExit, ioErrorInFile, and token::pToken().
char readEndList | ( | const char * | funcName | ) |
End read of list data, ends with ')' or '}' return closing delimiter or FatalIOError.
Definition at line 336 of file iIstream.cpp.
References token::END_BLOCK, token::END_LIST, pFlow::endl(), fatalExit, ioErrorInFile, and token::pToken().
char readEndStatement | ( | const char * | funcName | ) |
End statement character ;.
Definition at line 359 of file iIstream.cpp.
References CONSUME_PARAM, pFlow::endl(), fatalExit, ioErrorInFile, token::isEndStatement(), and token::pToken().
Referenced by timeInterval::read(), line::read(), rotatingAxis::read(), and Field< uint32x3 >::read().
pFlow::iIstream & operator() | ( | ) | const |
Definition at line 377 of file iIstream.cpp.
References fatalExit.
|
private |
Has a token been put back on the stream?
Definition at line 45 of file iIstream.hpp.
Referenced by iIstream::putBack(), and iIstream::resetPutBack().
|
private |
The last token put back on the stream.
Definition at line 48 of file iIstream.hpp.
Referenced by iIstream::putBack(), and iIstream::resetPutBack().