View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003218 | OpenFOAM | Feature | public | 2019-04-09 09:51 | 2019-05-25 20:12 |
Reporter | wwzhao | Assigned To | henry | ||
Priority | none | Severity | feature | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | GNU/Linux | OS | Ubuntu | OS Version | 15.04 |
Product Version | dev | ||||
Fixed in Version | dev | ||||
Summary | 0003218: Use C++11 move semantics for containers | ||||
Description | Currently, the code relies heavily on Xfer class template. It would be nice to use C++11 move semantics instead. | ||||
Tags | No tags attached. | ||||
|
Sure, but OpenFOAM is 1.6million lines which I started writing in 1989 and predates STL by many years and the move semantics by decades. Consistency is everything in maintainability so in order to replace Xfer and possibly even tmp with the C++11 move semantics OpenFOAM would require a massive rewrite. While this would be excellent and the code would certainly be improved by the change I have no idea how such huge maintenance task could be funded, we just don't receive anything like the funding necessary: https://openfoam.org/news/funding-2018/ https://openfoam.org/news/funding-2019/ https://openfoam.org/maintenance/ |
|
Requires maintenance funding. |
|
commit 30bea84facb2cc6190abd767b81c806ff2dd24ea (HEAD -> master, origin/master, origin/HEAD) Author: Henry Weller <http://openfoam.org> Date: Sat May 25 17:40:39 2019 +0100 C++11 conformance and consistency: Added "move" constructors and assignment operators to OpenFOAM containers Replaced all uses of complex Xfer class with C++11 "move" constructors and assignment operators. Removed the now redundant Xfer class. This substantial changes improves consistency between OpenFOAM and the C++11 STL containers and algorithms, reduces memory allocation and copy overhead when returning containers from functions and simplifies maintenance of the core libraries significantly. |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-04-09 09:51 | wwzhao | New Issue | |
2019-04-09 10:03 | henry | Note Added: 0010426 | |
2019-04-09 10:04 | henry | Priority | low => none |
2019-04-09 10:04 | henry | Severity | trivial => feature |
2019-04-11 11:40 | henry | Assigned To | => henry |
2019-04-11 11:40 | henry | Status | new => closed |
2019-04-11 11:40 | henry | Resolution | open => suspended |
2019-04-11 11:40 | henry | Note Added: 0010429 | |
2019-05-25 20:12 | henry | Status | closed => resolved |
2019-05-25 20:12 | henry | Resolution | suspended => fixed |
2019-05-25 20:12 | henry | Fixed in Version | => dev |
2019-05-25 20:12 | henry | Note Added: 0010493 |