ENH: improvements to stringOps::expand operations
- add toScalar evaluation, embedded as "${{EXPR}}". For example, "repeat ${{5 * 7}} times or ${{ pow(3, 10) }}" - use direct string concatenation if primitive entry is only a string type. This prevents spurious quotes from appearing in the expansion. radius "(2+4)"; angle "3*15"; #eval "$radius*sin(degToRad($angle))"; We want to have '(2+4)*sin(degToRad(3*15))' and not '"(2+4)"*sin(degToRad("3*15"))' ENH: code refactoring - refactored expansion code with low-level service routines now belonging to file-scope. All expansion routines use a common multi-parameter backend to handle with/without dictionary etc. This removes a large amount of code duplication.
Showing
- applications/test/dictionary/Test-dictionary.C 2 additions, 2 deletionsapplications/test/dictionary/Test-dictionary.C
- applications/test/dictionary/testDictEval1 8 additions, 3 deletionsapplications/test/dictionary/testDictEval1
- applications/test/dictionary/testDictEval2 62 additions, 0 deletionsapplications/test/dictionary/testDictEval2
- applications/test/string2/Test-string2.C 56 additions, 0 deletionsapplications/test/string2/Test-string2.C
- src/OpenFOAM/db/dictionary/functionEntries/evalEntry/evalEntry.C 3 additions, 1 deletion...nFOAM/db/dictionary/functionEntries/evalEntry/evalEntry.C
- src/OpenFOAM/primitives/strings/stringOps/stringOps.C 436 additions, 492 deletionssrc/OpenFOAM/primitives/strings/stringOps/stringOps.C
- src/OpenFOAM/primitives/strings/stringOps/stringOps.H 107 additions, 185 deletionssrc/OpenFOAM/primitives/strings/stringOps/stringOps.H
Please register or sign in to comment