ENH: add factory method readContents to IO containers
- useful when regular contents are to be read via an IOobject and returned. Eg, dictionary propsDict(IOdictionary::readContents(dictIO)); vs. dictionary propsDict(static_cast<dictionary&&>(IOdictionary(dictIO))); Commonly these would have simply been constructed directly as the IO container: eg, IOdictionary propsDict(dictIO); However, that style may not ensure proper move semantics for return types. Now, ===== labelList decomp(labelIOList::readContents(io)); ... something return decomp; ===== Previously, ===== labelIOList decomp(io); // Hope for the best... return decomp; // Or be explicit and ensure elision occurs... return labelList(std::move(static_cast<labelList&>(decomp))); ===== Note: labelList list(labelIOList(io)); looks like a good idea, but generally fails to compile
Showing
- applications/test/Function1/Test-Function1.C 5 additions, 1 deletionapplications/test/Function1/Test-Function1.C
- src/OpenFOAM/db/IOobject/IOobject.H 7 additions, 0 deletionssrc/OpenFOAM/db/IOobject/IOobject.H
- src/OpenFOAM/db/IOobject/IOobjectI.H 15 additions, 3 deletionssrc/OpenFOAM/db/IOobject/IOobjectI.H
- src/OpenFOAM/db/IOobject/IOobjectTemplates.C 1 addition, 1 deletionsrc/OpenFOAM/db/IOobject/IOobjectTemplates.C
- src/OpenFOAM/db/IOobjects/IOField/IOField.C 18 additions, 1 deletionsrc/OpenFOAM/db/IOobjects/IOField/IOField.C
- src/OpenFOAM/db/IOobjects/IOField/IOField.H 7 additions, 1 deletionsrc/OpenFOAM/db/IOobjects/IOField/IOField.H
- src/OpenFOAM/db/IOobjects/IOList/IOList.C 18 additions, 1 deletionsrc/OpenFOAM/db/IOobjects/IOList/IOList.C
- src/OpenFOAM/db/IOobjects/IOList/IOList.H 7 additions, 1 deletionsrc/OpenFOAM/db/IOobjects/IOList/IOList.H
- src/OpenFOAM/db/IOobjects/IOMap/IOMap.C 18 additions, 1 deletionsrc/OpenFOAM/db/IOobjects/IOMap/IOMap.C
- src/OpenFOAM/db/IOobjects/IOMap/IOMap.H 7 additions, 1 deletionsrc/OpenFOAM/db/IOobjects/IOMap/IOMap.H
- src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.C 18 additions, 1 deletionsrc/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.C
- src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.H 9 additions, 3 deletionssrc/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.H
- src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C 17 additions, 1 deletionsrc/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.C
- src/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.H 9 additions, 3 deletionssrc/OpenFOAM/db/IOobjects/IOdictionary/IOdictionary.H
- src/OpenFOAM/db/IOobjects/IOdictionary/baseIOdictionary.H 2 additions, 2 deletionssrc/OpenFOAM/db/IOobjects/IOdictionary/baseIOdictionary.H
- src/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.C 17 additions, 1 deletionsrc/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.C
- src/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.H 9 additions, 3 deletionssrc/OpenFOAM/db/IOobjects/IOdictionary/localIOdictionary.H
- src/OpenFOAM/db/IOobjects/IOdictionary/unwatchedIOdictionary.H 2 additions, 2 deletions...penFOAM/db/IOobjects/IOdictionary/unwatchedIOdictionary.H
- src/OpenFOAM/db/IOobjects/rawIOField/rawIOField.C 18 additions, 1 deletionsrc/OpenFOAM/db/IOobjects/rawIOField/rawIOField.C
- src/OpenFOAM/db/IOobjects/rawIOField/rawIOField.H 7 additions, 1 deletionsrc/OpenFOAM/db/IOobjects/rawIOField/rawIOField.H
Please register or sign in to comment