ListType Foam::renumber ( const UList<label>& oldToNew, const ListType& lst ) { // Create copy ListType newLst(lst.size()); forAll(lst, elemI) { if (lst[elemI] >= 0) { newLst[elemI] = oldToNew[lst[elemI]]; } } return newLst; }
StringListType Foam::subsetMatchingStrings ( const Matcher& matcher, const StringListType& lst, const bool invert ) { StringListType newLst(lst.size()); label nElem = 0; forAll(lst, elemI) { if (matcher.match(lst[elemI]) ? !invert : invert) { newLst[nElem++] = lst[elemI]; } } newLst.setSize(nElem); return newLst; }