DEFEATURE: pointer dereferencing for HashTable iterator

- this largely reverts 3f0f218d88 and 4ee65d12c4.

  Consistent addressing with support for wrapped pointer types (eg,
  autoPtr, std::unique_ptr) has proven to be less robust than desired.
  Thus rescind HashTable iterator '->' dereferencing (from APR-2019).
This commit is contained in:
Mark Olesen
2019-09-27 19:45:54 +02:00
committed by Andrew Heather
parent fc461a1cc6
commit b6bf9129f6
20 changed files with 112 additions and 159 deletions

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd |
\\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
| Copyright (C) 2011-2016 OpenFOAM Foundation
@ -58,7 +58,7 @@ void RotateFields
forAllConstIters(fields, fieldIter)
{
Info<< " Rotating " << fieldIter->name() << endl;
Info<< " Rotating " << (*fieldIter)->name() << endl;
GeometricField fld(*fieldIter(), mesh);
transform(fld, dimensionedTensor(rotT), fld);

View File

@ -360,7 +360,7 @@ int main(int argc, char *argv[])
forAllConstIters(objects, iter)
{
const word& headerClassName = iter->headerClassName();
const word& headerClassName = (*iter)->headerClassName();
if
(
@ -390,11 +390,11 @@ int main(int argc, char *argv[])
)
{
Info<< " Reading " << headerClassName
<< " : " << iter->name() << endl;
<< " : " << (*iter)->name() << endl;
fieldDictionary fDict(*iter(), headerClassName);
Info<< " Writing " << iter->name() << endl;
Info<< " Writing " << (*iter)->name() << endl;
fDict.regIOobject::write();
}
}

View File

@ -73,8 +73,8 @@ void Foam::vtkPVFoam::convertVolFields()
Info<< "<beg> " << FUNCTION_NAME << nl;
forAllConstIters(objects, iter)
{
Info<< " " << iter->name()
<< " == " << iter->objectPath() << nl;
Info<< " " << (*iter)->name()
<< " == " << (*iter)->objectPath() << nl;
}
printMemory();
}
@ -149,8 +149,8 @@ void Foam::vtkPVFoam::convertPointFields()
Info<< "<beg> convert volume -> point fields" << nl;
forAllConstIters(objects, iter)
{
Info<< " " << iter->name()
<< " == " << iter->objectPath() << nl;
Info<< " " << (*iter)->name()
<< " == " << (*iter)->objectPath() << nl;
}
printMemory();
}
@ -205,8 +205,8 @@ void Foam::vtkPVFoam::convertAreaFields()
Info<< "<beg> " << FUNCTION_NAME << nl;
forAllConstIters(objects, iter)
{
Info<< " " << iter->name()
<< " == " << iter->objectPath() << nl;
Info<< " " << (*iter)->name()
<< " == " << (*iter)->objectPath() << nl;
}
printMemory();
}
@ -282,8 +282,8 @@ void Foam::vtkPVFoam::convertLagrangianFields()
Info<< "converting OpenFOAM lagrangian fields" << nl;
forAllConstIters(objects, iter)
{
Info<< " " << iter->name()
<< " == " << iter->objectPath() << nl;
Info<< " " << (*iter)->name()
<< " == " << (*iter)->objectPath() << nl;
}
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd |
\\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
| Copyright (C) 2011-2017 OpenFOAM Foundation
@ -55,7 +55,7 @@ void MapConsistentVolFields
forAllConstIters(fields, fieldIter)
{
Info<< " interpolating " << fieldIter->name()
Info<< " interpolating " << (*fieldIter)->name()
<< endl;
// Read field. Do not auto-load old-time field
@ -63,7 +63,7 @@ void MapConsistentVolFields
IOobject fieldTargetIOobject
(
fieldIter->name(),
(*fieldIter)->name(),
meshTarget.time().timeName(),
meshTarget,
IOobject::MUST_READ,

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd |
\\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
| Copyright (C) 2011-2016 OpenFOAM Foundation
@ -65,7 +65,7 @@ void MapLagrangianFields
forAllConstIters(fields, fieldIter)
{
Info<< " mapping lagrangian field "
<< fieldIter->name() << endl;
<< (*fieldIter)->name() << endl;
// Read field (does not need mesh)
IOField<Type> fieldSource(*fieldIter());
@ -75,7 +75,7 @@ void MapLagrangianFields
(
IOobject
(
fieldIter->name(),
(*fieldIter)->name(),
meshTarget.time().timeName(),
cloud::prefix/cloudName,
meshTarget,
@ -103,7 +103,7 @@ void MapLagrangianFields
forAllConstIters(fieldFields, fieldIter)
{
Info<< " mapping lagrangian fieldField "
<< fieldIter->name() << endl;
<< (*fieldIter)->name() << endl;
// Read field (does not need mesh)
IOField<Field<Type>> fieldSource(*fieldIter());
@ -114,7 +114,7 @@ void MapLagrangianFields
(
IOobject
(
fieldIter->name(),
(*fieldIter)->name(),
meshTarget.time().timeName(),
cloud::prefix/cloudName,
meshTarget,
@ -142,7 +142,7 @@ void MapLagrangianFields
forAllConstIters(fieldFields, fieldIter)
{
Info<< " mapping lagrangian fieldField "
<< fieldIter->name() << endl;
<< (*fieldIter)->name() << endl;
// Read field (does not need mesh)
CompactIOField<Field<Type>, Type> fieldSource(*fieldIter());
@ -152,7 +152,7 @@ void MapLagrangianFields
(
IOobject
(
fieldIter->name(),
(*fieldIter)->name(),
meshTarget.time().timeName(),
cloud::prefix/cloudName,
meshTarget,

View File

@ -57,7 +57,7 @@ void MapVolFields
{
IOobject fieldTargetIOobject
(
fieldIter->name(),
(*fieldIter)->name(),
meshTarget.time().timeName(),
meshTarget,
IOobject::MUST_READ,
@ -66,7 +66,7 @@ void MapVolFields
if (fieldTargetIOobject.typeHeaderOk<fieldType>(true))
{
Info<< " interpolating " << fieldIter->name() << endl;
Info<< " interpolating " << (*fieldIter)->name() << endl;
// Read field fieldSource. Do not auto-load old-time fields
fieldType fieldSource(*fieldIter(), meshSource, false);

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd |
\\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
| Copyright (C) 2011-2015 OpenFOAM Foundation
@ -43,7 +43,7 @@ void UnMapped(const IOobjectList& objects)
forAllConstIters(fields, fieldIter)
{
mvBak(fieldIter->objectPath(), "unmapped");
mvBak((*fieldIter)->objectPath(), "unmapped");
}
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd |
\\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
| Copyright (C) 2011-2016 OpenFOAM Foundation
@ -62,7 +62,7 @@ void MapLagrangianFields
forAllConstIters(fields, fieldIter)
{
const word& fieldName = fieldIter->name();
const word& fieldName = (*fieldIter)->name();
Info<< " mapping lagrangian field " << fieldName << endl;
@ -101,7 +101,7 @@ void MapLagrangianFields
forAllConstIters(fieldFields, fieldIter)
{
const word& fieldName = fieldIter->name();
const word& fieldName = (*fieldIter)->name();
Info<< " mapping lagrangian fieldField " << fieldName << endl;
@ -153,7 +153,7 @@ void MapLagrangianFields
forAllConstIters(fieldFields, fieldIter)
{
const word& fieldName = fieldIter->name();
const word& fieldName = (*fieldIter)->name();
Info<< " mapping lagrangian fieldField " << fieldName << endl;

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd |
\\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
| Copyright (C) 2011-2015 OpenFOAM Foundation
@ -43,7 +43,7 @@ void UnMapped(const IOobjectList& objects)
forAllConstIters(fields, fieldIter)
{
mvBak(fieldIter->objectPath(), "unmapped");
mvBak((*fieldIter)->objectPath(), "unmapped");
}
}