From 42299dca22eeefc81362a8881462ea2198c803bb Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Mon, 17 Feb 2020 19:22:35 +0100 Subject: [PATCH 1/2] ENH: use IOstreamOption for writeObject() calls. - reduces the number of parameters that are being passed around and allows future additions into the IOstreamOption with mininal effort. --- .../test/CompactIOList/Test-CompactIOList.C | 15 ++++------ .../mesh/manipulation/stitchMesh/stitchMesh.C | 10 ++++--- .../foamFormatConvert/foamFormatConvert.C | 16 +++++----- .../unmappedPassivePositionParticleCloud.H | 12 ++------ .../changeDictionary/changeDictionary.C | 6 ++-- .../createZeroDirectory/createZeroDirectory.C | 6 ++-- .../writeActiveDesignVariables.C | 6 ++-- .../IOobjects/CompactIOField/CompactIOField.C | 14 ++++----- .../IOobjects/CompactIOField/CompactIOField.H | 6 ++-- .../IOobjects/CompactIOList/CompactIOList.C | 28 ++++++++---------- .../IOobjects/CompactIOList/CompactIOList.H | 7 ++--- .../decomposedBlockData/decomposedBlockData.C | 13 +++++---- .../decomposedBlockData/decomposedBlockData.H | 6 ++-- src/OpenFOAM/db/Time/Time.H | 6 ++-- src/OpenFOAM/db/Time/TimeIO.C | 10 ++----- .../functionObjectList/functionObjectList.C | 6 ++-- .../db/objectRegistry/objectRegistry.C | 8 ++--- .../db/objectRegistry/objectRegistry.H | 8 ++--- src/OpenFOAM/db/regIOobject/regIOobject.H | 20 ++++++++++--- .../db/regIOobject/regIOobjectWrite.C | 29 +++++++++++-------- .../collatedFileOperation.C | 20 +++++-------- .../collatedFileOperation.H | 10 ++----- .../fileOperation/fileOperation.C | 9 ++---- .../fileOperation/fileOperation.H | 4 +-- .../masterUncollatedFileOperation.C | 14 ++------- .../masterUncollatedFileOperation.H | 4 +-- src/OpenFOAM/global/profiling/profiling.C | 14 ++------- src/OpenFOAM/global/profiling/profiling.H | 8 ++--- .../uniformInterpolationTable.C | 4 +-- .../polyBoundaryMesh/polyBoundaryMesh.C | 9 +++--- .../polyBoundaryMesh/polyBoundaryMesh.H | 8 ++--- src/conversion/ccm/reader/ccmReader.C | 6 ++-- src/conversion/ccm/reader/ccmReaderAux.C | 6 ++-- src/conversion/common/reader/meshReader.C | 4 +-- src/conversion/common/reader/meshReaderAux.C | 12 ++------ .../dynamicRefineFvMesh/dynamicRefineFvMesh.C | 8 ++--- .../dynamicRefineFvMesh/dynamicRefineFvMesh.H | 8 ++--- .../motionSolvers/motionSolver/motionSolver.C | 6 ++-- .../motionSolvers/motionSolver/motionSolver.H | 8 ++--- src/finiteVolume/fvMesh/fvMesh.C | 8 ++--- src/finiteVolume/fvMesh/fvMesh.H | 6 ++-- src/lagrangian/basic/Cloud/Cloud.H | 8 ++--- src/lagrangian/basic/Cloud/CloudIO.C | 12 +++----- .../Templates/KinematicCloud/KinematicCloud.C | 8 +++-- .../coordinate/systems/coordinateSystems.C | 12 +++----- .../coordinate/systems/coordinateSystems.H | 8 ++--- .../triSurfaceMesh/triSurfaceMesh.C | 6 ++-- .../triSurfaceMesh/triSurfaceMesh.H | 8 ++--- src/meshTools/sets/topoSets/cellZoneSet.C | 8 ++--- src/meshTools/sets/topoSets/cellZoneSet.H | 8 ++--- src/meshTools/sets/topoSets/faceZoneSet.C | 8 ++--- src/meshTools/sets/topoSets/faceZoneSet.H | 8 ++--- src/meshTools/sets/topoSets/pointZoneSet.C | 8 ++--- src/meshTools/sets/topoSets/pointZoneSet.H | 8 ++--- .../lineSearch/lineSearch/lineSearch.C | 6 ++-- .../updateMethod/updateMethod/updateMethod.C | 6 ++-- .../NURBS3DVolume/NURBS3DVolume.C | 13 +++------ .../dynamicOversetFvMesh.C | 16 +++++----- .../dynamicOversetFvMesh.H | 8 ++--- .../distributedTriSurfaceMesh.C | 9 +++--- .../distributedTriSurfaceMesh.H | 8 ++--- .../regionModel/regionModel/regionModel.C | 6 ++-- .../rigidBodyMeshMotion/rigidBodyMeshMotion.C | 12 ++++---- .../rigidBodyMeshMotion/rigidBodyMeshMotion.H | 7 ++--- .../rigidBodyMeshMotionSolver.C | 12 ++++---- .../rigidBodyMeshMotionSolver.H | 9 +++--- .../sixDoFRigidBodyMotionSolver.C | 6 ++-- .../sixDoFRigidBodyMotionSolver.H | 8 ++--- .../MeshedSurfaceIOAllocator.C | 10 +++---- .../MeshedSurfaceIOAllocator.H | 9 ++---- src/surfMesh/polySurface/polySurface.H | 8 ++--- src/surfMesh/polySurface/polySurfaceIO.C | 6 ++-- src/surfMesh/surfMesh/surfMesh.H | 4 +-- src/surfMesh/surfMesh/surfMeshIO.C | 10 +++---- 74 files changed, 272 insertions(+), 419 deletions(-) diff --git a/applications/test/CompactIOList/Test-CompactIOList.C b/applications/test/CompactIOList/Test-CompactIOList.C index 80b8cb4a90..9e5b40e9b1 100644 --- a/applications/test/CompactIOList/Test-CompactIOList.C +++ b/applications/test/CompactIOList/Test-CompactIOList.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation + Copyright (C) 2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,8 +49,8 @@ int main(int argc, char *argv[]) #include "setRootCase.H" #include "createTime.H" - IOstream::streamFormat format=IOstream::BINARY; - // IOstream::streamFormat format=IOstream::ASCII; + IOstream::streamFormat format = IOstream::BINARY; + // IOstream::streamFormat format = IOstream::ASCII; const label size = 20000000; @@ -84,12 +85,9 @@ int main(int argc, char *argv[]) << runTime.cpuTimeIncrement() << " s" << nl << endl; - // Write binary faces2.writeObject ( - format, - IOstream::currentVersion, - IOstream::UNCOMPRESSED, + IOstreamOption(format), true ); @@ -147,12 +145,9 @@ int main(int argc, char *argv[]) << runTime.cpuTimeIncrement() << " s" << nl << endl; - // Write binary faces2.writeObject ( - format, - IOstream::currentVersion, - IOstream::UNCOMPRESSED, + IOstreamOption(format), true ); diff --git a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C index 7ad7a637c7..82ca4d6183 100644 --- a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C +++ b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017 OpenCFD Ltd. + Copyright (C) 2017-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -643,9 +643,11 @@ int main(int argc, char *argv[]) ( !runTime.objectRegistry::writeObject ( - runTime.writeFormat(), - IOstream::currentVersion, - runTime.writeCompression(), + IOstreamOption + ( + runTime.writeFormat(), + runTime.writeCompression() + ), true ) ) diff --git a/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C b/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C index c8cf9b6a50..f9e5ccebf4 100644 --- a/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C +++ b/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2018 OpenCFD Ltd. + Copyright (C) 2016-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -157,12 +157,10 @@ bool writeZones Info<< " Writing " << name << endl; - // Force writing as ascii + // Force writing as ASCII writeOk = meshObject.regIOobject::writeObject ( - IOstream::ASCII, - IOstream::currentVersion, - compression, + IOstreamOption(IOstream::ASCII, compression), true ); } @@ -471,9 +469,11 @@ int main(int argc, char *argv[]) parcels.writeObject ( - runTime.writeFormat(), - IOstream::currentVersion, - runTime.writeCompression(), + IOstreamOption + ( + runTime.writeFormat(), + runTime.writeCompression() + ), parcels.size() ); diff --git a/applications/utilities/parallelProcessing/redistributePar/unmappedPassivePositionParticleCloud.H b/applications/utilities/parallelProcessing/redistributePar/unmappedPassivePositionParticleCloud.H index f15e00e11a..74cc738f15 100644 --- a/applications/utilities/parallelProcessing/redistributePar/unmappedPassivePositionParticleCloud.H +++ b/applications/utilities/parallelProcessing/redistributePar/unmappedPassivePositionParticleCloud.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -93,14 +93,8 @@ public: virtual void autoMap(const mapPolyMesh&) {} - //- Switch off writing the objects - virtual bool writeObject - ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, - const bool valid - ) const + //- Disable writing objects + virtual bool writeObject(IOstreamOption, const bool valid) const { return true; } diff --git a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C index d7aa8fea61..28e784339d 100644 --- a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C +++ b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -660,9 +660,7 @@ int main(int argc, char *argv[]) Info<< "Writing modified " << fieldName << endl; dictList.writeObject ( - runTime.writeFormat(), - IOstream::currentVersion, - IOstream::UNCOMPRESSED, + IOstreamOption(runTime.writeFormat()), true ); } diff --git a/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C b/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C index b17b830497..fc70e5ccdb 100644 --- a/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C +++ b/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2015-2017 OpenCFD Ltd. + Copyright (C) 2015-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -199,9 +199,7 @@ void createFieldFiles fieldOut.regIOobject::writeObject ( - IOstream::ASCII, - IOstream::currentVersion, - IOstream::UNCOMPRESSED, + IOstreamOption(IOstream::ASCII), true ); } diff --git a/applications/utilities/preProcessing/optimisation/writeActiveDesignVariables/writeActiveDesignVariables.C b/applications/utilities/preProcessing/optimisation/writeActiveDesignVariables/writeActiveDesignVariables.C index 2eae081bb0..0ea8df485d 100644 --- a/applications/utilities/preProcessing/optimisation/writeActiveDesignVariables/writeActiveDesignVariables.C +++ b/applications/utilities/preProcessing/optimisation/writeActiveDesignVariables/writeActiveDesignVariables.C @@ -7,7 +7,7 @@ ------------------------------------------------------------------------------- Copyright (C) 2007-2019 PCOpt/NTUA Copyright (C) 2013-2019 FOSS GP - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -95,9 +95,7 @@ int main(int argc, char *argv[]) // Write modified dictionary optDict.regIOobject::writeObject ( - IOstream::ASCII, - IOstream::currentVersion, - IOstream::UNCOMPRESSED, + IOstreamOption(IOstream::ASCII), true ); diff --git a/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.C b/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.C index c7ab9b7ac9..027ccc53ea 100644 --- a/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.C +++ b/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -175,28 +175,26 @@ Foam::CompactIOField::CompactIOField template bool Foam::CompactIOField::writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const { - if (fmt == IOstream::ASCII) + if (streamOpt.format() == IOstream::ASCII) { // Change type to be non-compact format type const word oldTypeName(typeName); const_cast(typeName) = IOField::typeName; - bool good = regIOobject::writeObject(IOstream::ASCII, ver, cmp, valid); + bool good = regIOobject::writeObject(streamOpt, valid); - // Change type back + // Restore type const_cast(typeName) = oldTypeName; return good; } - return regIOobject::writeObject(fmt, ver, cmp, valid); + return regIOobject::writeObject(streamOpt, valid); } diff --git a/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.H b/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.H index c1b0929250..09b6fb943f 100644 --- a/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.H +++ b/src/OpenFOAM/db/IOobjects/CompactIOField/CompactIOField.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation + Copyright (C) 2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -112,11 +113,10 @@ public: // Member Functions + //- Write using stream options virtual bool writeObject ( - IOstream::streamFormat, - IOstream::versionNumber, - IOstream::compressionType, + IOstreamOption streamOpt, const bool valid ) const; diff --git a/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.C b/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.C index cfd3507fca..a614641777 100644 --- a/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.C +++ b/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2019 OpenCFD Ltd. + Copyright (C) 2015-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -168,21 +168,17 @@ Foam::CompactIOList::CompactIOList template bool Foam::CompactIOList::writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const { - bool nonCompact = false; - - if (fmt == IOstream::ASCII) - { - nonCompact = true; - } - else if (overflows()) + if + ( + streamOpt.format() == IOstream::BINARY + && overflows() + ) { - nonCompact = true; + streamOpt.format(IOstream::ASCII); WarningInFunction << "Overall number of elements of CompactIOList of size " @@ -190,14 +186,14 @@ bool Foam::CompactIOList::writeObject << nl << " Switching to ascii writing" << endl; } - if (nonCompact) + if (streamOpt.format() == IOstream::ASCII) { - // Change to non-compact type + // Change type to be non-compact format type const word oldTypeName(typeName); const_cast(typeName) = IOList::typeName; - bool good = regIOobject::writeObject(IOstream::ASCII, ver, cmp, valid); + bool good = regIOobject::writeObject(streamOpt, valid); // Change type back const_cast(typeName) = oldTypeName; @@ -205,7 +201,7 @@ bool Foam::CompactIOList::writeObject return good; } - return regIOobject::writeObject(fmt, ver, cmp, valid); + return regIOobject::writeObject(streamOpt, valid); } diff --git a/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.H b/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.H index 66630ee1b3..555114418b 100644 --- a/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.H +++ b/src/OpenFOAM/db/IOobjects/CompactIOList/CompactIOList.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -114,11 +114,10 @@ public: // Member Functions + //- Write using stream options. Checks for overflow in binary virtual bool writeObject ( - IOstream::streamFormat, - IOstream::versionNumber, - IOstream::compressionType, + IOstreamOption streamOpt, const bool valid ) const; diff --git a/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.C b/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.C index 66653071d3..32f8f5f142 100644 --- a/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.C +++ b/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.C @@ -1140,18 +1140,19 @@ bool Foam::decomposedBlockData::writeData(Ostream& os) const bool Foam::decomposedBlockData::writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const { + // Always write BINARY + streamOpt.format(IOstream::BINARY); + autoPtr osPtr; if (UPstream::master(comm_)) { - // Note: always write binary. These are strings so readable - // anyway. They have already be tokenised on the sending side. - osPtr.reset(new OFstream(objectPath(), IOstream::BINARY, ver, cmp)); + // Note: always write binary. These are strings so readable anyway. + // They have already be tokenised on the sending side. + osPtr.reset(new OFstream(objectPath(), streamOpt)); IOobject::writeHeader(osPtr()); } diff --git a/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.H b/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.H index a0110e747d..026287ceac 100644 --- a/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.H +++ b/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.H @@ -135,12 +135,10 @@ public: // and that the master data contains a header virtual bool writeData(Ostream&) const; - //- Write using given format, version and compression + //- Write using stream options virtual bool writeObject ( - IOstream::streamFormat, - IOstream::versionNumber, - IOstream::compressionType, + IOstreamOption streamOpt, const bool valid ) const; diff --git a/src/OpenFOAM/db/Time/Time.H b/src/OpenFOAM/db/Time/Time.H index 9d775e6f0f..ccfd02a6d6 100644 --- a/src/OpenFOAM/db/Time/Time.H +++ b/src/OpenFOAM/db/Time/Time.H @@ -392,12 +392,10 @@ public: //- Write time dictionary to the \/uniform directory virtual bool writeTimeDict() const; - //- Write using given format, version and compression + //- Write using stream options virtual bool writeObject ( - IOstream::streamFormat, - IOstream::versionNumber, - IOstream::compressionType, + IOstreamOption streamOpt, const bool valid ) const; diff --git a/src/OpenFOAM/db/Time/TimeIO.C b/src/OpenFOAM/db/Time/TimeIO.C index 177733f53b..989e6a7668 100644 --- a/src/OpenFOAM/db/Time/TimeIO.C +++ b/src/OpenFOAM/db/Time/TimeIO.C @@ -524,9 +524,7 @@ bool Foam::Time::writeTimeDict() const return timeDict.regIOobject::writeObject ( - IOstream::ASCII, - IOstream::currentVersion, - IOstream::UNCOMPRESSED, + IOstreamOption(IOstream::ASCII), true ); } @@ -534,9 +532,7 @@ bool Foam::Time::writeTimeDict() const bool Foam::Time::writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const { @@ -546,7 +542,7 @@ bool Foam::Time::writeObject if (writeOK) { - writeOK = objectRegistry::writeObject(fmt, ver, cmp, valid); + writeOK = objectRegistry::writeObject(streamOpt, valid); } if (writeOK) diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C index 7bb5a0f292..7a5d05e43c 100644 --- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C +++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2019 OpenCFD Ltd. + Copyright (C) 2015-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -625,9 +625,7 @@ bool Foam::functionObjectList::execute() stateDictPtr_->writeObject ( - IOstream::ASCII, - IOstream::currentVersion, - time_.writeCompression(), + IOstreamOption(IOstream::ASCII, time_.writeCompression()), true ); diff --git a/src/OpenFOAM/db/objectRegistry/objectRegistry.C b/src/OpenFOAM/db/objectRegistry/objectRegistry.C index f6832dc47b..9621daf6aa 100644 --- a/src/OpenFOAM/db/objectRegistry/objectRegistry.C +++ b/src/OpenFOAM/db/objectRegistry/objectRegistry.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2019 OpenCFD Ltd. + Copyright (C) 2015-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -473,9 +473,7 @@ bool Foam::objectRegistry::readIfModified() bool Foam::objectRegistry::writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const { @@ -496,7 +494,7 @@ bool Foam::objectRegistry::writeObject if ((*iter)->writeOpt() != NO_WRITE) { - ok = (*iter)->writeObject(fmt, ver, cmp, valid) && ok; + ok = (*iter)->writeObject(streamOpt, valid) && ok; } } diff --git a/src/OpenFOAM/db/objectRegistry/objectRegistry.H b/src/OpenFOAM/db/objectRegistry/objectRegistry.H index 05b4ae94b6..fda27b6543 100644 --- a/src/OpenFOAM/db/objectRegistry/objectRegistry.H +++ b/src/OpenFOAM/db/objectRegistry/objectRegistry.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -524,12 +524,10 @@ public: return false; } - //- Write the objects + //- Write the objects using stream options virtual bool writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const; diff --git a/src/OpenFOAM/db/regIOobject/regIOobject.H b/src/OpenFOAM/db/regIOobject/regIOobject.H index 6793e7000b..6ac4db7c28 100644 --- a/src/OpenFOAM/db/regIOobject/regIOobject.H +++ b/src/OpenFOAM/db/regIOobject/regIOobject.H @@ -43,6 +43,7 @@ SourceFiles #include "IOobject.H" #include "typeInfo.H" +#include "stdFoam.H" #include "OSspecific.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -319,12 +320,10 @@ public: // Must be defined in derived types virtual bool writeData(Ostream&) const = 0; - //- Write using given format, version and compression + //- Write using stream options virtual bool writeObject ( - IOstream::streamFormat, - IOstream::versionNumber, - IOstream::compressionType, + IOstreamOption streamOpt, const bool valid ) const; @@ -345,6 +344,19 @@ public: //- Copy assignment void operator=(const IOobject& io); + + + // Housekeeping + + //- Write using given format, version and compression + FOAM_DEPRECATED_FOR(2020-02, "writeObject(IOstreamOption, bool)") + virtual bool writeObject + ( + IOstream::streamFormat fmt, + IOstream::versionNumber ver, + IOstream::compressionType comp, + const bool valid + ) const; }; diff --git a/src/OpenFOAM/db/regIOobject/regIOobjectWrite.C b/src/OpenFOAM/db/regIOobject/regIOobjectWrite.C index c85eefa5e0..c913550406 100644 --- a/src/OpenFOAM/db/regIOobject/regIOobjectWrite.C +++ b/src/OpenFOAM/db/regIOobject/regIOobjectWrite.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation + Copyright (C) 2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -23,9 +24,6 @@ License You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see . -Description - write function for regIOobjects - \*---------------------------------------------------------------------------*/ #include "regIOobject.H" @@ -37,9 +35,7 @@ Description bool Foam::regIOobject::writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const { @@ -62,7 +58,6 @@ bool Foam::regIOobject::writeObject } - //- uncomment this if you want to write global objects on master only //bool isGlobal = global(); bool isGlobal = false; @@ -119,7 +114,7 @@ bool Foam::regIOobject::writeObject //if (mkDir(path())) //{ // // Try opening an OFstream for object - // OFstream os(objectPath(), fmt, ver, cmp); + // OFstream os(objectPath(), streamOpt); // // // If any of these fail, return (leave error handling to Ostream // // class) @@ -143,7 +138,7 @@ bool Foam::regIOobject::writeObject // // osGood = os.good(); //} - osGood = fileHandler().writeObject(*this, fmt, ver, cmp, valid); + osGood = fileHandler().writeObject(*this, streamOpt, valid); } else { @@ -171,12 +166,22 @@ bool Foam::regIOobject::write(const bool valid) const { return writeObject ( - time().writeFormat(), - IOstream::currentVersion, - time().writeCompression(), + IOstreamOption(time().writeFormat(), time().writeCompression()), valid ); } +bool Foam::regIOobject::writeObject +( + IOstream::streamFormat fmt, + IOstream::versionNumber ver, + IOstream::compressionType cmp, + const bool valid +) const +{ + return writeObject(IOstreamOption(fmt, ver, cmp), valid); +} + + // ************************************************************************* // diff --git a/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.C b/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.C index d5ef43cbaa..4ae1f70db0 100644 --- a/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.C @@ -118,9 +118,7 @@ bool Foam::fileOperations::collatedFileOperation::appendObject ( const regIOobject& io, const fileName& pathName, - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp + IOstreamOption streamOpt ) const { // Append to processors/ file @@ -169,7 +167,7 @@ bool Foam::fileOperations::collatedFileOperation::appendObject // Create string from all data to write string buf; { - OStringStream os(fmt, ver); + OStringStream os(streamOpt.format(), streamOpt.version()); if (isMaster) { if (!io.writeHeader(os)) @@ -199,7 +197,7 @@ bool Foam::fileOperations::collatedFileOperation::appendObject OFstream os ( pathName, - IOstreamOption(IOstream::BINARY, ver), // UNCOMPRESSED + IOstreamOption(IOstream::BINARY, streamOpt.version()), // UNCOMPRESSED !isMaster // append slaves ); @@ -461,9 +459,7 @@ Foam::fileName Foam::fileOperations::collatedFileOperation::objectPath bool Foam::fileOperations::collatedFileOperation::writeObject ( const regIOobject& io, - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const { @@ -486,7 +482,7 @@ bool Foam::fileOperations::collatedFileOperation::writeObject masterOFstream os ( pathName, - IOstreamOption(fmt, ver, cmp), + streamOpt, false, // append=false valid ); @@ -530,7 +526,7 @@ bool Foam::fileOperations::collatedFileOperation::writeObject masterOFstream os ( pathName, - IOstreamOption(fmt, ver, cmp), + streamOpt, false, // append=false valid ); @@ -565,7 +561,7 @@ bool Foam::fileOperations::collatedFileOperation::writeObject << " appending to " << pathName << endl; } - return appendObject(io, pathName, fmt, ver, cmp); + return appendObject(io, pathName, streamOpt); } else { @@ -590,7 +586,7 @@ bool Foam::fileOperations::collatedFileOperation::writeObject ( writer_, pathName, - IOstreamOption(fmt, ver, cmp), + streamOpt, useThread ); diff --git a/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.H b/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.H index 170b53c08b..1f3b16615e 100644 --- a/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.H +++ b/src/OpenFOAM/global/fileOperations/collatedFileOperation/collatedFileOperation.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -95,9 +95,7 @@ protected: ( const regIOobject& io, const fileName& pathName, - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp + IOstreamOption streamOpt ) const; @@ -150,9 +148,7 @@ public: virtual bool writeObject ( const regIOobject&, - IOstream::streamFormat format=IOstream::ASCII, - IOstream::versionNumber version=IOstream::currentVersion, - IOstream::compressionType compression=IOstream::UNCOMPRESSED, + IOstreamOption streamOpt = IOstreamOption(), const bool valid = true ) const; diff --git a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C index 09b95f6363..5feb72673d 100644 --- a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C +++ b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C @@ -464,9 +464,7 @@ Foam::fileName Foam::fileOperation::objectPath bool Foam::fileOperation::writeObject ( const regIOobject& io, - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType comp, + IOstreamOption streamOpt, const bool valid ) const { @@ -476,10 +474,7 @@ bool Foam::fileOperation::writeObject mkDir(pathName.path()); - autoPtr osPtr - ( - NewOFstream(pathName, IOstreamOption(fmt, ver, comp)) - ); + autoPtr osPtr(NewOFstream(pathName, streamOpt)); if (!osPtr) { diff --git a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.H b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.H index d2e21e448d..4af314a371 100644 --- a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.H +++ b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.H @@ -410,9 +410,7 @@ public: virtual bool writeObject ( const regIOobject& io, - IOstream::streamFormat fmt = IOstream::ASCII, - IOstream::versionNumber ver = IOstream::currentVersion, - IOstream::compressionType comp = IOstream::UNCOMPRESSED, + IOstreamOption streamOpt = IOstreamOption(), const bool valid = true ) const; diff --git a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C index e9b2283272..c3f065b040 100644 --- a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C @@ -2244,9 +2244,7 @@ bool Foam::fileOperations::masterUncollatedFileOperation::read bool Foam::fileOperations::masterUncollatedFileOperation::writeObject ( const regIOobject& io, - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType comp, + IOstreamOption streamOpt, const bool valid ) const { @@ -2261,15 +2259,7 @@ bool Foam::fileOperations::masterUncollatedFileOperation::writeObject // Make sure to pick up any new times setTime(io.time()); - autoPtr osPtr - ( - NewOFstream - ( - pathName, - IOstreamOption(fmt, ver, comp), - valid - ) - ); + autoPtr osPtr(NewOFstream(pathName, streamOpt, valid)); OSstream& os = osPtr(); // If any of these fail, return (leave error handling to Ostream class) diff --git a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H index 4b6e729c80..ee068b5c32 100644 --- a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H +++ b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.H @@ -697,9 +697,7 @@ public: virtual bool writeObject ( const regIOobject& io, - IOstream::streamFormat format=IOstream::ASCII, - IOstream::versionNumber version=IOstream::currentVersion, - IOstream::compressionType compression=IOstream::UNCOMPRESSED, + IOstreamOption streamOpt = IOstreamOption(), const bool valid = true ) const; diff --git a/src/OpenFOAM/global/profiling/profiling.C b/src/OpenFOAM/global/profiling/profiling.C index 2860248d35..73bc162f44 100644 --- a/src/OpenFOAM/global/profiling/profiling.C +++ b/src/OpenFOAM/global/profiling/profiling.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2009-2016 Bernhard Gschaider - Copyright (C) 2016-2018 OpenCFD Ltd. + Copyright (C) 2016-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -393,19 +393,11 @@ bool Foam::profiling::writeData(Ostream& os) const bool Foam::profiling::writeObject ( - IOstream::streamFormat, - IOstream::versionNumber ver, - IOstream::compressionType, + IOstreamOption, const bool valid ) const { - return regIOobject::writeObject - ( - IOstream::ASCII, - ver, - IOstream::UNCOMPRESSED, - true - ); + return regIOobject::writeObject(IOstreamOption(IOstream::ASCII), true); } diff --git a/src/OpenFOAM/global/profiling/profiling.H b/src/OpenFOAM/global/profiling/profiling.H index c1f418a356..4443199c3d 100644 --- a/src/OpenFOAM/global/profiling/profiling.H +++ b/src/OpenFOAM/global/profiling/profiling.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2009-2016 Bernhard Gschaider - Copyright (C) 2016-2018 OpenCFD Ltd. + Copyright (C) 2016-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -247,12 +247,10 @@ public: //- writeData member function required by regIOobject virtual bool writeData(Ostream& os) const; - //- Write as uncompressed ASCII, using given format + //- Write as uncompressed ASCII virtual bool writeObject ( - IOstream::streamFormat ignoreAlwaysASCII, - IOstream::versionNumber ver, - IOstream::compressionType ignoreAlwaysUncompressed, + IOstreamOption /*ignore*/, const bool valid ) const; }; diff --git a/src/OpenFOAM/interpolations/uniformInterpolationTable/uniformInterpolationTable.C b/src/OpenFOAM/interpolations/uniformInterpolationTable/uniformInterpolationTable.C index d05e503677..9d1e207d8c 100644 --- a/src/OpenFOAM/interpolations/uniformInterpolationTable/uniformInterpolationTable.C +++ b/src/OpenFOAM/interpolations/uniformInterpolationTable/uniformInterpolationTable.C @@ -234,9 +234,7 @@ void Foam::uniformInterpolationTable::write() const dict.regIOobject::writeObject ( - IOstream::ASCII, - IOstream::currentVersion, - dict.time().writeCompression(), + IOstreamOption(IOstream::ASCII, dict.time().writeCompression()), true ); } diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C index a65ed407f7..71f84b929a 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2019 OpenCFD Ltd. + Copyright (C) 2018-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -1234,13 +1234,12 @@ bool Foam::polyBoundaryMesh::writeData(Ostream& os) const bool Foam::polyBoundaryMesh::writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const { - return regIOobject::writeObject(fmt, ver, IOstream::UNCOMPRESSED, valid); + streamOpt.compression(IOstream::UNCOMPRESSED); + return regIOobject::writeObject(streamOpt, valid); } diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H index 56c47603c8..1609b0f55e 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H +++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -270,12 +270,10 @@ public: //- writeData member function required by regIOobject virtual bool writeData(Ostream& os) const; - //- Write using given format, version, compression + //- Write using stream options virtual bool writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const; diff --git a/src/conversion/ccm/reader/ccmReader.C b/src/conversion/ccm/reader/ccmReader.C index eabede77b6..89f272e42b 100644 --- a/src/conversion/ccm/reader/ccmReader.C +++ b/src/conversion/ccm/reader/ccmReader.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016 OpenCFD Ltd. + Copyright (C) 2016-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -587,9 +587,7 @@ void Foam::ccm::reader::writeMesh Info<< "Writing polyMesh" << endl; mesh.writeObject ( - fmt, - IOstream::currentVersion, - IOstream::UNCOMPRESSED, + IOstreamOption(fmt), true ); writeAux(mesh); diff --git a/src/conversion/ccm/reader/ccmReaderAux.C b/src/conversion/ccm/reader/ccmReaderAux.C index 333a2806c1..d580565df8 100644 --- a/src/conversion/ccm/reader/ccmReaderAux.C +++ b/src/conversion/ccm/reader/ccmReaderAux.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2016-2017 OpenCFD Ltd. + Copyright (C) 2016-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -174,9 +174,7 @@ void Foam::ccm::reader::writeMeshLabelList // ioObj.writeObject ( - fmt, - IOstream::currentVersion, - IOstream::UNCOMPRESSED, + IOstreamOption(fmt), true ); } diff --git a/src/conversion/common/reader/meshReader.C b/src/conversion/common/reader/meshReader.C index 51dcdbf290..f13720e9cb 100644 --- a/src/conversion/common/reader/meshReader.C +++ b/src/conversion/common/reader/meshReader.C @@ -133,9 +133,7 @@ void Foam::meshReader::writeMesh Info<< "Writing polyMesh" << endl; mesh.writeObject ( - fmt, - IOstream::currentVersion, - IOstream::UNCOMPRESSED, + IOstreamOption(fmt), true ); writeAux(mesh); diff --git a/src/conversion/common/reader/meshReaderAux.C b/src/conversion/common/reader/meshReaderAux.C index d4f33f98ff..0503737b2a 100644 --- a/src/conversion/common/reader/meshReaderAux.C +++ b/src/conversion/common/reader/meshReaderAux.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -135,14 +135,8 @@ void Foam::meshReader::writeMeshLabelList // NOTE: // the cellTableId is an integer and almost always < 1000, thus ASCII // will be compacter than binary and makes external scripting easier - // - ioObj.writeObject - ( - fmt, - IOstream::currentVersion, - IOstream::UNCOMPRESSED, - true - ); + + ioObj.writeObject(IOstreamOption(fmt), true); } diff --git a/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C b/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C index cf0dddc504..38292ef63f 100644 --- a/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C +++ b/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -1387,9 +1387,7 @@ bool Foam::dynamicRefineFvMesh::update() bool Foam::dynamicRefineFvMesh::writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const { @@ -1398,7 +1396,7 @@ bool Foam::dynamicRefineFvMesh::writeObject bool writeOk = ( - dynamicFvMesh::writeObject(fmt, ver, cmp, valid) + dynamicFvMesh::writeObject(streamOpt, valid) && meshCutter_.write(valid) ); diff --git a/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.H b/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.H index 9e463f5280..795a541bd4 100644 --- a/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.H +++ b/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2018 OpenCFD Ltd. + Copyright (C) 2017-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -264,12 +264,10 @@ public: // Writing - //- Write using given format, version and compression + //- Write using stream options virtual bool writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const; }; diff --git a/src/dynamicMesh/motionSolvers/motionSolver/motionSolver.C b/src/dynamicMesh/motionSolvers/motionSolver/motionSolver.C index 1b379eee0a..797d0c494f 100644 --- a/src/dynamicMesh/motionSolvers/motionSolver/motionSolver.C +++ b/src/dynamicMesh/motionSolvers/motionSolver/motionSolver.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -222,9 +222,7 @@ void Foam::motionSolver::updateMesh(const mapPolyMesh& mpm) bool Foam::motionSolver::writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption, const bool valid ) const { diff --git a/src/dynamicMesh/motionSolvers/motionSolver/motionSolver.H b/src/dynamicMesh/motionSolvers/motionSolver/motionSolver.H index 7c3ecb880c..87997426ce 100644 --- a/src/dynamicMesh/motionSolvers/motionSolver/motionSolver.H +++ b/src/dynamicMesh/motionSolvers/motionSolver/motionSolver.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -170,12 +170,10 @@ public: //- Update local data for topology changes virtual void updateMesh(const mapPolyMesh&) = 0; - //- Write state using given format, version and compression + //- Write state using stream options virtual bool writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const; diff --git a/src/finiteVolume/fvMesh/fvMesh.C b/src/finiteVolume/fvMesh/fvMesh.C index 21f041a812..f5514df239 100644 --- a/src/finiteVolume/fvMesh/fvMesh.C +++ b/src/finiteVolume/fvMesh/fvMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -912,9 +912,7 @@ void Foam::fvMesh::updateMesh(const mapPolyMesh& mpm) bool Foam::fvMesh::writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const { @@ -932,7 +930,7 @@ bool Foam::fvMesh::writeObject ok = V0Ptr_->write(valid); } - return ok && polyMesh::writeObject(fmt, ver, cmp, valid); + return ok && polyMesh::writeObject(streamOpt, valid); } diff --git a/src/finiteVolume/fvMesh/fvMesh.H b/src/finiteVolume/fvMesh/fvMesh.H index 7c1edf9c96..53e57c7f68 100644 --- a/src/finiteVolume/fvMesh/fvMesh.H +++ b/src/finiteVolume/fvMesh/fvMesh.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -455,9 +455,7 @@ public: //- Write the underlying polyMesh and other data virtual bool writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const; diff --git a/src/lagrangian/basic/Cloud/Cloud.H b/src/lagrangian/basic/Cloud/Cloud.H index 9d1707150b..2fdb8fecf4 100644 --- a/src/lagrangian/basic/Cloud/Cloud.H +++ b/src/lagrangian/basic/Cloud/Cloud.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2019 OpenCFD Ltd. + Copyright (C) 2017-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -247,13 +247,11 @@ public: // this level. virtual void writeFields() const; - //- Write using given format, version and compression. + //- Write using stream options. // Only writes the cloud file if the Cloud isn't empty virtual bool writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const; diff --git a/src/lagrangian/basic/Cloud/CloudIO.C b/src/lagrangian/basic/Cloud/CloudIO.C index 7793c6d90e..160007fc4d 100644 --- a/src/lagrangian/basic/Cloud/CloudIO.C +++ b/src/lagrangian/basic/Cloud/CloudIO.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2017-2019 OpenCFD Ltd. + Copyright (C) 2017-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -121,9 +121,7 @@ void Foam::Cloud::writeCloudUniformProperties() const uniformPropsDict.writeObject ( - IOstream::ASCII, - IOstream::currentVersion, - time().writeCompression(), + IOstreamOption(IOstream::ASCII, time().writeCompression()), true ); } @@ -252,16 +250,14 @@ void Foam::Cloud::writeFields() const template bool Foam::Cloud::writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool ) const { writeCloudUniformProperties(); writeFields(); - return cloud::writeObject(fmt, ver, cmp, this->size()); + return cloud::writeObject(streamOpt, this->size()); } diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C index 9c06faf623..8859f8b739 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C @@ -251,9 +251,11 @@ void Foam::KinematicCloud::postEvolve() { outputProperties_.writeObject ( - IOstream::ASCII, - IOstream::currentVersion, - this->db().time().writeCompression(), + IOstreamOption + ( + IOstream::ASCII, + this->db().time().writeCompression() + ), true ); } diff --git a/src/meshTools/coordinate/systems/coordinateSystems.C b/src/meshTools/coordinate/systems/coordinateSystems.C index 1d51962af4..0a367eb9db 100644 --- a/src/meshTools/coordinate/systems/coordinateSystems.C +++ b/src/meshTools/coordinate/systems/coordinateSystems.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -443,18 +443,14 @@ bool Foam::coordinateSystems::writeData(Ostream& os) const bool Foam::coordinateSystems::writeObject ( - IOstream::streamFormat, - IOstream::versionNumber ver, - IOstream::compressionType, + IOstreamOption, const bool valid ) const { - // Force ASCII writing + // Force ASCII, uncompressed return regIOobject::writeObject ( - IOstream::ASCII, - ver, - IOstream::UNCOMPRESSED, + IOstreamOption(IOstream::ASCII), valid ); } diff --git a/src/meshTools/coordinate/systems/coordinateSystems.H b/src/meshTools/coordinate/systems/coordinateSystems.H index 1249468642..12c65696fb 100644 --- a/src/meshTools/coordinate/systems/coordinateSystems.H +++ b/src/meshTools/coordinate/systems/coordinateSystems.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -176,12 +176,10 @@ public: //- Write data bool writeData(Ostream& os) const; - //- Write data + //- Write using stream options virtual bool writeObject ( - IOstream::streamFormat, - IOstream::versionNumber ver, - IOstream::compressionType, + IOstreamOption streamOpt, const bool valid = true ) const; diff --git a/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C b/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C index 73e503d16d..57012de980 100644 --- a/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C +++ b/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2018 OpenCFD Ltd. + Copyright (C) 2015-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -1239,9 +1239,7 @@ void Foam::triSurfaceMesh::getVolumeType bool Foam::triSurfaceMesh::writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption, const bool valid ) const { diff --git a/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.H b/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.H index fd26f5095b..512d5bf230 100644 --- a/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.H +++ b/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2015-2018 OpenCFD Ltd. + Copyright (C) 2015-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -331,12 +331,10 @@ public: return false; } - //- Write using given format, version and compression + //- Write using stream options virtual bool writeObject ( - IOstream::streamFormat fmt, - IOstream::versionNumber ver, - IOstream::compressionType cmp, + IOstreamOption streamOpt, const bool valid ) const; diff --git a/src/meshTools/sets/topoSets/cellZoneSet.C b/src/meshTools/sets/topoSets/cellZoneSet.C index 0feb9e2437..1db2ab0215 100644 --- a/src/meshTools/sets/topoSets/cellZoneSet.C +++ b/src/meshTools/sets/topoSets/cellZoneSet.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -229,16 +229,14 @@ Foam::label Foam::cellZoneSet::maxSize(const polyMesh& mesh) const bool Foam::cellZoneSet::writeObject ( - IOstream::streamFormat s, - IOstream::versionNumber v, - IOstream::compressionType c, + IOstreamOption streamOpt, const bool valid ) const { // Write shadow cellSet word oldTypeName = typeName; const_cast(type()) = cellSet::typeName; - bool ok = cellSet::writeObject(s, v, c, valid); + bool ok = cellSet::writeObject(streamOpt, valid); const_cast(type()) = oldTypeName; // Modify cellZone diff --git a/src/meshTools/sets/topoSets/cellZoneSet.H b/src/meshTools/sets/topoSets/cellZoneSet.H index 59e35d85f7..4dd1e15f63 100644 --- a/src/meshTools/sets/topoSets/cellZoneSet.H +++ b/src/meshTools/sets/topoSets/cellZoneSet.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -139,12 +139,10 @@ public: const label maxLen ) const; - //- Write cellZone + //- Write cellZone using stream options virtual bool writeObject ( - IOstream::streamFormat, - IOstream::versionNumber, - IOstream::compressionType, + IOstreamOption streamOpt, const bool valid ) const; diff --git a/src/meshTools/sets/topoSets/faceZoneSet.C b/src/meshTools/sets/topoSets/faceZoneSet.C index 7bd461ecec..1384884462 100644 --- a/src/meshTools/sets/topoSets/faceZoneSet.C +++ b/src/meshTools/sets/topoSets/faceZoneSet.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2019 OpenCFD Ltd. + Copyright (C) 2018-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -451,16 +451,14 @@ Foam::label Foam::faceZoneSet::maxSize(const polyMesh& mesh) const bool Foam::faceZoneSet::writeObject ( - IOstream::streamFormat s, - IOstream::versionNumber v, - IOstream::compressionType c, + IOstreamOption streamOpt, const bool valid ) const { // Write shadow faceSet word oldTypeName = typeName; const_cast(type()) = faceSet::typeName; - bool ok = faceSet::writeObject(s, v, c, valid); + bool ok = faceSet::writeObject(streamOpt, valid); const_cast(type()) = oldTypeName; // Modify faceZone diff --git a/src/meshTools/sets/topoSets/faceZoneSet.H b/src/meshTools/sets/topoSets/faceZoneSet.H index 26d4d5335b..dbdbd74adb 100644 --- a/src/meshTools/sets/topoSets/faceZoneSet.H +++ b/src/meshTools/sets/topoSets/faceZoneSet.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -154,12 +154,10 @@ public: const label maxLen ) const; - //- Write faceZone + //- Write faceZone using stream options virtual bool writeObject ( - IOstream::streamFormat, - IOstream::versionNumber, - IOstream::compressionType, + IOstreamOption streamOpt, const bool valid ) const; diff --git a/src/meshTools/sets/topoSets/pointZoneSet.C b/src/meshTools/sets/topoSets/pointZoneSet.C index 56a683773a..b94e5800eb 100644 --- a/src/meshTools/sets/topoSets/pointZoneSet.C +++ b/src/meshTools/sets/topoSets/pointZoneSet.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018-2019 OpenCFD Ltd. + Copyright (C) 2018-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -229,16 +229,14 @@ Foam::label Foam::pointZoneSet::maxSize(const polyMesh& mesh) const bool Foam::pointZoneSet::writeObject ( - IOstream::streamFormat s, - IOstream::versionNumber v, - IOstream::compressionType c, + IOstreamOption streamOpt, const bool valid ) const { // Write shadow pointSet word oldTypeName = typeName; const_cast(type()) = pointSet::typeName; - bool ok = pointSet::writeObject(s, v, c, valid); + bool ok = pointSet::writeObject(streamOpt, valid); const_cast(type()) = oldTypeName; // Modify pointZone diff --git a/src/meshTools/sets/topoSets/pointZoneSet.H b/src/meshTools/sets/topoSets/pointZoneSet.H index 6fadcc2dfb..37282b99f2 100644 --- a/src/meshTools/sets/topoSets/pointZoneSet.H +++ b/src/meshTools/sets/topoSets/pointZoneSet.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2017 OpenFOAM Foundation - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -140,12 +140,10 @@ public: const label maxLen ) const; - //- Write pointZone + //- Write pointZone using stream options virtual bool writeObject ( - IOstream::streamFormat, - IOstream::versionNumber, - IOstream::compressionType, + IOstreamOption streamOpt, const bool valid ) const; diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/lineSearch/lineSearch/lineSearch.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/lineSearch/lineSearch/lineSearch.C index 59c6637518..b0f1095732 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/lineSearch/lineSearch/lineSearch.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/lineSearch/lineSearch/lineSearch.C @@ -7,7 +7,7 @@ ------------------------------------------------------------------------------- Copyright (C) 2007-2019 PCOpt/NTUA Copyright (C) 2013-2019 FOSS GP - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -206,9 +206,7 @@ Foam::lineSearch& Foam::lineSearch::operator++() lineSearchDict_.add