ENH: consolidate handling of mandatory/optional command arguments

- for some special cases we wish to mark command-line arguments as
  being optional, in order to do our own treatment. For example,
  when an arbitrary number of arguments should be allowed.

  Now tag this situation with argList::noMandatoryArgs().
  The argList::argsMandatory() query can then be used in any further
  logic, including the standard default argument checking.

- with the new default check, can consolidate the special-purpose

      "setRootCaseNonMandatoryArgs.H"

  into the regular

      "setRootCase.H"

- revert to a simple "setRootCase.H" and move all the listing related
  bits to a "setRootCaseLists.H" file. This leaves the information
  available for solvers, or whoever else wishes, without being
  introduced everywhere.

- add include guards and scoping to the listing files and rename to
  something less generic.

     listOptions.H -> setRootCaseListOptions.H
     listOutput.H  -> setRootCaseListOutput.H
This commit is contained in:
Mark Olesen
2018-12-13 01:45:09 +01:00
parent 00ec58a141
commit 5d9e278e92
110 changed files with 405 additions and 368 deletions

View File

@ -144,7 +144,8 @@ int main(int argc, char *argv[])
"Dictionary file with tolerances"
);
// The arguments are non-mandatory when using dictionary mode
// The arguments are optional (non-mandatory) when using dictionary mode
argList::noMandatoryArgs();
argList::addArgument
(
"master",
@ -156,7 +157,7 @@ int main(int argc, char *argv[])
"The slave patch name (non-dictionary mode)"
);
#include "setRootCaseNonMandatoryArgs.H"
#include "setRootCase.H"
// We now handle checking args and general sanity etc.
const bool useCommandArgs = (args.size() > 1);