From 500ec9dd122c56ddbc3e7b137217f5e1bb20463c Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Tue, 6 Sep 2022 09:30:27 +0200 Subject: [PATCH] ENH: more consistent order of ITstream constructor parameters --- .../test/DynamicList2/Test-DynamicList2.C | 6 +-- .../test/Polynomial/Test-Polynomial.C | 4 +- src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C | 8 ++-- src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H | 41 +++++++++++++++---- .../global/debug/simpleObjectRegistry.C | 8 ++-- 5 files changed, 46 insertions(+), 21 deletions(-) diff --git a/applications/test/DynamicList2/Test-DynamicList2.C b/applications/test/DynamicList2/Test-DynamicList2.C index b199e67579..c97d6248e1 100644 --- a/applications/test/DynamicList2/Test-DynamicList2.C +++ b/applications/test/DynamicList2/Test-DynamicList2.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -104,7 +104,7 @@ void readList { OTstream os; os << input; - ITstream is("input", os.tokens()); + ITstream is(os.tokens()); is >> output; } @@ -118,7 +118,7 @@ void readList { OTstream os; os << input; - ITstream is("input", os.tokens()); + ITstream is(os.tokens()); is >> output; } diff --git a/applications/test/Polynomial/Test-Polynomial.C b/applications/test/Polynomial/Test-Polynomial.C index 2ddf858ffe..286e2ef9e5 100644 --- a/applications/test/Polynomial/Test-Polynomial.C +++ b/applications/test/Polynomial/Test-Polynomial.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation - Copyright (C) 2020 OpenCFD Ltd. + Copyright (C) 2020-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -132,7 +132,7 @@ int main(int argc, char *argv[]) OTstream os; os << poly; - ITstream is("input", std::move(os.tokens())); + ITstream is(std::move(os.tokens())); is >> polyfunc; } diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C index fb3a491a3e..eb89216025 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C +++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C @@ -210,9 +210,9 @@ Foam::ITstream::ITstream Foam::ITstream::ITstream ( - const string& name, const UList& tokens, - IOstreamOption streamOpt + IOstreamOption streamOpt, + const string& name ) : Istream(streamOpt.format(), streamOpt.version()), @@ -227,9 +227,9 @@ Foam::ITstream::ITstream Foam::ITstream::ITstream ( - const string& name, List&& tokens, - IOstreamOption streamOpt + IOstreamOption streamOpt, + const string& name ) : Istream(streamOpt.format(), streamOpt.version()), diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H index c463bab8f2..c23c81bb97 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H +++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.H @@ -101,20 +101,20 @@ public: IOstreamOption streamOpt = IOstreamOption() ); - //- Copy construct from tokens, with given name - ITstream + //- Copy construct from tokens, optionally with given name + explicit ITstream ( - const string& name, const UList& tokens, - IOstreamOption streamOpt = IOstreamOption() + IOstreamOption streamOpt = IOstreamOption(), + const string& name = "input" ); - //- Move construct from tokens, with given name - ITstream + //- Move construct from tokens, optionally with given name + explicit ITstream ( - const string& name, List&& tokens, - IOstreamOption streamOpt = IOstreamOption() + IOstreamOption streamOpt = IOstreamOption(), + const string& name = "input" ); //- Construct token list by parsing the input character sequence @@ -145,6 +145,31 @@ public: ); + // Additional constructors + + //- Copy construct from tokens, with given name + ITstream + ( + const string& name, + const UList& tokens, + IOstreamOption streamOpt = IOstreamOption() + ) + : + ITstream(tokens, streamOpt, name) + {} + + //- Move construct from tokens, with given name + ITstream + ( + const string& name, + List&& tokens, + IOstreamOption streamOpt = IOstreamOption() + ) + : + ITstream(std::move(tokens), streamOpt, name) + {} + + //- Destructor virtual ~ITstream() = default; diff --git a/src/OpenFOAM/global/debug/simpleObjectRegistry.C b/src/OpenFOAM/global/debug/simpleObjectRegistry.C index 51efe739b3..70d7d5aff2 100644 --- a/src/OpenFOAM/global/debug/simpleObjectRegistry.C +++ b/src/OpenFOAM/global/debug/simpleObjectRegistry.C @@ -64,7 +64,7 @@ void Foam::simpleObjectRegistry::setValues IStringStream is(os.str()); // Or alternatively? - // ITstream is(name, dEntry.dict().tokens()); + // ITstream is(dEntry.dict().tokens()); for (simpleRegIOobject* obj : objects) { @@ -129,11 +129,11 @@ void Foam::simpleObjectRegistry::setNamedValue if (objPtr) { - // The generic interface requires an Istream. - ITstream is("", tokenList(Foam::one{}, tok)); - Log << name.c_str() << '=' << tok << nl; + // The generic interface requires an Istream. + ITstream is(tokenList(Foam::one{}, std::move(tok))); + const List& objects = *objPtr; for (simpleRegIOobject* obj : objects)