From 9dc361dae9b5d31d1cb679221f0e2f0ff384701e Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Mon, 8 Jan 2018 12:38:53 +0100 Subject: [PATCH] STYLE: avoid unnecessary use of optionLookup - direct parsing of -funcs to ITstream. - use direct lookup when the option is a word/string --- .../finiteArea/makeFaMesh/makeFaMesh.C | 4 +- .../changeDictionary/changeDictionary.C | 5 +- .../functionObjectList/functionObjectList.C | 118 +++++++++--------- 3 files changed, 62 insertions(+), 65 deletions(-) diff --git a/applications/utilities/finiteArea/makeFaMesh/makeFaMesh.C b/applications/utilities/finiteArea/makeFaMesh/makeFaMesh.C index 87f803c57b8..fab99d7f2a2 100644 --- a/applications/utilities/finiteArea/makeFaMesh/makeFaMesh.C +++ b/applications/utilities/finiteArea/makeFaMesh/makeFaMesh.C @@ -319,9 +319,9 @@ int main(int argc, char *argv[]) } } - if (args.optionFound("addEmptyPatch")) + word emptyPatchName; + if (args.optionReadIfPresent("addEmptyPatch", emptyPatchName)) { - word emptyPatchName(args.optionLookup("addEmptyPatch")()); dictionary emptyPatchDict; emptyPatchDict.add("type", "empty"); emptyPatchDict.add("edgeLabels", labelList()); diff --git a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C index c6ef4bd6ff9..52215a5aec9 100644 --- a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C +++ b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C @@ -498,7 +498,7 @@ int main(int argc, char *argv[]) } - fileName regionPrefix = ""; + fileName regionPrefix; if (regionName != fvMesh::defaultRegion) { regionPrefix = regionName; @@ -520,8 +520,7 @@ int main(int argc, char *argv[]) if (args.optionFound("subDict")) { - word subDictName(args.optionLookup("subDict")()); - replaceDictsPtr = &dict.subDict(subDictName); + replaceDictsPtr = &dict.subDict(args["subDict"]); } const dictionary& replaceDicts = *replaceDictsPtr; diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C index bb1d7c7e9bf..824f24db01d 100644 --- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C +++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015-2017 OpenCFD Ltd. + \\/ M anipulation | Copyright (C) 2015-2018 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -85,7 +85,7 @@ Foam::functionObject* Foam::functionObjectList::remove oldIndex = fnd(); // Retrieve the pointer and remove it from the old list - ptr = this->set(oldIndex, 0).ptr(); + ptr = this->set(oldIndex, nullptr).ptr(); indices_.erase(fnd); } else @@ -106,11 +106,11 @@ void Foam::functionObjectList::listDir // Search specified directory for functionObject configuration files { fileNameList foFiles(fileHandler().readDir(dir)); - forAll(foFiles, f) + for (const fileName& f : foFiles) { - if (foFiles[f].ext().empty()) + if (f.ext().empty()) { - foMap.insert(foFiles[f]); + foMap.insert(f); } } } @@ -118,9 +118,9 @@ void Foam::functionObjectList::listDir // Recurse into sub-directories { fileNameList foDirs(fileHandler().readDir(dir, fileName::DIRECTORY)); - forAll(foDirs, fd) + for (const fileName& d : foDirs) { - listDir(dir/foDirs[fd], foMap); + listDir(dir/d, foMap); } } } @@ -132,9 +132,9 @@ void Foam::functionObjectList::list() fileNameList etcDirs(findEtcDirs(functionObjectDictPath)); - forAll(etcDirs, ed) + for (const fileName& d : etcDirs) { - listDir(etcDirs[ed], foMap); + listDir(d, foMap); } Info<< nl @@ -154,17 +154,15 @@ Foam::fileName Foam::functionObjectList::findDict(const word& funcName) { return dictFile; } - else - { - fileNameList etcDirs(findEtcDirs(functionObjectDictPath)); - forAll(etcDirs, i) + fileNameList etcDirs(findEtcDirs(functionObjectDictPath)); + + for (const fileName& d : etcDirs) + { + dictFile = search(funcName, d); + if (!dictFile.empty()) { - dictFile = search(funcName, etcDirs[i]); - if (!dictFile.empty()) - { - return dictFile; - } + return dictFile; } } @@ -390,8 +388,6 @@ Foam::autoPtr<Foam::functionObjectList> Foam::functionObjectList::New HashSet<wordRe>& requiredFields ) { - autoPtr<functionObjectList> functionsPtr; - controlDict.add ( dictionaryEntry("functions", controlDict, dictionary::null) @@ -399,64 +395,66 @@ Foam::autoPtr<Foam::functionObjectList> Foam::functionObjectList::New dictionary& functionsDict = controlDict.subDict("functions"); - word region = word::null; + word region; + args.optionReadIfPresent("region", region); - // Set the region name if specified - if (args.optionFound("region")) - { - region = args["region"]; - } + bool modifiedControlDict = false; - if - ( - args.optionFound("dict") - || args.optionFound("func") - || args.optionFound("funcs") - ) + if (args.optionFound("dict")) { - if (args.optionFound("dict")) - { - controlDict.merge + modifiedControlDict = true; + + controlDict.merge + ( + IOdictionary ( - IOdictionary + IOobject ( - IOobject - ( - args["dict"], - runTime, - IOobject::MUST_READ_IF_MODIFIED - ) + args["dict"], + runTime, + IOobject::MUST_READ_IF_MODIFIED ) - ); - } + ) + ); + } + + if (args.optionFound("func")) + { + modifiedControlDict = true; + + readFunctionObject + ( + args["func"], + functionsDict, + requiredFields, + region + ); + } + + if (args.optionFound("funcs")) + { + modifiedControlDict = true; + + ITstream is("funcs", args["funcs"]); + wordList funcNames(is); - if (args.optionFound("func")) + for (const word& funcName : funcNames) { readFunctionObject ( - args["func"], + funcName, functionsDict, requiredFields, region ); } + } - if (args.optionFound("funcs")) - { - wordList funcs(args.optionLookup("funcs")()); - forAll(funcs, i) - { - readFunctionObject - ( - funcs[i], - functionsDict, - requiredFields, - region - ); - } - } + autoPtr<functionObjectList> functionsPtr; + if (modifiedControlDict) + { functionsPtr.reset(new functionObjectList(runTime, controlDict)); } else -- GitLab