ENH: change wordRes to be a List of wordRe instead of a wrapper (issue #259)

- this permits direct storage of a list with additional matcher
  capabilities

- provide wordRes::matcher class for similar behaviour as previously
This commit is contained in:
Mark Olesen
2018-02-21 10:05:30 +01:00
parent 03b287ed24
commit c126464d1c
113 changed files with 572 additions and 801 deletions

View File

@ -43,26 +43,26 @@ Foam::label Foam::caseInfo::findPatchConditionID
// Assign condition according to last condition applied, wins
forAllReverse(conditionNames_, conditionI)
{
const wordReList& patchNames = patchNames_[conditionI];
const wordRes& patchNames = patchNames_[conditionI];
forAll(patchNames, nameI)
for (const wordRe& select : patchNames)
{
if (patchNames[nameI] == patchName)
if (select == patchName)
{
// Check for explicit match
// Literal match
return conditionI;
}
else if (patchNames[nameI].match(patchName))
else if (select.match(patchName))
{
// Check wildcards
// Regex match
return conditionI;
}
else
{
// Check for group match
forAll(patchGroups, groupI)
for (const word& groupName : patchGroups)
{
if (patchNames[nameI] == patchGroups[groupI])
if (select == groupName)
{
return conditionI;
}
@ -160,7 +160,7 @@ void Foam::caseInfo::checkPatches
}
const Foam::List<Foam::wordReList>& Foam::caseInfo::patchNames() const
const Foam::List<Foam::wordRes>& Foam::caseInfo::patchNames() const
{
return patchNames_;
}