# PhasicFlow: iFstream Class Reference
PhasicFlow is an open-source parallel DEM (discrete element method) package for simulating granular flow. It is developed in C++ and can be exectued on both GPU (like CUDA) and CPU.

iFstream Class Reference

Input file stream for reading binary or ascii data from a file. More...

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

## Public Member Functions

| iFstream (const fileSystem &path, bool binary=false)
| From file path and format. More...
| iFstream (const iFstream &src)=delete
| No copy constructor. More...
iFstream & | operator= (const iFstream &rhs)=delete
| No assignment. More...
virtual | ~iFstream ()=default
| Destructor. More...
Public Member Functions inherited from fileStream
| fileStream (const fileSystem &path, bool outStream=false, bool binary=false, bool append=false)
| From file path and input type and format. More...
| fileStream (const fileStream &)=delete
| No copy. More...
fileStream & | operator= (const fileStream &)=delete
| No assignment. More...
virtual | ~fileStream ()
| Destructor. More...
std::ifstream & | inStream ()
| Access input file stream. More...
std::ofstream & | outStream ()
| Access output file stream. More...
Public Member Functions inherited from Istream
| Istream (std::istream &is, const word &streamName, writeFormat wf=ASCII)
| Construct wrapper around std::istream, set stream status. More...
virtual | ~Istream ()=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 ios_base::fmtflags | flags () const
| Return flags of output stream. More...
Istream & | get (char &c)
| Raw, low-level get character function. More...
int | peek ()
| Raw, low-level peek function. More...
Istream & | getLine (word &str, char delim='\n')
| Raw, low-level getline (until delimiter) into a string. More...
std::streamsize | getLine (std::nullptr_t, char delim='\n')
| Low-level discard until delimiter return the number of characters extracted. More...
Istream & | putback (const char c)
| Raw, low-level putback character function. More...
virtual iIstream & | read (token &t) override
| Return next token from stream. More...
virtual iIstream & | read (char &c) override
| Read a character. More...
virtual iIstream & | read (word &str) override
| Read a word. More...
virtual iIstream & | readString (word &str) override
| Read a string. More...
virtual iIstream & | read (int64 &) override
| Read a int64. More...
virtual iIstream & | read (int32 &) override
| Read a int32. More...
virtual iIstream & | read (int8 &) override
| Read a int8. More...
virtual iIstream & | read (uint64 &) override
| Read a uint64. More...
virtual iIstream & | read (uint32 &) override
| Read a uint32. More...
virtual iIstream & | read (uint8 &) override
| Read a uint8. More...
virtual iIstream & | read (float &val) override
| Read a float. More...
virtual iIstream & | read (double &val) override
| Read a double. More...
iIstream & | read (char *buffer, std::streamsize count) override
| Write a block of binray data. More...
size_t | findBinaryBlockStart () override
| It seek for a character sequence that indicates the start of a binary block char sequence is 255 255 255 0 More...
void | rewind () override
| Rewind the stream so that it may be read again. More...
void | seek (size_t pos) override
size_t | tell () override
| Return current position indicator. 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 iIstream
| 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 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
Public Member Functions inherited from IOstream
| IOstream ()
| Default. More...
| IOstream (writeFormat wF)
| Construct and set write format. More...
| IOstream (const IOstream &)=default
| Copy. More...
virtual | ~IOstream ()=default
| Destructor. 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...
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...

## Additional Inherited Members

Public Types inherited from IOstream
enum | streamAccess : char { CLOSED = 0, OPENED }
enum | writeFormat : char { ASCII = 0, BINARY }
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 return the previous value. More...
Static Public Attributes inherited from IOstream
static unsigned int | precision_ = 6
| Default precision, only works for ASCII. More...
Protected Member Functions inherited from fileStream
void | openInFile (const fileSystem &path)
| open input file More...
void | openOutFile (const fileSystem &path)
| open output file More...
void | close ()
| close streams 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 | setWriteFormat (writeFormat wF)
void | setGood ()
| Set stream to be good. More...
Protected Attributes inherited from fileStream
uniquePtr< std::ifstream > | inStream_
| in file stream More...
uniquePtr< std::ofstream > | outStream_
| out file stream More...
bool | binary_ = false
bool | append_ = false
Protected Attributes inherited from IOstream
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 Protected Attributes inherited from IOstream
static word | staticName_
| Name for any generic stream - normally treat as readonly. More...

## Detailed Description

Input file stream for reading binary or ascii data from a file.

It is based on OpenFOAM stream, with some modifications/simplifications to be tailored to our needs.

Definition at line 37 of file iFstream.hpp.

## Constructor & Destructor Documentation

## iFstream() [1/2]

iFstream | ( | const fileSystem & | path,
|  | bool | binary = `false`
| ) |  |

From file path and format.

Definition at line 25 of file iFstream.cpp.

## iFstream() [2/2]

iFstream | ( | const iFstream & | src | ) |

delete

No copy constructor.

## ~iFstream()

virtual ~iFstream | ( |  | ) |

virtualdefault

Destructor.

## Member Function Documentation

## operator=()

iFstream& operator= | ( | const iFstream & | rhs | ) |

delete

No assignment.

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

- src/phasicFlow/streams/Fstream/iFstream.hpp
- src/phasicFlow/streams/Fstream/iFstream.cpp