From 623c0624fb81dc842e123677b3565d0bb82f7009 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Tue, 27 Sep 2022 13:07:29 +0200 Subject: [PATCH] ENH: simplify stream construction - with IOstreamOption there are no cases where we need to construct top-level streams (eg, IFstream, OFstream) with additional information about the internal IOstream 'version' (eg, version: 2.0). Makes it more convenient to open files with a specified format/compression combination - no clutter of specifying the version --- .../Test-decomposedBlockData.C | 1 - src/OpenFOAM/db/IOstreams/Fstreams/Fstream.H | 4 +- src/OpenFOAM/db/IOstreams/Fstreams/IFstream.H | 9 ++- src/OpenFOAM/db/IOstreams/Fstreams/OFstream.H | 30 +++++++-- .../db/IOstreams/Fstreams/fstreamPointer.H | 4 +- .../db/IOstreams/Fstreams/masterOFstream.H | 26 +------- .../db/IOstreams/IOstreams/IOstreamOption.H | 20 ++---- src/OpenFOAM/db/IOstreams/IOstreams/Istream.H | 5 +- src/OpenFOAM/db/IOstreams/IOstreams/Ostream.H | 5 +- .../db/IOstreams/Pstreams/UIPstreamBase.C | 4 +- .../db/IOstreams/Pstreams/UOPstreamBase.C | 4 +- src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H | 14 +++- src/OpenFOAM/db/IOstreams/Sstreams/OSstream.H | 14 +++- .../db/IOstreams/Sstreams/prefixOSstream.H | 13 ---- .../db/IOstreams/StringStreams/StringStream.H | 44 +++++-------- src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C | 6 +- src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H | 10 ++- src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H | 16 ++--- .../db/IOstreams/hashes/OSHA1stream.H | 10 +-- .../db/IOstreams/memory/IListStream.H | 21 +++--- .../db/IOstreams/memory/OCountStream.H | 16 ++--- .../db/IOstreams/memory/OListStream.H | 26 ++++---- .../db/IOstreams/memory/UIListStream.H | 21 +++--- .../db/IOstreams/memory/UOListStream.H | 31 ++++----- .../threadedCollatedOFstream.H | 30 +-------- src/conversion/fire/FIREMeshWriter.C | 65 +++++++++++-------- src/fileFormats/obj/OBJstream.H | 7 +- .../PatchParticleHistogram.C | 1 - .../PatchPostProcessing/PatchPostProcessing.C | 1 - 29 files changed, 197 insertions(+), 261 deletions(-) diff --git a/applications/test/decomposedBlockData/Test-decomposedBlockData.C b/applications/test/decomposedBlockData/Test-decomposedBlockData.C index 182e9214cc..1aa698ba8e 100644 --- a/applications/test/decomposedBlockData/Test-decomposedBlockData.C +++ b/applications/test/decomposedBlockData/Test-decomposedBlockData.C @@ -79,7 +79,6 @@ int main(int argc, char *argv[]) ( objPath, IOstreamOption::BINARY, - IOstreamOption::currentVersion, runTime.writeCompression() ); if (!os.good()) diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/Fstream.H b/src/OpenFOAM/db/IOstreams/Fstreams/Fstream.H index 94aee79123..e6a8a2b587 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/Fstream.H +++ b/src/OpenFOAM/db/IOstreams/Fstreams/Fstream.H @@ -15,8 +15,8 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef Fstream_H -#define Fstream_H +#ifndef Foam_Fstream_H +#define Foam_Fstream_H #include "fstreamPointer.H" #include "IFstream.H" diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.H b/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.H index 86a4b9432a..989ebaf77e 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.H +++ b/src/OpenFOAM/db/IOstreams/Fstreams/IFstream.H @@ -35,8 +35,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef IFstream_H -#define IFstream_H +#ifndef Foam_IFstream_H +#define Foam_IFstream_H #include "ISstream.H" #include "className.H" @@ -75,11 +75,10 @@ public: IFstream ( const fileName& pathname, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - IFstream(pathname, IOstreamOption(fmt, ver)) + IFstream(pathname, IOstreamOption(fmt)) {} diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.H b/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.H index 9ee99bc9c8..1e358d9578 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.H +++ b/src/OpenFOAM/db/IOstreams/Fstreams/OFstream.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -35,8 +35,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef OFstream_H -#define OFstream_H +#ifndef Foam_OFstream_H +#define Foam_OFstream_H #include "OSstream.H" #include "className.H" @@ -76,17 +76,16 @@ public: const bool append = false ); - //- Construct from pathname, format (version, compression) + //- Construct from pathname, format (uncompressed), optional append OFstream ( const fileName& pathname, IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion, IOstreamOption::compressionType cmp = IOstreamOption::UNCOMPRESSED, const bool append = false ) : - OFstream(pathname, IOstreamOption(fmt, ver, cmp), append) + OFstream(pathname, IOstreamOption(fmt, cmp), append) {} @@ -117,6 +116,25 @@ public: //- Print stream description void print(Ostream& os) const; + + + // Additional constructors and methods + #ifdef Foam_IOstream_extras + + //- Construct from pathname, format (version, compression) + OFstream + ( + const fileName& pathname, + IOstreamOption::streamFormat fmt, + IOstreamOption::versionNumber ver, + IOstreamOption::compressionType cmp = IOstreamOption::UNCOMPRESSED, + const bool append = false + ) + : + OFstream(pathname, IOstreamOption(fmt, ver, cmp), append) + {} + + #endif /* Foam_IOstream_extras */ }; diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointer.H b/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointer.H index ed62c35b12..6fb70c0b0a 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointer.H +++ b/src/OpenFOAM/db/IOstreams/Fstreams/fstreamPointer.H @@ -53,8 +53,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef fstreamPointer_H -#define fstreamPointer_H +#ifndef Foam_fstreamPointer_H +#define Foam_fstreamPointer_H #include "IOstreamOption.H" #include "fileName.H" diff --git a/src/OpenFOAM/db/IOstreams/Fstreams/masterOFstream.H b/src/OpenFOAM/db/IOstreams/Fstreams/masterOFstream.H index 85be1c4715..2c2f9c3667 100644 --- a/src/OpenFOAM/db/IOstreams/Fstreams/masterOFstream.H +++ b/src/OpenFOAM/db/IOstreams/Fstreams/masterOFstream.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation - Copyright (C) 2020-2021 OpenCFD Ltd. + Copyright (C) 2020-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -35,8 +35,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef masterOFstream_H -#define masterOFstream_H +#ifndef Foam_masterOFstream_H +#define Foam_masterOFstream_H #include "StringStream.H" @@ -95,26 +95,6 @@ public: const bool valid = true ); - //- Construct from pathname, version and set stream status - masterOFstream - ( - const fileName& pathname, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion, - IOstreamOption::compressionType cmp = IOstreamOption::UNCOMPRESSED, - const bool append = false, - const bool valid = true - ) - : - masterOFstream - ( - pathname, - IOstreamOption(fmt, ver, cmp), - append, - valid - ) - {} - //- Destructor - commits buffered information to file ~masterOFstream(); diff --git a/src/OpenFOAM/db/IOstreams/IOstreams/IOstreamOption.H b/src/OpenFOAM/db/IOstreams/IOstreams/IOstreamOption.H index e952058dc4..29bfd3c0b0 100644 --- a/src/OpenFOAM/db/IOstreams/IOstreams/IOstreamOption.H +++ b/src/OpenFOAM/db/IOstreams/IOstreams/IOstreamOption.H @@ -28,13 +28,12 @@ Class Foam::IOstreamOption Description - The IOstreamOption is a simple container for options an IOstream - can normally have. + 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 + The compression (UNCOMPRESSED | COMPRESSED) is typically controlled by switch values (true/false, on/off, ...). SourceFiles @@ -284,10 +283,7 @@ public: // Member Functions //- Get the current stream format - streamFormat format() const noexcept - { - return format_; - } + streamFormat format() const noexcept { return format_; } //- Set the stream format // \return the previous value @@ -310,10 +306,7 @@ public: } //- Get the stream compression - compressionType compression() const noexcept - { - return compression_; - } + compressionType compression() const noexcept { return compression_; } //- Set the stream compression // \return the previous value @@ -336,10 +329,7 @@ public: } //- Get the stream version - versionNumber version() const noexcept - { - return version_; - } + versionNumber version() const noexcept { return version_; } //- Set the stream version // \return the previous value diff --git a/src/OpenFOAM/db/IOstreams/IOstreams/Istream.H b/src/OpenFOAM/db/IOstreams/IOstreams/Istream.H index 998fa0e90a..36a9f9a665 100644 --- a/src/OpenFOAM/db/IOstreams/IOstreams/Istream.H +++ b/src/OpenFOAM/db/IOstreams/IOstreams/Istream.H @@ -104,15 +104,14 @@ public: putBackAvail_(false) {} - //- Construct with format, version (compression) + //- Construct with format (uncompressed) explicit Istream ( IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion, IOstreamOption::compressionType cmp = IOstreamOption::UNCOMPRESSED ) : - Istream(IOstreamOption(fmt, ver, cmp)) + Istream(IOstreamOption(fmt, cmp)) {} diff --git a/src/OpenFOAM/db/IOstreams/IOstreams/Ostream.H b/src/OpenFOAM/db/IOstreams/IOstreams/Ostream.H index c89b8b4c8e..d55ec85388 100644 --- a/src/OpenFOAM/db/IOstreams/IOstreams/Ostream.H +++ b/src/OpenFOAM/db/IOstreams/IOstreams/Ostream.H @@ -96,15 +96,14 @@ public: {} - //- Construct with format, version (compression) + //- Construct with format (uncompressed) explicit Ostream ( IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion, IOstreamOption::compressionType cmp = IOstreamOption::UNCOMPRESSED ) : - Ostream(IOstreamOption(fmt, ver, cmp)) + Ostream(IOstreamOption(fmt, cmp)) {} diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstreamBase.C b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstreamBase.C index 0dd6469332..9df7380c52 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UIPstreamBase.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UIPstreamBase.C @@ -157,7 +157,7 @@ Foam::UIPstreamBase::UIPstreamBase ) : UPstream(commsType), - Istream(fmt, IOstreamOption::currentVersion), + Istream(fmt), fromProcNo_(fromProcNo), recvBuf_(receiveBuf), recvBufPos_(receiveBufPosition), @@ -178,7 +178,7 @@ Foam::UIPstreamBase::UIPstreamBase ) : UPstream(buffers.commsType()), - Istream(buffers.format(), IOstreamOption::currentVersion), + Istream(buffers.format()), fromProcNo_(fromProcNo), recvBuf_(buffers.recvBuf_[fromProcNo]), recvBufPos_(buffers.recvBufPos_[fromProcNo]), diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstreamBase.C b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstreamBase.C index 12daa2f140..871bef8a01 100644 --- a/src/OpenFOAM/db/IOstreams/Pstreams/UOPstreamBase.C +++ b/src/OpenFOAM/db/IOstreams/Pstreams/UOPstreamBase.C @@ -143,7 +143,7 @@ Foam::UOPstreamBase::UOPstreamBase ) : UPstream(commsType), - Ostream(fmt, IOstreamOption::currentVersion), + Ostream(fmt), toProcNo_(toProcNo), sendBuf_(sendBuf), tag_(tag), @@ -158,7 +158,7 @@ Foam::UOPstreamBase::UOPstreamBase Foam::UOPstreamBase::UOPstreamBase(const int toProcNo, PstreamBuffers& buffers) : UPstream(buffers.commsType()), - Ostream(buffers.format(), IOstreamOption::currentVersion), + Ostream(buffers.format()), toProcNo_(toProcNo), sendBuf_(buffers.sendBuf_[toProcNo]), tag_(buffers.tag()), diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H index 026b672571..b5de1e6be2 100644 --- a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H +++ b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H @@ -93,7 +93,19 @@ public: std::istream& is, const string& streamName, IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion, + IOstreamOption::compressionType cmp = IOstreamOption::UNCOMPRESSED + ) + : + ISstream(is, streamName, IOstreamOption(fmt, cmp)) + {} + + //- Construct wrapper around std::istream, set stream status + ISstream + ( + std::istream& is, + const string& streamName, + IOstreamOption::streamFormat fmt, + IOstreamOption::versionNumber ver, IOstreamOption::compressionType cmp = IOstreamOption::UNCOMPRESSED ) : diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.H b/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.H index ba9a2d607f..fdf3015071 100644 --- a/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.H +++ b/src/OpenFOAM/db/IOstreams/Sstreams/OSstream.H @@ -91,7 +91,19 @@ public: std::ostream& os, const string& streamName, IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion, + IOstreamOption::compressionType cmp = IOstreamOption::UNCOMPRESSED + ) + : + OSstream(os, streamName, IOstreamOption(fmt, cmp)) + {} + + //- Construct wrapper around std::ostream, set stream status + OSstream + ( + std::ostream& os, + const string& streamName, + IOstreamOption::streamFormat fmt, + IOstreamOption::versionNumber ver, IOstreamOption::compressionType cmp = IOstreamOption::UNCOMPRESSED ) : diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/prefixOSstream.H b/src/OpenFOAM/db/IOstreams/Sstreams/prefixOSstream.H index fa6967c381..089c5c168c 100644 --- a/src/OpenFOAM/db/IOstreams/Sstreams/prefixOSstream.H +++ b/src/OpenFOAM/db/IOstreams/Sstreams/prefixOSstream.H @@ -80,19 +80,6 @@ public: IOstreamOption streamOpt = IOstreamOption() ); - //- Construct and set stream status - prefixOSstream - ( - std::ostream& os, - const string& streamName, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion, - IOstreamOption::compressionType cmp = IOstreamOption::UNCOMPRESSED - ) - : - prefixOSstream(os, streamName, IOstreamOption(fmt, ver, cmp)) - {} - // Member Functions diff --git a/src/OpenFOAM/db/IOstreams/StringStreams/StringStream.H b/src/OpenFOAM/db/IOstreams/StringStreams/StringStream.H index 75eae5c015..77135a1487 100644 --- a/src/OpenFOAM/db/IOstreams/StringStreams/StringStream.H +++ b/src/OpenFOAM/db/IOstreams/StringStreams/StringStream.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,8 +34,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef StringStream_H -#define StringStream_H +#ifndef Foam_StringStream_H +#define Foam_StringStream_H #include "ISstream.H" #include "OSstream.H" @@ -152,7 +152,7 @@ public: IStringStream(const IStringStream& str) : allocator_type(str.str()), - ISstream(stream_, str.name(), str.format(), str.version()) + ISstream(stream_, str.name(), static_cast(str)) {} @@ -183,36 +183,30 @@ public: // Additional constructors and methods (as per v2012 and earlier) #ifdef Foam_IOstream_extras - //- Default construct - explicit IStringStream - ( - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion - ) + //- Construct empty with given format + explicit IStringStream(IOstreamOption::streamFormat fmt) : - IStringStream(IOstreamOption(fmt, ver)) + IStringStream(IOstreamOption(fmt)) {} - //- Construct from std::string + //- Construct from std::string with given format IStringStream ( const std::string& s, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - IStringStream(s, IOstreamOption(fmt, ver)) + IStringStream(s, IOstreamOption(fmt)) {} - //- Construct from char* + //- Construct from char* with given format IStringStream ( const char* s, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - IStringStream(s, IOstreamOption(fmt, ver)) + IStringStream(s, IOstreamOption(fmt)) {} #endif /* Foam_IOstream_extras */ @@ -249,7 +243,7 @@ public: OStringStream(const OStringStream& str) : allocator_type(str.str()), - OSstream(stream_, str.name(), str.format(), str.version()) + OSstream(stream_, str.name(), static_cast(str)) {} @@ -276,14 +270,10 @@ public: // Older style, without stream option (including 2012 release) #ifdef Foam_IOstream_extras - //- Default construct - explicit OStringStream - ( - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion - ) + //- Construct empty with given format + explicit OStringStream(IOstreamOption::streamFormat fmt) : - OStringStream(IOstreamOption(fmt, ver)) + OStringStream(IOstreamOption(fmt)) {} #endif /* Foam_IOstream_extras */ diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C index eb89216025..c0dfc59a19 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C +++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C @@ -187,7 +187,7 @@ Foam::ITstream::ITstream const string& name ) : - Istream(streamOpt.format(), streamOpt.version()), + Istream(IOstreamOption(streamOpt.format(), streamOpt.version())), tokenList(), name_(name), tokenIndex_(0) @@ -215,7 +215,7 @@ Foam::ITstream::ITstream const string& name ) : - Istream(streamOpt.format(), streamOpt.version()), + Istream(IOstreamOption(streamOpt.format(), streamOpt.version())), tokenList(tokens), name_(name), tokenIndex_(0) @@ -232,7 +232,7 @@ Foam::ITstream::ITstream const string& name ) : - Istream(streamOpt.format(), streamOpt.version()), + Istream(IOstreamOption(streamOpt.format(), streamOpt.version())), tokenList(std::move(tokens)), name_(name), tokenIndex_(0) diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H index c23c81bb97..819050f4c1 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H +++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H @@ -392,11 +392,10 @@ public: ( const string& name, const UList& tokens, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - ITstream(name, tokens, IOstreamOption(fmt, ver)) + ITstream(name, tokens, IOstreamOption(fmt)) {} //- Construct from components, transferring the tokens @@ -404,11 +403,10 @@ public: ( const string& name, List&& tokens, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - ITstream(name, std::move(tokens), IOstreamOption(fmt, ver)) + ITstream(name, std::move(tokens), IOstreamOption(fmt)) {} #endif /* Foam_IOstream_extras */ diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H b/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H index 3f7561c5fb..856ba2eab4 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H +++ b/src/OpenFOAM/db/IOstreams/Tstreams/OTstream.H @@ -66,7 +66,7 @@ public: //- Default construct, set stream status explicit OTstream(IOstreamOption streamOpt = IOstreamOption()) : - Ostream(streamOpt.format(), streamOpt.version()), + Ostream(IOstreamOption(streamOpt.format(), streamOpt.version())), DynamicList() { setOpened(); @@ -76,7 +76,7 @@ public: //- Copy construct OTstream(const OTstream& os) : - Ostream(os.format(), os.version()), + Ostream(static_cast(os)), DynamicList(os.tokens()) { setOpened(); @@ -86,7 +86,7 @@ public: //- Move construct OTstream(OTstream&& os) : - Ostream(os.format(), os.version()), + Ostream(static_cast(os)), DynamicList(std::move(os.tokens())) { setOpened(); @@ -259,14 +259,10 @@ public: // Additional constructors and methods (as per v2012 and earlier) #ifdef Foam_IOstream_extras - //- Construct empty with format, version - explicit OTstream - ( - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion - ) + //- Construct empty with format + explicit OTstream(IOstreamOption::streamFormat fmt) : - OTstream(IOstreamOption(fmt, ver)) + OTstream(IOstreamOption(fmt)) {} #endif /* Foam_IOstream_extras */ diff --git a/src/OpenFOAM/db/IOstreams/hashes/OSHA1stream.H b/src/OpenFOAM/db/IOstreams/hashes/OSHA1stream.H index 1268d7a844..5f359d5f37 100644 --- a/src/OpenFOAM/db/IOstreams/hashes/OSHA1stream.H +++ b/src/OpenFOAM/db/IOstreams/hashes/OSHA1stream.H @@ -234,14 +234,10 @@ public: // Additional constructors and methods (as per v2012 and earlier) #ifdef Foam_IOstream_extras - //- Construct empty - explicit OSHA1stream - ( - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion - ) + //- Construct with an empty digest, using given format + explicit OSHA1stream(IOstreamOption::streamFormat fmt) : - OSHA1stream(IOstreamOption(fmt, ver)) + OSHA1stream(IOstreamOption(fmt)) {} #endif /* Foam_IOstream_extras */ diff --git a/src/OpenFOAM/db/IOstreams/memory/IListStream.H b/src/OpenFOAM/db/IOstreams/memory/IListStream.H index ebf2033f2f..cc25c1f665 100644 --- a/src/OpenFOAM/db/IOstreams/memory/IListStream.H +++ b/src/OpenFOAM/db/IOstreams/memory/IListStream.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -38,8 +38,8 @@ See Also \*---------------------------------------------------------------------------*/ -#ifndef IListStream_H -#define IListStream_H +#ifndef Foam_IListStream_H +#define Foam_IListStream_H #include "List.H" #include "UIListStream.H" @@ -217,11 +217,10 @@ public: //- Construct with an empty list explicit IListStream ( - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - IListStream(IOstreamOption(fmt, ver)) + IListStream(IOstreamOption(fmt)) {} @@ -229,11 +228,10 @@ public: IListStream ( ::Foam::List&& buffer, // Fully qualify (issue #1521) - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - IListStream(std::move(buffer), IOstreamOption(fmt, ver)) + IListStream(std::move(buffer), IOstreamOption(fmt)) {} @@ -242,11 +240,10 @@ public: explicit IListStream ( DynamicList&& buffer, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - IListStream(std::move(buffer), IOstreamOption(fmt, ver)) + IListStream(std::move(buffer), IOstreamOption(fmt)) {} #endif /* Foam_IOstream_extras */ diff --git a/src/OpenFOAM/db/IOstreams/memory/OCountStream.H b/src/OpenFOAM/db/IOstreams/memory/OCountStream.H index 971856d92c..697b6eece8 100644 --- a/src/OpenFOAM/db/IOstreams/memory/OCountStream.H +++ b/src/OpenFOAM/db/IOstreams/memory/OCountStream.H @@ -31,8 +31,8 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef OScountStream_H -#define OScountStream_H +#ifndef Foam_OScountStream_H +#define Foam_OScountStream_H #include "OSstream.H" #include @@ -271,7 +271,7 @@ public: OCountStream(const OCountStream& str) : allocator_type(str.size()), - OSstream(stream_, str.name(), str.format(), str.version()) + OSstream(stream_, str.name(), static_cast(str)) {} @@ -291,14 +291,10 @@ public: // Additional constructors and methods (as per v2012 and earlier) #ifdef Foam_IOstream_extras - //- Default construct - explicit OCountStream - ( - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion - ) + //- Construct empty with format + explicit OCountStream(IOstreamOption::streamFormat fmt) : - OCountStream(IOstreamOption(fmt, ver)) + OCountStream(IOstreamOption(fmt)) {} diff --git a/src/OpenFOAM/db/IOstreams/memory/OListStream.H b/src/OpenFOAM/db/IOstreams/memory/OListStream.H index f02b5ef7f1..7e2824738f 100644 --- a/src/OpenFOAM/db/IOstreams/memory/OListStream.H +++ b/src/OpenFOAM/db/IOstreams/memory/OListStream.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2017-2021 OpenCFD Ltd. + Copyright (C) 2017-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -42,8 +42,8 @@ See Also \*---------------------------------------------------------------------------*/ -#ifndef OListStream_H -#define OListStream_H +#ifndef Foam_OListStream_H +#define Foam_OListStream_H #include "DynamicList.H" #include "OSstream.H" @@ -470,33 +470,30 @@ public: //- Default construct (empty output) explicit OListStream ( - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - OListStream(IOstreamOption(fmt, ver)) + OListStream(IOstreamOption(fmt)) {} //- Construct with initial reserved number of bytes explicit OListStream ( size_t nbytes, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - OListStream(nbytes, IOstreamOption(fmt, ver)) + OListStream(nbytes, IOstreamOption(fmt)) {} //- Move construct from an existing List OListStream ( List&& buffer, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - OListStream(std::move(buffer), IOstreamOption(fmt, ver)) + OListStream(std::move(buffer), IOstreamOption(fmt)) {} //- Move construct from an existing DynamicList @@ -504,11 +501,10 @@ public: OListStream ( DynamicList&& buffer, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - OListStream(std::move(buffer), IOstreamOption(fmt, ver)) + OListStream(std::move(buffer), IOstreamOption(fmt)) {} #endif /* Foam_IOstream_extras */ diff --git a/src/OpenFOAM/db/IOstreams/memory/UIListStream.H b/src/OpenFOAM/db/IOstreams/memory/UIListStream.H index d1da07127f..68a4201fa8 100644 --- a/src/OpenFOAM/db/IOstreams/memory/UIListStream.H +++ b/src/OpenFOAM/db/IOstreams/memory/UIListStream.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -61,8 +61,8 @@ See Also \*---------------------------------------------------------------------------*/ -#ifndef UIListStream_H -#define UIListStream_H +#ifndef Foam_UIListStream_H +#define Foam_UIListStream_H #include "UList.H" #include "ISstream.H" @@ -283,11 +283,10 @@ public: ( const char* buffer, size_t nbytes, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - UIListStream(buffer, nbytes, IOstreamOption(fmt, ver)) + UIListStream(buffer, nbytes, IOstreamOption(fmt)) {} //- Construct using data area from a List and number of bytes @@ -295,11 +294,10 @@ public: ( const UList& buffer, size_t nbytes, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - UIListStream(buffer.cdata(), nbytes, IOstreamOption(fmt, ver)) + UIListStream(buffer.cdata(), nbytes, IOstreamOption(fmt)) {} //- Construct using data area from a List and its inherent storage size @@ -307,11 +305,10 @@ public: UIListStream ( const UList& buf, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - UIListStream(buf.cdata(), buf.size(), IOstreamOption(fmt, ver)) + UIListStream(buf.cdata(), buf.size(), IOstreamOption(fmt)) {} #endif /* Foam_IOstream_extras */ diff --git a/src/OpenFOAM/db/IOstreams/memory/UOListStream.H b/src/OpenFOAM/db/IOstreams/memory/UOListStream.H index 3e8c78226a..d970515443 100644 --- a/src/OpenFOAM/db/IOstreams/memory/UOListStream.H +++ b/src/OpenFOAM/db/IOstreams/memory/UOListStream.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -79,8 +79,8 @@ See Also \*---------------------------------------------------------------------------*/ -#ifndef UOListStream_H -#define UOListStream_H +#ifndef Foam_UOListStream_H +#define Foam_UOListStream_H #include "DynamicList.H" #include "FixedList.H" @@ -262,11 +262,10 @@ public: ( char* buffer, size_t nbytes, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - UOListStream(buffer, nbytes, IOstreamOption(fmt, ver)) + UOListStream(buffer, nbytes, IOstreamOption(fmt)) {} //- Construct using data area from a List and number of bytes @@ -274,22 +273,20 @@ public: ( UList& buffer, size_t nbytes, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - UOListStream(buffer.data(), nbytes, IOstreamOption(fmt, ver)) + UOListStream(buffer.data(), nbytes, IOstreamOption(fmt)) {} //- Construct using data area from a List and its inherent storage size UOListStream ( UList& buffer, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - UOListStream(buffer.data(), buffer.size(), IOstreamOption(fmt, ver)) + UOListStream(buffer.data(), buffer.size(), IOstreamOption(fmt)) {} //- Construct using data area from a FixedList @@ -297,11 +294,10 @@ public: UOListStream ( FixedList& buffer, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - UOListStream(buffer.data(), N, IOstreamOption(fmt, ver)) + UOListStream(buffer.data(), N, IOstreamOption(fmt)) {} //- Construct using data area from a DynamicList and its capacity @@ -309,11 +305,10 @@ public: UOListStream ( DynamicList& buf, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion + IOstreamOption::streamFormat fmt ) : - UOListStream(buf.data(), buf.capacity(), IOstreamOption(fmt, ver)) + UOListStream(buf.data(), buf.capacity(), IOstreamOption(fmt)) {} #endif /* Foam_IOstream_extras */ diff --git a/src/OpenFOAM/global/fileOperations/collatedFileOperation/threadedCollatedOFstream.H b/src/OpenFOAM/global/fileOperations/collatedFileOperation/threadedCollatedOFstream.H index 1469ed5c31..df703371a2 100644 --- a/src/OpenFOAM/global/fileOperations/collatedFileOperation/threadedCollatedOFstream.H +++ b/src/OpenFOAM/global/fileOperations/collatedFileOperation/threadedCollatedOFstream.H @@ -35,8 +35,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef threadedCollatedOFstream_H -#define threadedCollatedOFstream_H +#ifndef Foam_threadedCollatedOFstream_H +#define Foam_threadedCollatedOFstream_H #include "dictionary.H" #include "StringStream.H" @@ -94,32 +94,6 @@ public: //- Define the header entries for the data block(s) void setHeaderEntries(const dictionary& dict); - - - // Additional constructors and methods (as per v2012 and earlier) - #ifdef Foam_IOstream_extras - - //- Construct and set stream status - threadedCollatedOFstream - ( - OFstreamCollator& writer, - const fileName& pathname, - IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion, - IOstreamOption::compressionType cmp = IOstreamOption::UNCOMPRESSED, - const bool useThread = true - ) - : - threadedCollatedOFstream - ( - writer, - pathname, - IOstreamOption(fmt, ver, cmp), - useThread - ) - {} - - #endif /* Foam_IOstream_extras */ }; diff --git a/src/conversion/fire/FIREMeshWriter.C b/src/conversion/fire/FIREMeshWriter.C index 9b012312ff..4476e6db6f 100644 --- a/src/conversion/fire/FIREMeshWriter.C +++ b/src/conversion/fire/FIREMeshWriter.C @@ -255,8 +255,15 @@ Foam::fileFormats::FIREMeshWriter::FIREMeshWriter bool Foam::fileFormats::FIREMeshWriter::write(const fileName& meshName) const { - bool useBinary = binary; - bool useCompress = compress; + IOstreamOption streamOpt; + if (binary) + { + streamOpt.format(IOstreamOption::BINARY); + } + if (compress) + { + streamOpt.compression(IOstreamOption::COMPRESSED); + } fileName baseName(meshName); if (baseName.empty()) @@ -281,25 +288,38 @@ bool Foam::fileFormats::FIREMeshWriter::write(const fileName& meshName) const if (FIRECore::file3dExtensions.found(ext)) { FIRECore::fileExt3d fireFileType = FIRECore::file3dExtensions[ext]; + if (fireFileType == FIRECore::fileExt3d::POLY_ASCII) { - useBinary = false; - useCompress = false; + streamOpt = IOstreamOption + ( + IOstreamOption::ASCII, + IOstreamOption::UNCOMPRESSED + ); } else if (fireFileType == FIRECore::fileExt3d::POLY_BINARY) { - useBinary = true; - useCompress = false; + streamOpt = IOstreamOption + ( + IOstreamOption::BINARY, + IOstreamOption::UNCOMPRESSED + ); } else if (fireFileType == FIRECore::fileExt3d::POLY_ASCII_Z) { - useBinary = false; - useCompress = true; + streamOpt = IOstreamOption + ( + IOstreamOption::ASCII, + IOstreamOption::COMPRESSED + ); } else if (fireFileType == FIRECore::fileExt3d::POLY_BINARY_Z) { - useBinary = true; - useCompress = true; + streamOpt = IOstreamOption + ( + IOstreamOption::BINARY, + IOstreamOption::COMPRESSED + ); } } @@ -312,30 +332,19 @@ bool Foam::fileFormats::FIREMeshWriter::write(const fileName& meshName) const const fileName filename = FIRECore::fireFileName ( baseName, - useBinary ? FIRECore::POLY_BINARY : FIRECore::POLY_ASCII - ); - - autoPtr osPtr - ( - new OFstream ( - filename, - ( - useBinary - ? IOstreamOption::BINARY : IOstreamOption::ASCII - ), - IOstreamOption::currentVersion, - ( - useCompress - ? IOstreamOption::COMPRESSED : IOstreamOption::UNCOMPRESSED - ) + streamOpt.format() == IOstreamOption::BINARY + ? FIRECore::POLY_BINARY + : FIRECore::POLY_ASCII ) ); + autoPtr osPtr(new OFstream(filename, streamOpt)); + if (osPtr->good()) { Info<< "Writing output to "; - if (useCompress) + if (streamOpt.compression() == IOstreamOption::COMPRESSED) { // output .fpmaz instead of .fpma Info<< '"' << osPtr().name().c_str() << "z\"" << endl; @@ -350,7 +359,7 @@ bool Foam::fileFormats::FIREMeshWriter::write(const fileName& meshName) const osPtr.clear(); // implicitly close the file - if (useCompress) + if (streamOpt.compression() == IOstreamOption::COMPRESSED) { // rename .fpma.gz -> .fpmaz // The '.gz' is automatically added by OFstream in compression mode diff --git a/src/fileFormats/obj/OBJstream.H b/src/fileFormats/obj/OBJstream.H index a476335ba4..7ab96b146a 100644 --- a/src/fileFormats/obj/OBJstream.H +++ b/src/fileFormats/obj/OBJstream.H @@ -80,23 +80,22 @@ public: // Constructors - //- Construct from pathname + //- Construct from pathname (ASCII, uncompressed) explicit OBJstream ( const fileName& pathname, IOstreamOption streamOpt = IOstreamOption() ); - //- Construct from pathname + //- Construct from pathname, format (uncompressed) OBJstream ( const fileName& pathname, IOstreamOption::streamFormat fmt, - IOstreamOption::versionNumber ver = IOstreamOption::currentVersion, IOstreamOption::compressionType cmp = IOstreamOption::UNCOMPRESSED ) : - OBJstream(pathname, IOstreamOption(fmt, ver, cmp)) + OBJstream(pathname, IOstreamOption(fmt, cmp)) {} diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchParticleHistogram/PatchParticleHistogram.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchParticleHistogram/PatchParticleHistogram.C index 81836503c5..43b04a80c0 100644 --- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchParticleHistogram/PatchParticleHistogram.C +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchParticleHistogram/PatchParticleHistogram.C @@ -74,7 +74,6 @@ void Foam::PatchParticleHistogram::write() ( this->writeTimeDir()/patchName + ".post", IOstreamOption::ASCII, - IOstreamOption::currentVersion, mesh.time().writeCompression() ); diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchPostProcessing/PatchPostProcessing.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchPostProcessing/PatchPostProcessing.C index 260184ea9a..c5310ac0e5 100644 --- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchPostProcessing/PatchPostProcessing.C +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/PatchPostProcessing/PatchPostProcessing.C @@ -72,7 +72,6 @@ void Foam::PatchPostProcessing::write() ( this->writeTimeDir()/patchName + ".post", IOstreamOption::ASCII, - IOstreamOption::currentVersion, mesh.time().writeCompression() );