diff --git a/applications/test/DynamicList2/Test-DynamicList2.C b/applications/test/DynamicList2/Test-DynamicList2.C index b199e67579479386f50b1e98436ed12d7f20f95c..c97d6248e16b01f63a11fc36f355b5bea111e175 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 2ddf858ffe0ca3244f6889f17480ff23d63cc1ae..286e2ef9e514a8071c20d00e9e70b00811a3983a 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 fb3a491a3e5db83ce3fdccb094e9d263d7903dbf..eb89216025f8f167eacc18631b160c221d3e7364 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<token>& 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<token>&& 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 c463bab8f29f39d23357b9f629c96c23382ff55b..c23c81bb978260982659cd3eb8d9bea3de4f9808 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<token>& 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<token>&& 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<token>& tokens, + IOstreamOption streamOpt = IOstreamOption() + ) + : + ITstream(tokens, streamOpt, name) + {} + + //- Move construct from tokens, with given name + ITstream + ( + const string& name, + List<token>&& 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 51efe739b397c865439084185fe78dcb7606387e..70d7d5aff20766cb08e2be5adf72334e334d5a55 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<simpleRegIOobject*>& objects = *objPtr; for (simpleRegIOobject* obj : objects)