ENH: define singleton-style lookups for runTime selection, alias handling
- this makes the lookup and use of tables slightly cleaner and provides a hook for update (compat) messages The singleton-style method returns the function pointer directly, or nullptr on not-found. NEW access method (mnemonic: 'ctor' prefix for constructors) ``` auto* ctorPtr = dictionaryConstructorTable(modelType); if (!ctorPtr) { ... } return autoPtr<myModel>(ctorPtr(dict, ...)); ``` OLD method, which also still works, but without any compat handling: ``` auto ctorIter = dictionaryConstructorTablePtr_->cfind(modelType); if (!ctorIter.found()) { ... } return autoPtr<myModel>(ctorIter()(dict, ...)); ```
Showing
- src/OpenFOAM/db/runTimeSelection/construction/addToRunTimeSelectionTable.H 31 additions, 0 deletions...unTimeSelection/construction/addToRunTimeSelectionTable.H
- src/OpenFOAM/db/runTimeSelection/construction/runTimeSelectionTables.H 101 additions, 1 deletion...db/runTimeSelection/construction/runTimeSelectionTables.H
- src/OpenFOAM/db/runTimeSelection/memberFunctions/addToMemberFunctionSelectionTable.H 33 additions, 0 deletions...ction/memberFunctions/addToMemberFunctionSelectionTable.H
- src/OpenFOAM/db/runTimeSelection/memberFunctions/memberFunctionSelectionTables.H 19 additions, 3 deletions...Selection/memberFunctions/memberFunctionSelectionTables.H
Please register or sign in to comment