IOstreamOption Class Reference

A simple container for options an IOstream can normally have. More...

Inheritance diagram for IOstreamOption:
Collaboration diagram for IOstreamOption:

Classes

class  versionNumber
 Representation of a major/minor version number. More...
 

Public Types

enum  streamFormat : char { ASCII = 0, BINARY }
 Data format (ascii | binary) More...
 
enum  compressionType : char { UNCOMPRESSED = 0, COMPRESSED }
 Compression treatment (UNCOMPRESSED | COMPRESSED) More...
 
enum  appendType : char { NON_APPEND = 0, APPEND }
 File appending (NON_APPEND | APPEND) More...
 
enum  atomicType : char { NON_ATOMIC = 0, ATOMIC }
 Atomic operations (output) More...
 
enum  floatFormat : unsigned { general = unsigned(0), fixed = unsigned(std::ios_base::fixed), scientific = unsigned(std::ios_base::scientific) }
 Float formats (eg, time directory name formats) More...
 

Public Member Functions

constexpr IOstreamOption (streamFormat fmt=streamFormat::ASCII, compressionType comp=compressionType::UNCOMPRESSED) noexcept
 Default construct (ASCII, UNCOMPRESSED, currentVersion) or construct with format, compression. More...
 
constexpr IOstreamOption (streamFormat fmt, compressionType comp, versionNumber ver) noexcept
 Construct from components (format, compression, version) More...
 
constexpr IOstreamOption (streamFormat fmt, versionNumber ver, compressionType comp=compressionType::UNCOMPRESSED) noexcept
 Construct from components (format, version, compression) More...
 
 IOstreamOption (const IOstreamOption &opt, streamFormat fmt) noexcept
 Copy construct with change of format. More...
 
streamFormat format () const noexcept
 Get the current stream format. More...
 
streamFormat format (const streamFormat fmt) noexcept
 Set the stream format. More...
 
streamFormat format (const word &formatName)
 Set the stream format from string value. More...
 
compressionType compression () const noexcept
 Get the stream compression. More...
 
compressionType compression (const compressionType comp) noexcept
 Set the stream compression. More...
 
compressionType compression (const word &compName)
 Set the stream compression from string value. More...
 
versionNumber version () const noexcept
 Get the stream version. More...
 
versionNumber version (const versionNumber ver) noexcept
 Set the stream version. More...
 
versionNumber version (const token &tok)
 Set the stream version from token. More...
 

Static Public Member Functions

static floatFormat floatFormatEnum (const word &fmtName, const floatFormat deflt=floatFormat::general)
 Lookup floatFormat enum corresponding to the string (general | fixed | scientific). More...
 
static floatFormat floatFormatEnum (const word &key, const dictionary &dict, const floatFormat deflt=floatFormat::general)
 getOrDefault floatFormat from dictionary, warn only on bad enumeration. More...
 
static streamFormat formatEnum (const word &fmtName, const streamFormat deflt=streamFormat::ASCII)
 Lookup streamFormat enum corresponding to the string (ascii | binary). More...
 
static streamFormat formatEnum (const word &key, const dictionary &dict, const streamFormat deflt=streamFormat::ASCII)
 getOrDefault streamFormat from dictionary, warn only on bad enumeration. More...
 
static compressionType compressionEnum (const word &compName, const compressionType deflt=compressionType::UNCOMPRESSED)
 The compression enum corresponding to the string. More...
 
static compressionType compressionEnum (const word &key, const dictionary &dict, const compressionType deflt=compressionType::UNCOMPRESSED)
 getOrDefault compressionType from dictionary, warn only on bad enumeration. More...
 

Static Public Attributes

static const Enum< floatFormatfloatFormatNames
 Names for float formats (general, fixed, scientific) More...
 
static const Enum< streamFormatformatNames
 Stream format names (ascii, binary) More...
 
static const versionNumber currentVersion
 The current version number (2.0) More...
 

Detailed Description

A simple container for options an IOstream can normally have.

The format (ASCII | BINARY) is typically controlled by enumerated names (ascii, binary).

The compression (UNCOMPRESSED | COMPRESSED) is typically controlled by switch values (true/false, on/off, ...).

Additionally, some enumerations are defined (APPEND, NON_APPEND, ...) that are useful, verbose alternatives to bool values.

Source files

Definition at line 62 of file IOstreamOption.H.

Member Enumeration Documentation

◆ streamFormat

enum streamFormat : char

Data format (ascii | binary)

Enumerator
ASCII 

"ascii" (normal default)

BINARY 

"binary"

Definition at line 71 of file IOstreamOption.H.

◆ compressionType

enum compressionType : char

Compression treatment (UNCOMPRESSED | COMPRESSED)

Enumerator
UNCOMPRESSED 

compression = false

COMPRESSED 

compression = true

Definition at line 80 of file IOstreamOption.H.

◆ appendType

enum appendType : char

File appending (NON_APPEND | APPEND)

Enumerator
NON_APPEND 

append = false

APPEND 

append = true

Definition at line 89 of file IOstreamOption.H.

◆ atomicType

enum atomicType : char

Atomic operations (output)

Enumerator
NON_ATOMIC 

atomic = false

ATOMIC 

atomic = true

Definition at line 98 of file IOstreamOption.H.

◆ floatFormat

enum floatFormat : unsigned
strong

Float formats (eg, time directory name formats)

Enumerator
general 

default float notation

fixed 

fixed-point notation

scientific 

scientific notation

Definition at line 107 of file IOstreamOption.H.

Constructor & Destructor Documentation

◆ IOstreamOption() [1/4]

constexpr IOstreamOption ( streamFormat  fmt = streamFormat::ASCII,
compressionType  comp = compressionType::UNCOMPRESSED 
)
inlinenoexcept

Default construct (ASCII, UNCOMPRESSED, currentVersion) or construct with format, compression.

Note
non-explicit for convenient construction

Definition at line 354 of file IOstreamOption.H.

Referenced by threadedCollatedOFstream::~threadedCollatedOFstream().

Here is the caller graph for this function:

◆ IOstreamOption() [2/4]

constexpr IOstreamOption ( streamFormat  fmt,
compressionType  comp,
versionNumber  ver 
)
inlinenoexcept

Construct from components (format, compression, version)

Definition at line 368 of file IOstreamOption.H.

◆ IOstreamOption() [3/4]

constexpr IOstreamOption ( streamFormat  fmt,
versionNumber  ver,
compressionType  comp = compressionType::UNCOMPRESSED 
)
inlinenoexcept

Construct from components (format, version, compression)

Definition at line 383 of file IOstreamOption.H.

◆ IOstreamOption() [4/4]

IOstreamOption ( const IOstreamOption opt,
streamFormat  fmt 
)
inlinenoexcept

Copy construct with change of format.

Definition at line 397 of file IOstreamOption.H.

Member Function Documentation

◆ floatFormatEnum() [1/2]

Foam::IOstreamOption::floatFormat floatFormatEnum ( const word fmtName,
const floatFormat  deflt = floatFormat::general 
)
static

Lookup floatFormat enum corresponding to the string (general | fixed | scientific).

If the string is not recognized, emit warning and return default. Silent if the string itself is empty.

Note
Can be used as constructor substitute for the enumeration

Definition at line 57 of file IOstreamOption.C.

References Foam::nl, and WarningInFunction.

Referenced by Time::readDict(), and ensightCase::options::timeFormat().

Here is the caller graph for this function:

◆ floatFormatEnum() [2/2]

Foam::IOstreamOption::floatFormat floatFormatEnum ( const word key,
const dictionary dict,
const floatFormat  deflt = floatFormat::general 
)
static

getOrDefault floatFormat from dictionary, warn only on bad enumeration.

Parameters
keyLookup key. Uses LITERAL (not REGEX)
dictdictionary

Definition at line 87 of file IOstreamOption.C.

References dict, and Foam::glTF::key().

Here is the call graph for this function:

◆ formatEnum() [1/2]

Foam::IOstreamOption::streamFormat formatEnum ( const word fmtName,
const streamFormat  deflt = streamFormat::ASCII 
)
static

Lookup streamFormat enum corresponding to the string (ascii | binary).

If the string is not recognized, emit warning and return default. Silent if the string itself is empty.

Note
Can be used as constructor substitute for the enumeration

Definition at line 99 of file IOstreamOption.C.

References Foam::nl, and WarningInFunction.

Referenced by IOstreamOption::format(), vtkCloud::read(), vtkWrite::read(), and vtkWriter::vtkWriter().

Here is the caller graph for this function:

◆ formatEnum() [2/2]

Foam::IOstreamOption::streamFormat formatEnum ( const word key,
const dictionary dict,
const streamFormat  deflt = streamFormat::ASCII 
)
static

getOrDefault streamFormat from dictionary, warn only on bad enumeration.

Parameters
keyLookup key. Uses LITERAL (not REGEX)
dictdictionary

Definition at line 129 of file IOstreamOption.C.

References dict, and Foam::glTF::key().

Here is the call graph for this function:

◆ compressionEnum() [1/2]

Foam::IOstreamOption::compressionType compressionEnum ( const word compName,
const compressionType  deflt = compressionType::UNCOMPRESSED 
)
static

The compression enum corresponding to the string.

Expects switch values (true/false, on/off, ...)

If the string is not recognized, emit warning and return default. Silent if the string itself is empty.

Note
Can be used as constructor substitute for the enumeration

Definition at line 141 of file IOstreamOption.C.

References Foam::ListOps::find(), Switch::good(), Foam::nl, and WarningInFunction.

Referenced by IOstreamOption::compression().

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

◆ compressionEnum() [2/2]

Foam::IOstreamOption::compressionType compressionEnum ( const word key,
const dictionary dict,
const compressionType  deflt = compressionType::UNCOMPRESSED 
)
static

getOrDefault compressionType from dictionary, warn only on bad enumeration.

Parameters
keyLookup key. Uses LITERAL (not REGEX)
dictdictionary

Definition at line 175 of file IOstreamOption.C.

References dict, and Foam::glTF::key().

Here is the call graph for this function:

◆ format() [1/3]

streamFormat format ( ) const
inlinenoexcept

Get the current stream format.

Definition at line 410 of file IOstreamOption.H.

Referenced by CollidingParcel< ParcelType >::CollidingParcel(), DSMCParcel< ParcelType >::DSMCParcel(), codeStream::evaluate(), findCellParticle::findCellParticle(), FIRECore::getFireLabel(), FIRECore::getFirePoint(), FIRECore::getFireString(), decomposedBlockData::getNumBlocks(), injectedParticle::injectedParticle(), KinematicParcel< ParcelType >::KinematicParcel(), molecule::molecule(), MPPICParcel< ParcelType >::MPPICParcel(), Foam::operator<<(), Foam::operator>>(), IOobject::parseHeader(), Foam::printMaps(), Foam::processFlags(), ReactingParcel< ParcelType >::ReactingParcel(), decomposedBlockData::readBlock(), exprResultGlobals::readData(), particle< Type >::readData(), Time::readDict(), ensightSurfaceReader::readGeometry(), IOobject::readHeader(), List< Field< scalar > >::readList(), DynamicList< Foam::vector >::readList(), PackedList< 2 >::readList(), FixedList< point, 2 >::readList(), UList< Foam::vector >::readList(), Matrix< RectangularMatrix< Type >, Type >::readMatrix(), Foam::setformat(), decomposedBlockData::skipBlockEntry(), solidParticle::solidParticle(), SprayParcel< ParcelType >::SprayParcel(), ThermoParcel< ParcelType >::ThermoParcel(), trackedParticle::trackedParticle(), wallBoundedParticle::wallBoundedParticle(), OBJsurfaceFormat< Face >::write(), X3DsurfaceFormat< Face >::write(), SMESHsurfaceFormat< Face >::write(), AC3DsurfaceFormat< Face >::write(), OFFsurfaceFormat< Face >::write(), GTSsurfaceFormat< Face >::write(), TRIsurfaceFormat< Face >::write(), OBJedgeFormat::write(), STARCDsurfaceFormat< Face >::write(), ABAQUSsurfaceFormat< Face >::write(), NASsurfaceFormat< Face >::write(), STARCDedgeFormat::write(), FIREMeshWriter::write(), csvTableReader< Type >::write(), STLsurfaceFormat< Face >::write(), dimensionSet::write(), decomposedBlockData::writeData(), decomposedBlockData::writeExtraHeaderContent(), decomposedBlockData::writeHeader(), IOobject::writeHeaderContent(), Foam::writeMaps(), CompactListList< T >::writeMatrix(), CompactIOField< T, BaseType >::writeObject(), CompactIOList< face, label >::writeObject(), rigidBodyMeshMotionSolver::writeObject(), rigidBodyMeshMotion::writeObject(), distributedTriSurfaceMesh::writeObject(), injectedParticle::writePosition(), and particle< Type >::writePosition().

◆ format() [2/3]

streamFormat format ( const streamFormat  fmt)
inlinenoexcept

Set the stream format.

Returns
the previous value

Definition at line 417 of file IOstreamOption.H.

◆ format() [3/3]

streamFormat format ( const word formatName)
inline

Set the stream format from string value.

If the string is not recognized, emit warning and leave unchanged. Silent if the string itself is empty.

Returns
the previous value

Definition at line 431 of file IOstreamOption.H.

References IOstreamOption::formatEnum().

Here is the call graph for this function:

◆ compression() [1/3]

◆ compression() [2/3]

compressionType compression ( const compressionType  comp)
inlinenoexcept

Set the stream compression.

Returns
the previous value

Definition at line 448 of file IOstreamOption.H.

◆ compression() [3/3]

compressionType compression ( const word compName)
inline

Set the stream compression from string value.

If the string is not recognized, emit warning and leave unchanged. Silent if the string itself is empty.

Returns
the previous value

Definition at line 462 of file IOstreamOption.H.

References IOstreamOption::compressionEnum().

Here is the call graph for this function:

◆ version() [1/3]

◆ version() [2/3]

versionNumber version ( const versionNumber  ver)
inlinenoexcept

Set the stream version.

Returns
the previous value

Definition at line 479 of file IOstreamOption.H.

◆ version() [3/3]

versionNumber version ( const token tok)
inline

Set the stream version from token.

Returns
the previous value

Definition at line 491 of file IOstreamOption.H.

Member Data Documentation

◆ floatFormatNames

const Foam::Enum< Foam::IOstreamOption::floatFormat > floatFormatNames
static

Names for float formats (general, fixed, scientific)

Definition at line 223 of file IOstreamOption.H.

◆ formatNames

◆ currentVersion

const Foam::IOstreamOption::versionNumber currentVersion
static

The current version number (2.0)

Definition at line 233 of file IOstreamOption.H.


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