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.
This commit is contained in:
Henry Weller
2019-05-25 17:40:39 +01:00
parent 0889ff91c7
commit 30bea84fac
323 changed files with 3238 additions and 2500 deletions

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -334,7 +334,7 @@ int main(int argc, char *argv[])
IOobject::NO_WRITE,
false
),
surf.xfer()
move(surf)
);
Info<< "writing surfMesh as well: " << surfOut.objectPath() << endl;