diff --git a/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.C b/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.C index 32f8f5f142..24e190d79e 100644 --- a/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.C +++ b/src/OpenFOAM/db/IOobjects/decomposedBlockData/decomposedBlockData.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2017-2018 OpenFOAM Foundation + Copyright (C) 2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -30,7 +31,6 @@ License #include "IPstream.H" #include "PstreamBuffers.H" #include "Fstream.H" -#include "StringStream.H" #include "dictionary.H" #include "objectRegistry.H" #include "SubList.H" @@ -160,12 +160,6 @@ Foam::decomposedBlockData::decomposedBlockData } -// * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * * // - -Foam::decomposedBlockData::~decomposedBlockData() -{} - - // * * * * * * * * * * * * * * * Members Functions * * * * * * * * * * * * * // bool Foam::decomposedBlockData::readMasterHeader(IOobject& io, Istream& is) @@ -181,15 +175,11 @@ bool Foam::decomposedBlockData::readMasterHeader(IOobject& io, Istream& is) List data(is); is.fatalCheck("read(Istream&) : reading entry"); - IListStream str - ( - std::move(data), - IOstream::ASCII, - IOstream::currentVersion, - is.name() - ); - return io.readHeader(str); + UIListStream headerStream(data); + headerStream.name() = is.name(); + + return io.readHeader(headerStream); } @@ -254,24 +244,15 @@ Foam::autoPtr Foam::decomposedBlockData::readBlock is.fatalCheck("read(Istream&)"); - List data; autoPtr realIsPtr; if (blocki == 0) { - is >> data; + List data(is); is.fatalCheck("read(Istream&) : reading entry"); - realIsPtr.reset - ( - new IListStream - ( - std::move(data), - IOstream::ASCII, - IOstream::currentVersion, - is.name() - ) - ); + realIsPtr.reset(new IListStream(std::move(data))); + realIsPtr->name() = is.name(); // Read header if (!headerIO.readHeader(realIsPtr())) @@ -284,7 +265,7 @@ Foam::autoPtr Foam::decomposedBlockData::readBlock else { // Read master for header - is >> data; + List data(is); is.fatalCheck("read(Istream&) : reading entry"); IOstream::versionNumber ver(IOstream::currentVersion); @@ -292,13 +273,7 @@ Foam::autoPtr Foam::decomposedBlockData::readBlock unsigned labelByteSize; unsigned scalarByteSize; { - UIListStream headerStream - ( - data, - IOstream::ASCII, - IOstream::currentVersion, - is.name() - ); + UIListStream headerStream(data); // Read header if (!headerIO.readHeader(headerStream)) @@ -315,20 +290,12 @@ Foam::autoPtr Foam::decomposedBlockData::readBlock for (label i = 1; i < blocki+1; i++) { - // Read data, override old data + // Read and discard data, only retain the last one is >> data; is.fatalCheck("read(Istream&) : reading entry"); } - realIsPtr.reset - ( - new IListStream - ( - std::move(data), - IOstream::ASCII, - IOstream::currentVersion, - is.name() - ) - ); + realIsPtr.reset(new IListStream(std::move(data))); + realIsPtr->name() = is.name(); // Apply master stream settings to realIsPtr realIsPtr().format(fmt); @@ -336,6 +303,7 @@ Foam::autoPtr Foam::decomposedBlockData::readBlock realIsPtr().setLabelByteSize(labelByteSize); realIsPtr().setScalarByteSize(scalarByteSize); } + return realIsPtr; } @@ -358,22 +326,6 @@ bool Foam::decomposedBlockData::readBlocks bool ok = false; - - - //// Scatter master header info - //string ver; - //unsigned labelByteSize; - //unsigned scalarByteSize; - //if (UPstream::master(comm)) - //{ - // ver = isPtr().version().str(); - // labelByteSize = isPtr().labelByteSize(); - // scalarByteSize = isPtr().scalarByteSize(); - //} - //Pstream::scatter(ver); //, Pstream::msgType(), comm); - //Pstream::scatter(labelByteSize); //, Pstream::msgType(), comm); - //Pstream::scatter(scalarByteSize); //, Pstream::msgType(), comm); - if (commsType == UPstream::commsTypes::scheduled) { if (UPstream::master(comm)) @@ -509,17 +461,8 @@ Foam::autoPtr Foam::decomposedBlockData::readBlocks is >> data; is.fatalCheck("read(Istream&) : reading entry"); - realIsPtr.reset - ( - new IListStream - ( - std::move(data), - IOstream::ASCII, - IOstream::currentVersion, - fName - ) - ); - + realIsPtr.reset(new IListStream(std::move(data))); + realIsPtr->name() = fName; // Read header if (!headerIO.readHeader(realIsPtr())) @@ -566,16 +509,8 @@ Foam::autoPtr Foam::decomposedBlockData::readBlocks ); is >> data; - realIsPtr.reset - ( - new IListStream - ( - std::move(data), - IOstream::ASCII, - IOstream::currentVersion, - fName - ) - ); + realIsPtr.reset(new IListStream(std::move(data))); + realIsPtr->name() = fName; } } else @@ -597,16 +532,8 @@ Foam::autoPtr Foam::decomposedBlockData::readBlocks is >> data; is.fatalCheck("read(Istream&) : reading entry"); - realIsPtr.reset - ( - new IListStream - ( - std::move(data), - IOstream::ASCII, - IOstream::currentVersion, - fName - ) - ); + realIsPtr.reset(new IListStream(std::move(data))); + realIsPtr->name() = fName; // Read header if (!headerIO.readHeader(realIsPtr())) @@ -643,16 +570,8 @@ Foam::autoPtr Foam::decomposedBlockData::readBlocks UIPstream is(UPstream::masterNo(), pBufs); is >> data; - realIsPtr.reset - ( - new IListStream - ( - std::move(data), - IOstream::ASCII, - IOstream::currentVersion, - fName - ) - ); + realIsPtr.reset(new IListStream(std::move(data))); + realIsPtr->name() = fName; } } @@ -661,26 +580,24 @@ Foam::autoPtr Foam::decomposedBlockData::readBlocks //- Set stream properties from realIsPtr on master // Scatter master header info - string ver; - string format; + string versionString; + label formatValue; unsigned labelByteSize; unsigned scalarByteSize; if (UPstream::master(comm)) { - ver = realIsPtr().version().str(); - OStringStream os; - os << realIsPtr().format(); - format = os.str(); + versionString = realIsPtr().version().str(); + formatValue = static_cast