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

masterOstream Class Reference

Output stream for MPI parallel run, when we need to know which the processor number in the output line. More...

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

## Public Member Functions

| masterOstream (std::ostream &os, const word &streamName)
| From components. More...
| masterOstream (const masterOstream &)=delete
| No copy construct. More...
void | operator= (const masterOstream &)=delete
| No copy assignment. More...
void | setMasterSlave (bool master)
| Set if this processor is slave or master. More...
bool | write (const token &tok)
| Write token to stream or otherwise handle it. More...
iOstream & | write (const char c) override
| Write character. More...
iOstream & | write (const char *str) override
| Write character string. More...
iOstream & | write (const word &str) override
| Write word. More...
iOstream & | writeQuoted (const word &str, const bool quoted=true) override
| Write std::string surrounded by quotes. More...
iOstream & | write (const int64 val) override
| Write int64. More...
iOstream & | write (const int32 val) override
| Write int32. More...
iOstream & | write (const int8 val) override
| Write int32. More...
iOstream & | write (const uint64 val) override
| Write uint64. More...
iOstream & | write (const uint32 val) override
| Write uint32. More...
iOstream & | write (const uint8 val) override
| Write uint8. More...
iOstream & | write (const float val) override
| Write float. More...
iOstream & | write (const double val) override
| Write double. More...
iOstream & | write (const size_t val) override
| Write double. More...
iOstream & | write (const char *binaryData, std::streamsize count) override
| Write a block of binray data. More...
void | indent () override
| Add indentation characters. More...
Public Member Functions inherited from Ostream
| Ostream (std::ostream &os, const word &streamName, writeFormat wf=ASCII)
| Construct from components. More...
| Ostream (const Ostream &)=delete
| No copy construct. More...
void | operator= (const Ostream &)=delete
| No copy assignment. 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...
bool | write (const token &tok) override
| Write token to stream or otherwise handle it. More...
iOstream & | write (const char c) override
| Write character. More...
iOstream & | write (const char *str) override
| Write character string. More...
iOstream & | write (const word &str) override
| Write word. More...
iOstream & | writeQuoted (const word &str, const bool quoted=true) override
| Write std::string surrounded by quotes. More...
iOstream & | write (const int64 val) override
| Write int64. More...
iOstream & | write (const int32 val) override
| Write int32. More...
iOstream & | write (const int8 val) override
| Write int32. More...
iOstream & | write (const uint64 val) override
| Write uint64. More...
iOstream & | write (const uint32 val) override
| Write uint32. More...
iOstream & | write (const uint8 val) override
| Write uint8. More...
iOstream & | write (const float val) override
| Write float. More...
iOstream & | write (const double val) override
| Write double. More...
iOstream & | write (const size_t val) override
| Write size_t. More...
iOstream & | write (const char *binaryData, std::streamsize count) override
| Write a block of binray data. More...
iOstream & | writeBinaryBlockFlag () override
| Write the flag to indicate the start of a binary block. More...
void | seek (size_t pos) override
void | indent () override
| Add indentation characters. More...
ios_base::fmtflags | flags (const ios_base::fmtflags f) override
| Set stream flags. More...
void | startOfBinaryStreaming () override
| Add a new line and flush stream. More...
void | endOfBinaryStreaming () override
| Reach end of file add a new line and flush stream. More...
void | flush () override
| Flush stream. More...
void | endl () override
| Add newline and flush stream. More...
char | fill () const override
| Get the current padding character. More...
char | fill (const char fillch) override
| Set padding character for formatted field up to field width. More...
int | width () const override
| Get width of output field. More...
int | width (const int w) override
| Set width of output field. More...
int | precision () const override
| Get precision of output field. More...
int | precision (const int p) override
| Set precision of output field return old precision. More...
virtual std::ostream & | stdStream ()
| Access to underlying std::ostream. More...
virtual const std::ostream & | stdStream () const
| Const access to underlying std::ostream. 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...
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 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 Member Functions

bool | showOutput () const
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

bool | isThisMaster_ = true
| Print prefix? 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...
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 stream for MPI parallel run, when we need to know which the processor number in the output line.

The processor number is shown as a prefix for the output line.

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

Definition at line 36 of file masterOstream.hpp.

## Constructor & Destructor Documentation

## masterOstream() [1/2]

masterOstream | ( | std::ostream & | os,
|  | const word & | streamName
| ) |  |

From components.

Definition at line 27 of file masterOstream.cpp.

## masterOstream() [2/2]

masterOstream | ( | const masterOstream & |  | ) |

delete

No copy construct.

## Member Function Documentation

## showOutput()

bool showOutput | ( |  | ) | const

inlineprotected

Definition at line 46 of file masterOstream.hpp.

References masterOstream::isThisMaster_.

Referenced by masterOstream::write().

Here is the caller graph for this function:

## operator=()

void operator= | ( | const masterOstream & |  | ) |

delete

No copy assignment.

## setMasterSlave()

void setMasterSlave | ( | bool | master | ) |

inline

Set if this processor is slave or master.

- Methods

Definition at line 68 of file masterOstream.hpp.

References masterOstream::isThisMaster_.

Referenced by processors::initProcessors().

Here is the caller graph for this function:

## write() [1/14]

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

inlinevirtual

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 75 of file masterOstream.hpp.

References Ostream::write().

Here is the call graph for this function:

## write() [2/14]

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

overridevirtual

Write character.

Implements iOstream.

Definition at line 36 of file masterOstream.cpp.

References masterOstream::showOutput(), and Ostream::write().

Here is the call graph for this function:

## write() [3/14]

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

overridevirtual

Write character string.

Implements iOstream.

Definition at line 46 of file masterOstream.cpp.

References Ostream::write().

Here is the call graph for this function:

## write() [4/14]

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

overridevirtual

Write word.

Implements iOstream.

Definition at line 56 of file masterOstream.cpp.

References Ostream::write().

Here is the call graph for this function:

## writeQuoted()

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

overridevirtual

Write std::string surrounded by quotes.

Implements iOstream.

Definition at line 67 of file masterOstream.cpp.

References Ostream::writeQuoted().

Here is the call graph for this function:

## write() [5/14]

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

overridevirtual

Write int64.

Implements iOstream.

Definition at line 81 of file masterOstream.cpp.

References Ostream::write().

Here is the call graph for this function:

## write() [6/14]

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

overridevirtual

Write int32.

Implements iOstream.

Definition at line 91 of file masterOstream.cpp.

References Ostream::write().

Here is the call graph for this function:

## write() [7/14]

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

overridevirtual

Write int32.

Implements iOstream.

Definition at line 101 of file masterOstream.cpp.

References Ostream::write().

Here is the call graph for this function:

## write() [8/14]

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

overridevirtual

Write uint64.

Implements iOstream.

Definition at line 110 of file masterOstream.cpp.

References Ostream::write().

Here is the call graph for this function:

## write() [9/14]

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

overridevirtual

Write uint32.

Implements iOstream.

Definition at line 119 of file masterOstream.cpp.

References Ostream::write().

Here is the call graph for this function:

## write() [10/14]

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

overridevirtual

Write uint8.

Implements iOstream.

Definition at line 128 of file masterOstream.cpp.

References Ostream::write().

Here is the call graph for this function:

## write() [11/14]

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

overridevirtual

Write float.

Implements iOstream.

Definition at line 137 of file masterOstream.cpp.

References Ostream::write().

Here is the call graph for this function:

## write() [12/14]

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

overridevirtual

Write double.

Implements iOstream.

Definition at line 147 of file masterOstream.cpp.

References Ostream::write().

Here is the call graph for this function:

## write() [13/14]

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

overridevirtual

Write double.

Implements iOstream.

Definition at line 156 of file masterOstream.cpp.

References Ostream::write().

Here is the call graph for this function:

## 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 masterOstream.cpp.

References pFlow::count(), and Ostream::write().

Here is the call graph for this function:

## indent()

void indent | ( |  | ) |

overridevirtual

Add indentation characters.

Implements iOstream.

Definition at line 180 of file masterOstream.cpp.

References Ostream::indent().

Here is the call graph for this function:

## Member Data Documentation

## isThisMaster_

bool isThisMaster_ = true

protected

Print prefix?

Definition at line 43 of file masterOstream.hpp.

Referenced by masterOstream::setMasterSlave(), and masterOstream::showOutput().

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

- src/phasicFlow/streams/masterOstream/masterOstream.hpp
- src/phasicFlow/streams/masterOstream/masterOstream.cpp