Ostream Class Referenceabstract

An Ostream is an abstract base class for all output systems (streams, files, token lists, etc). More...

Inheritance diagram for Ostream:
Collaboration diagram for Ostream:

Public Member Functions

 Ostream (streamFormat format=ASCII, versionNumber version=currentVersion, compressionType compression=UNCOMPRESSED)
 Set stream status. More...
 
virtual ~Ostream ()
 Destructor. More...
 
virtual Ostreamwrite (const char)=0
 Write character. More...
 
virtual Ostreamwrite (const char *)=0
 Write character string. More...
 
virtual Ostreamwrite (const word &)=0
 Write word. More...
 
virtual Ostreamwrite (const string &)=0
 Write string. More...
 
virtual Ostreamwrite (const verbatimString &)=0
 Write verbatimString. More...
 
virtual OstreamwriteQuoted (const std::string &, const bool quoted=true)=0
 Write std::string surrounded by quotes. More...
 
virtual Ostreamwrite (const int32_t)=0
 Write int32_t. More...
 
virtual Ostreamwrite (const int64_t)=0
 Write int64_t. More...
 
virtual Ostreamwrite (const floatScalar)=0
 Write floatScalar. More...
 
virtual Ostreamwrite (const doubleScalar)=0
 Write doubleScalar. More...
 
virtual Ostreamwrite (const longDoubleScalar)=0
 Write longDoubleScalar. More...
 
virtual Ostreamwrite (const char *, std::streamsize)=0
 Write binary block. More...
 
virtual void indent ()=0
 Add indentation characters. More...
 
unsigned short indentLevel () const
 Return indent level. More...
 
unsigned short & indentLevel ()
 Access to indent level. More...
 
void incrIndent ()
 Incrememt the indent level. More...
 
void decrIndent ()
 Decrememt the indent level. More...
 
OstreamwriteKeyword (const keyType &)
 Write the keyword followed by an appropriate indentation. More...
 
virtual void flush ()=0
 Flush stream. More...
 
virtual void endl ()=0
 Add newline and flush stream. More...
 
virtual int width () const =0
 Get width of output field. More...
 
virtual int width (const int w)=0
 Set width of output field (and return old width) More...
 
virtual int precision () const =0
 Get precision of output field. More...
 
virtual int precision (const int p)=0
 Set precision of output field (and return old precision) More...
 
Ostreamoperator() () const
 Return a non-const reference to const Ostream. More...
 
- Public Member Functions inherited from IOstream
 IOstream (streamFormat format, versionNumber version, compressionType compression=UNCOMPRESSED)
 Construct setting format and version. More...
 
virtual ~IOstream ()
 Destructor. More...
 
virtual const fileNamename () const
 Return the name of the stream. More...
 
virtual fileNamename ()
 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...
 
labellineNumber ()
 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< IOstreaminfo () const
 Return info proxy. More...
 

Protected Attributes

unsigned short indentLevel_
 Current indent level. More...
 
- Protected Attributes inherited from IOstream
label lineNumber_
 

Static Protected Attributes

static const unsigned short indentSize_ = 4
 Number of spaces per indent level. More...
 

Additional Inherited Members

- Public Types inherited from IOstream
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 Public Member Functions inherited from IOstream
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 Public Attributes inherited from IOstream
static const versionNumber currentVersion
 Current version number. More...
 
static unsigned int precision_
 Default precision. 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 setGood ()
 Set stream to be good. More...
 

Detailed Description

An Ostream is an abstract base class for all output systems (streams, files, token lists, etc).

Source files

Definition at line 54 of file Ostream.H.

Constructor & Destructor Documentation

◆ Ostream()

Ostream ( streamFormat  format = ASCII,
versionNumber  version = currentVersion,
compressionType  compression = UNCOMPRESSED 
)
inline

Set stream status.

Definition at line 76 of file Ostream.H.

◆ ~Ostream()

virtual ~Ostream ( )
inlinevirtual

Destructor.

Definition at line 88 of file Ostream.H.

References Ostream::indent(), Ostream::write(), and Ostream::writeQuoted().

Here is the call graph for this function:

Member Function Documentation

◆ write() [1/11]

virtual Ostream& write ( const char  )
pure virtual

Write character.

Implemented in UOPstream, OBJstream, OSstream, and prefixOSstream.

Referenced by snappyLayerDriver::addLayers(), hexRef8::consistentSlowRefinement2(), constAnIsoSolidTransport< Thermo >::constAnIsoSolidTransport(), constIsoSolidTransport< Thermo >::constIsoSolidTransport(), constTransport< Thermo >::constTransport(), snappySnapDriver::doSnap(), ePowerThermo< EquationOfState >::ePowerThermo(), exponentialSolidTransport< Thermo >::exponentialSolidTransport(), hPowerThermo< EquationOfState >::hPowerThermo(), meshToMesh::mapAndOpTgtToSrc(), meshRefinement::mergeBaffles(), meshRefinement::mergeEdgesUndo(), meshRefinement::mergePatchFacesUndo(), OBJstream::nVertices(), ListPlusEqOp< T, Size >::operator()(), Foam::operator<<(), pointFieldReconstructor::reconstructFields(), fvFieldReconstructor::reconstructFvSurfaceFields(), fvFieldReconstructor::reconstructFvVolumeFields(), fvFieldReconstructor::reconstructFvVolumeInternalFields(), Foam::reconstructLagrangianFieldFields(), Foam::reconstructLagrangianFields(), refinementIterator::setRefinement(), hexRef8::setRefinement(), snappySnapDriver::smoothDisplacement(), snappyRefineDriver::snappyRefineDriver(), Reaction< ReactionThermo >::Thigh(), dsmcFields::write(), SHA1Digest::write(), XiReactionRate::write(), writeCellCentres::write(), FallOffReactionRate< ReactionRate, FallOffFunction >::write(), sutherlandTransport< Thermo >::write(), ChemicallyActivatedReactionRate< ReactionRate, ChemicallyActivationFunction >::write(), perfectGas< Specie >::write(), icoTabulatedTransport< Thermo >::write(), rhoConst< Specie >::write(), WLFTransport< Thermo >::write(), polynomialTransport< Thermo, PolySize >::write(), incompressiblePerfectGas< Specie >::write(), eConstThermo< EquationOfState >::write(), hConstThermo< EquationOfState >::write(), polynomialSolidTransport< Thermo, PolySize >::write(), hIcoTabulatedThermo< EquationOfState >::write(), eIcoTabulatedThermo< EquationOfState >::write(), linear< Type >::write(), icoTabulated< Specie >::write(), perfectFluid< Specie >::write(), tabulatedTransport< Thermo >::write(), logPolynomialTransport< Thermo, PolySize >::write(), PengRobinsonGas< Specie >::write(), adiabaticPerfectFluid< Specie >::write(), icoPolynomial< Specie, PolySize >::write(), janafThermo< EquationOfState >::write(), rPolynomial< Specie >::write(), ePolynomialThermo< EquationOfState, PolySize >::write(), hPolynomialThermo< EquationOfState, PolySize >::write(), hTabulatedThermo< EquationOfState >::write(), eTabulatedThermo< EquationOfState >::write(), rhoTabulated< Specie >::write(), NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::write(), thermo< Thermo, Type >::write(), streamlines::write(), PackedList< 2 >::write(), codedBase::writeCode(), fixedCoeff::writeData(), powerLaw::writeData(), DarcyForchheimer::writeData(), powerLawLopesdaCosta::writeData(), solidification::writeData(), MRFZone::writeData(), Foam::writeKeyword(), particle< Type >::writePosition(), and Ostream::~Ostream().

◆ write() [2/11]

virtual Ostream& write ( const char *  )
pure virtual

Write character string.

Implemented in UOPstream, ensightFile, OBJstream, OSstream, and prefixOSstream.

◆ write() [3/11]

virtual Ostream& write ( const word )
pure virtual

Write word.

Implemented in UOPstream, OBJstream, OSstream, and prefixOSstream.

◆ write() [4/11]

virtual Ostream& write ( const string )
pure virtual

Write string.

Implemented in UOPstream, ensightFile, OBJstream, OSstream, and prefixOSstream.

◆ write() [5/11]

virtual Ostream& write ( const verbatimString )
pure virtual

Write verbatimString.

Implemented in UOPstream, OSstream, and prefixOSstream.

◆ writeQuoted()

virtual Ostream& writeQuoted ( const std::string &  ,
const bool  quoted = true 
)
pure virtual

Write std::string surrounded by quotes.

Optional write without quotes.

Implemented in UOPstream, OBJstream, prefixOSstream, and OSstream.

Referenced by Foam::operator<<(), dynamicCode::writeCommentSHA1(), decomposedBlockData::writeData(), and Ostream::~Ostream().

Here is the caller graph for this function:

◆ write() [6/11]

virtual Ostream& write ( const int32_t  )
pure virtual

Write int32_t.

Implemented in UOPstream, prefixOSstream, and OSstream.

◆ write() [7/11]

virtual Ostream& write ( const int64_t  )
pure virtual

Write int64_t.

Implemented in UOPstream, prefixOSstream, and OSstream.

◆ write() [8/11]

virtual Ostream& write ( const floatScalar  )
pure virtual

Write floatScalar.

Implemented in UOPstream, prefixOSstream, and OSstream.

◆ write() [9/11]

virtual Ostream& write ( const doubleScalar  )
pure virtual

Write doubleScalar.

Implemented in UOPstream, prefixOSstream, and OSstream.

◆ write() [10/11]

virtual Ostream& write ( const longDoubleScalar  )
pure virtual

Write longDoubleScalar.

Implemented in UOPstream, prefixOSstream, and OSstream.

◆ write() [11/11]

virtual Ostream& write ( const char *  ,
std::streamsize   
)
pure virtual

Write binary block.

Implemented in UOPstream, prefixOSstream, OSstream, and ensightFile.

◆ indent()

virtual void indent ( )
pure virtual

Add indentation characters.

Implemented in UOPstream, prefixOSstream, and OSstream.

Referenced by Foam::indent(), dictionaryEntry::write(), Foam::writeKeyword(), and Ostream::~Ostream().

Here is the caller graph for this function:

◆ indentLevel() [1/2]

unsigned short indentLevel ( ) const
inline

Return indent level.

Definition at line 141 of file Ostream.H.

References Ostream::indentLevel_.

◆ indentLevel() [2/2]

unsigned short& indentLevel ( )
inline

Access to indent level.

Definition at line 147 of file Ostream.H.

References Ostream::indentLevel_.

◆ incrIndent()

void incrIndent ( )
inline

Incrememt the indent level.

Definition at line 153 of file Ostream.H.

References Ostream::decrIndent(), Ostream::endl(), Ostream::flush(), Ostream::operator()(), p, Ostream::precision(), Ostream::width(), and Ostream::writeKeyword().

Referenced by Foam::incrIndent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decrIndent()

void decrIndent ( )

Decrememt the indent level.

Definition at line 30 of file Ostream.C.

References Foam::endl(), and Ostream::indentLevel_.

Referenced by Foam::decrIndent(), and Ostream::incrIndent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ writeKeyword()

Foam::Ostream & writeKeyword ( const keyType kw)

Write the keyword followed by an appropriate indentation.

Here for backward compatibility, replaced by writeKeyword(Foam::Ostream& os, const keyType& kw);

Definition at line 44 of file Ostream.C.

References Foam::writeKeyword().

Referenced by Ostream::incrIndent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ flush()

virtual void flush ( )
pure virtual

Flush stream.

Implemented in UOPstream, and OSstream.

Referenced by Foam::flush(), Ostream::incrIndent(), wordRe::info(), STARCDsurfaceFormatCore::writeCase(), STARCDedgeFormat::writeCase(), and STARCDCore::writePoints().

Here is the caller graph for this function:

◆ endl()

virtual void endl ( )
pure virtual

Add newline and flush stream.

Implemented in UOPstream, and OSstream.

Referenced by Foam::endl(), and Ostream::incrIndent().

Here is the caller graph for this function:

◆ width() [1/2]

virtual int width ( ) const
pure virtual

Get width of output field.

Implemented in UOPstream, and OSstream.

Referenced by Ostream::incrIndent(), writeFile::initStream(), and Foam::setw().

Here is the caller graph for this function:

◆ width() [2/2]

virtual int width ( const int  w)
pure virtual

Set width of output field (and return old width)

Implemented in UOPstream, and OSstream.

◆ precision() [1/2]

virtual int precision ( ) const
pure virtual

Get precision of output field.

Implemented in UOPstream, and OSstream.

Referenced by Ostream::incrIndent(), Foam::setprecision(), cyclicTransform::write(), dimensionSet::write(), and STARCDCore::writePoints().

Here is the caller graph for this function:

◆ precision() [2/2]

virtual int precision ( const int  p)
pure virtual

Set precision of output field (and return old precision)

Implemented in UOPstream, and OSstream.

◆ operator()()

Ostream& operator() ( ) const
inline

Return a non-const reference to const Ostream.

Needed for write functions where the stream argument is temporary: e.g. thing thisThing(OFstream("thingFileName")());

Definition at line 193 of file Ostream.H.

Referenced by Ostream::incrIndent().

Here is the caller graph for this function:

Member Data Documentation

◆ indentSize_

const unsigned short indentSize_ = 4
staticprotected

Number of spaces per indent level.

Definition at line 64 of file Ostream.H.

Referenced by OSstream::indent().

◆ indentLevel_

unsigned short indentLevel_
protected

Current indent level.

Definition at line 67 of file Ostream.H.

Referenced by Ostream::decrIndent(), OSstream::indent(), and Ostream::indentLevel().


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