ENH: use readOption to fine-tune dictionary reading

- previously had 'mandatory' (bool) for advanced control of reading
  dictionary entries but its meaning was unclear in the calling code
  without extra code comments.

  Now use IOobjectOption::readOption instead, which allows further
  options (ie, NO_READ) and is more transparent as to its purpose in
  the code than a true/false bool flag was.

  This is a minor breaking change (infrequent, advanced usage only)

- minor code cleanup in dictionary lookup methods
This commit is contained in:
Mark Olesen
2022-09-30 15:43:01 +02:00
parent d938e01d7a
commit 7eda6de6f4
21 changed files with 279 additions and 222 deletions

View File

@ -74,10 +74,10 @@ bool Foam::expressions::exprString::readEntry
(
const word& keyword,
const dictionary& dict,
bool mandatory
IOobjectOption::readOption readOpt
)
{
const bool ok = dict.readEntry(keyword, *this, keyType::LITERAL, mandatory);
const bool ok = dict.readEntry(keyword, *this, keyType::LITERAL, readOpt);
if (ok && !empty())
{

View File

@ -175,7 +175,7 @@ public:
(
const word& keyword, //!< Lookup key. Uses LITERAL (not REGEX)
const dictionary& dict,
bool mandatory = true
IOobjectOption::readOption readOpt = IOobjectOption::MUST_READ
);
//- Read/expand optional entry with dictionary variables,

View File

@ -195,7 +195,7 @@ inline bool Foam::expressions::exprString::readIfPresent
const dictionary& dict
)
{
return readEntry(key, dict, false); // non-mandatory
return readEntry(key, dict, IOobjectOption::READ_IF_PRESENT);
}