# PhasicFlow: oTstream 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.

oTstream Class Reference

Output token stream. More...

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

## Public Member Functions

| oTstream (const word &nm)
| emtpy stream with a name More...
| oTstream (const oTstream &src)
| copy construcotr More...
| oTstream (oTstream &&)=default
| move construct More...
virtual | ~oTstream ()=default
| destructor More...
const tokenList & | tokens () const
tokenList & | tokens ()
virtual bool | write (const token &tok)
| Write token to stream or otherwise handle it. More...
virtual iOstream & | write (const char c)
| Write single character. Whitespace is suppressed. More...
virtual iOstream & | write (const char *str)
| Write the word-characters of a character string. More...
virtual iOstream & | write (const word &str)
| Write word. More...
virtual iOstream & | writeQuoted (const std::string &str, const bool quoted=true)
| Write std::string surrounded by quotes. More...
virtual iOstream & | write (const int64 val) override
| Write int64. More...
virtual iOstream & | write (const int32 val) override
| Write int32. More...
virtual iOstream & | write (const int8 val) override
| Write int8. More...
virtual iOstream & | write (const uint64 val) override
| Write uint64. More...
virtual iOstream & | write (const uint32 val) override
| Write uint32. More...
virtual iOstream & | write (const uint8 val) override
| Write uint8. More...
virtual iOstream & | write (const float val) override
| Write float. More...
virtual iOstream & | write (const double val) override
| Write double. More...
virtual iOstream & | write (const size_t val) override
| Write double. More...
void | seek (size_t pos) override
iOstream & | write (const char *binaryData, std::streamsize count) override
| Write a block of binray data. More...
virtual void | append (const token &tok)
| append token to the stream More...
virtual void | append (const tokenList &tLisk)
| append a list of tokens to the stream More...
void | reset ()
| Reset the output buffer and rewind the stream. More...
virtual void | rewind ()
| Rewind the output stream. More...
virtual void | indent ()
| Add indentation characters. More...
virtual void | startOfBinaryStreaming ()
| Add a new line and flush stream. More...
virtual void | endOfBinaryStreaming ()
| Reach end of file add a new line and flush stream. More...
virtual void | flush ()
| Flush stream. More...
virtual void | endl ()
| Add newline and flush stream. More...
virtual char | fill () const
| Get the current padding character. More...
virtual char | fill (const char)
| Set padding character for formatted field up to field width. More...
virtual int | width () const
| Get width of output field. More...
virtual int | width (const int)
| Set width of output field. More...
virtual int | precision () const
| Get precision of output field. More...
virtual int | precision (const int)
| Set precision of output field. More...
virtual ios_base::fmtflags | flags () const
| Return flags of output stream. More...
ios_base::fmtflags | flags (const ios_base::fmtflags)
| Set flags of stream. More...
Public Member Functions inherited from iOstream
| iOstream ()
| Default. More...
| iOstream (writeFormat wF)
| Construct from writeFormat. More...
| iOstream (const iOstream &)=default
| Copy construct. More...
virtual | ~iOstream ()=default
| Destructor. More...
virtual iOstream & | writeBinaryBlockFlag ()
| Write the flag to indicate the start of a binary block. More...
unsigned short | indentSize () const
| Return indent level. More...
unsigned short & | indentSize ()
| Access to indent size. More...
unsigned short | indentLevel () const
| Return indent level. More...
unsigned short & | indentLevel ()
| Access to indent level. More...
void | incrIndent ()
| Increment the indent level. More...
void | decrIndent ()
| Decrement the indent level. More...
virtual iOstream & | beginBlock (const word &kw)
| Write begin block group with a name Increments indentation, adds newline. More...
virtual iOstream & | beginBlock ()
| Write begin block group without a name Increments indentation, adds newline. More...
virtual iOstream & | endBlock ()
| Write end block group Decrements indentation, adds newline. More...
virtual iOstream & | beginList ()
| Write begin list "(". More...
virtual iOstream & | beginList (const word &kw)
| Write begin list with keyword "kw (". More...
virtual iOstream & | endList ()
| Write end list ")". More...
virtual iOstream & | beginSquare ()
| Write begin list "[". More...
virtual iOstream & | beginSquare (const word &kw)
| Write begin list with keyword "kw [". More...
virtual iOstream & | endSquare ()
| Write end list "]". More...
virtual iOstream & | endEntry ()
| Write end entry (';') followed by newline. More...
virtual iOstream & | newLine ()
| Write a newLine to stream. More...
virtual iOstream & | space (int32 n=1)
| Write space to stream. More...
virtual iOstream & | writeWordKeyword (const word &kw)
| Write the keyword followed by an appropriate indentation. More...
template<class T >
iOstream & | writeWordEntry (const word &key, const T &value)
| Write a keyword/value entry. More...
iOstream & | operator() () const
| Return a non-const reference to const iOstream Needed for write functions where the stream argument is temporary: e.g. More...
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 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...
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...

## Protected Attributes

word | name_
| name of stream More...
tokenList | tokenList_
| tokenList More...
Protected Attributes inherited from iOstream
unsigned short | indentSize_ = 4
| Number of spaces per indent level. More...
unsigned short | indentLevel_ = 0
| Current indent level. More...
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...

## 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 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...
Static Protected Attributes inherited from iOstream
static constexpr const unsigned short | entryIndentation_ = 16
| Indentation of the entry from the start of the keyword. More...
Static Protected Attributes inherited from IOstream
static word | staticName_
| Name for any generic stream - normally treat as readonly. More...

## Detailed Description

Output token stream.

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

Definition at line 48 of file oTstream.hpp.

## Constructor & Destructor Documentation

## oTstream() [1/3]

oTstream | ( | const word & | nm | ) |

emtpy stream with a name

Definition at line 6 of file oTstream.cpp.

## oTstream() [2/3]

oTstream | ( | const oTstream & | src | ) |

copy construcotr

Definition at line 19 of file oTstream.cpp.

## oTstream() [3/3]

oTstream | ( | oTstream && |  | ) |

default

move construct

## ~oTstream()

virtual ~oTstream | ( |  | ) |

virtualdefault

destructor

## Member Function Documentation

## tokens() [1/2]

pFlow::tokenList & tokens | ( |  | ) | const

Definition at line 32 of file oTstream.cpp.

References oTstream::tokenList_.

Referenced by dataEntry::dataEntry().

Here is the caller graph for this function:

## tokens() [2/2]

tokenList& tokens | ( |  | ) |

## write() [1/14]

bool write | ( | const token & | tok | ) |

virtual

Write token to stream or otherwise handle it.

return false if the token type was not handled by this method

Implements iOstream.

Definition at line 44 of file oTstream.cpp.

References token::good().

Here is the call graph for this function:

## write() [2/14]

pFlow::iOstream & write | ( | const char | c | ) |

virtual

Write single character. Whitespace is suppressed.

Implements iOstream.

Definition at line 56 of file oTstream.cpp.

## write() [3/14]

pFlow::iOstream & write | ( | const char * | str | ) |

virtual

Write the word-characters of a character string.

Sends as a single char, or as word.

Implements iOstream.

Definition at line 68 of file oTstream.cpp.

## write() [4/14]

pFlow::iOstream & write | ( | const word & | str | ) |

virtual

Write word.

Implements iOstream.

Definition at line 77 of file oTstream.cpp.

## writeQuoted()

pFlow::iOstream & writeQuoted | ( | const std::string & | str,
|  | const bool | quoted = `true`
| ) |  |

virtual

Write std::string surrounded by quotes.

Optional write without quotes.

Implements iOstream.

Definition at line 86 of file oTstream.cpp.

## write() [5/14]

pFlow::iOstream & write | ( | const int64 | val | ) |

overridevirtual

Write int64.

Implements iOstream.

Definition at line 97 of file oTstream.cpp.

## write() [6/14]

pFlow::iOstream & write | ( | const int32 | val | ) |

overridevirtual

Write int32.

Implements iOstream.

Definition at line 104 of file oTstream.cpp.

## write() [7/14]

pFlow::iOstream & write | ( | const int8 | val | ) |

overridevirtual

Write int8.

Implements iOstream.

Definition at line 111 of file oTstream.cpp.

## write() [8/14]

pFlow::iOstream & write | ( | const uint64 | val | ) |

overridevirtual

Write uint64.

Implements iOstream.

Definition at line 121 of file oTstream.cpp.

## write() [9/14]

pFlow::iOstream & write | ( | const uint32 | val | ) |

overridevirtual

Write uint32.

Implements iOstream.

Definition at line 128 of file oTstream.cpp.

## write() [10/14]

pFlow::iOstream & write | ( | const uint8 | val | ) |

overridevirtual

Write uint8.

Implements iOstream.

Definition at line 135 of file oTstream.cpp.

## write() [11/14]

pFlow::iOstream & write | ( | const float | val | ) |

overridevirtual

Write float.

Implements iOstream.

Definition at line 143 of file oTstream.cpp.

## write() [12/14]

pFlow::iOstream & write | ( | const double | val | ) |

overridevirtual

Write double.

Implements iOstream.

Definition at line 151 of file oTstream.cpp.

## write() [13/14]

pFlow::iOstream & write | ( | const size_t | val | ) |

overridevirtual

Write double.

Implements iOstream.

Definition at line 158 of file oTstream.cpp.

## seek()

void seek | ( | size_t | pos | ) |

overridevirtual

Implements iOstream.

Definition at line 176 of file oTstream.cpp.

References notImplementedFunction.

## write() [14/14]

pFlow::iOstream & write | ( | const char * | binaryData,
|  | std::streamsize | count
| ) |  |

overridevirtual

Write a block of binray data.

Implements iOstream.

Definition at line 167 of file oTstream.cpp.

References notImplementedFunction.

## append() [1/2]

void append | ( | const token & | tok | ) |

virtual

append token to the stream

Definition at line 181 of file oTstream.cpp.

References pFlow::validTokenForStream().

Here is the call graph for this function:

## append() [2/2]

void append | ( | const tokenList & | tLisk | ) |

virtual

append a list of tokens to the stream

Definition at line 188 of file oTstream.cpp.

## reset()

void reset | ( |  | ) |

Reset the output buffer and rewind the stream.

Definition at line 196 of file oTstream.cpp.

## rewind()

void rewind | ( |  | ) |

virtual

Rewind the output stream.

Definition at line 202 of file oTstream.cpp.

## indent()

virtual void indent | ( |  | ) |

inlinevirtual

Add indentation characters.

Implements iOstream.

Definition at line 159 of file oTstream.hpp.

## startOfBinaryStreaming()

virtual void startOfBinaryStreaming | ( |  | ) |

inlinevirtual

Add a new line and flush stream.

Implements iOstream.

Definition at line 163 of file oTstream.hpp.

## endOfBinaryStreaming()

virtual void endOfBinaryStreaming | ( |  | ) |

inlinevirtual

Reach end of file add a new line and flush stream.

Implements iOstream.

Definition at line 167 of file oTstream.hpp.

## flush()

virtual void flush | ( |  | ) |

inlinevirtual

Flush stream.

Implements iOstream.

Definition at line 171 of file oTstream.hpp.

## endl()

virtual void endl | ( |  | ) |

inlinevirtual

Add newline and flush stream.

Implements iOstream.

Definition at line 175 of file oTstream.hpp.

## fill() [1/2]

virtual char fill | ( |  | ) | const

inlinevirtual

Get the current padding character.

Returns
  previous padding character

Implements iOstream.

Definition at line 180 of file oTstream.hpp.

## fill() [2/2]

virtual char fill | ( | const char |  | ) |

inlinevirtual

Set padding character for formatted field up to field width.

Implements iOstream.

Definition at line 186 of file oTstream.hpp.

## width() [1/2]

virtual int width | ( |  | ) | const

inlinevirtual

Get width of output field.

Implements iOstream.

Definition at line 192 of file oTstream.hpp.

## width() [2/2]

virtual int width | ( | const int |  | ) |

inlinevirtual

Set width of output field.

Returns
  previous width

Implements iOstream.

Definition at line 199 of file oTstream.hpp.

## precision() [1/2]

virtual int precision | ( |  | ) | const

inlinevirtual

Get precision of output field.

Implements iOstream.

Definition at line 205 of file oTstream.hpp.

## precision() [2/2]

virtual int precision | ( | const int |  | ) |

inlinevirtual

Set precision of output field.

Returns
  old precision

Implements iOstream.

Definition at line 212 of file oTstream.hpp.

## flags() [1/2]

virtual ios_base::fmtflags flags | ( |  | ) | const

inlinevirtual

Return flags of output stream.

Implements IOstream.

Definition at line 218 of file oTstream.hpp.

## flags() [2/2]

ios_base::fmtflags flags | ( | const ios_base::fmtflags |  | ) |

inlinevirtual

Set flags of stream.

Implements IOstream.

Definition at line 224 of file oTstream.hpp.

## Member Data Documentation

## name_

word name_

protected

name of stream

Definition at line 56 of file oTstream.hpp.

## tokenList_

tokenList tokenList_

protected

tokenList

Definition at line 59 of file oTstream.hpp.

Referenced by oTstream::tokens().

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

- src/phasicFlow/streams/TStream/oTstream.hpp
- src/phasicFlow/streams/TStream/oTstream.cpp