mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
DEFEATURE: pointer dereferencing for HashTable iterator
- this largely reverts3f0f218d88and4ee65d12c4. 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:
committed by
Andrew Heather
parent
fc461a1cc6
commit
b6bf9129f6
@ -174,8 +174,7 @@ int main(int argc, char *argv[])
|
||||
Info<< "have " << k << nl
|
||||
<< " addr: " << name(*iter) << nl
|
||||
<< " info: " << (*iter)->info() << nl
|
||||
<< " info: " << iter->info() << nl
|
||||
<< " incr: " << iter->increment() << nl
|
||||
<< " incr: " << (*iter)->increment() << nl
|
||||
;
|
||||
}
|
||||
|
||||
@ -185,7 +184,6 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
Info<< "have " << k << nl
|
||||
<< " incr: " << (*iter2)->increment() << nl
|
||||
<< " incr: " << iter2->increment() << nl
|
||||
;
|
||||
}
|
||||
}
|
||||
@ -216,8 +214,7 @@ int main(int argc, char *argv[])
|
||||
Info<< "have " << k << nl
|
||||
<< " addr: " << name(*iter1) << nl
|
||||
<< " info: " << (*iter1)->info() << nl
|
||||
<< " info: " << iter1->info() << nl
|
||||
<< " incr: " << iter1->increment() << nl
|
||||
<< " incr: " << (*iter1)->increment() << nl
|
||||
;
|
||||
}
|
||||
|
||||
@ -227,7 +224,6 @@ int main(int argc, char *argv[])
|
||||
Info<< "have " << k << nl
|
||||
<< " addr: " << name(*iter2) << nl
|
||||
<< " info: " << (*iter2)->info() << nl
|
||||
<< " info: " << iter2->info() << nl
|
||||
// Good: does not compile
|
||||
// << " incr: " << iter2->increment() << nl
|
||||
;
|
||||
@ -239,7 +235,6 @@ int main(int argc, char *argv[])
|
||||
Info<< "have " << k << nl
|
||||
<< " addr: " << name(*iter3) << nl
|
||||
<< " info: " << (*iter3)->info() << nl
|
||||
<< " info: " << iter3->info() << nl
|
||||
// Good: does not compile
|
||||
// << " incr: " << iter3->increment() << nl
|
||||
;
|
||||
@ -276,7 +271,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
if (iter)
|
||||
{
|
||||
Info<< "got with " << iter->size() << nl;
|
||||
Info<< "got with " << (*iter).size() << nl;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -30,6 +30,7 @@ Description
|
||||
|
||||
#include "argList.H"
|
||||
#include "HashTable.H"
|
||||
#include "HashPtrTable.H"
|
||||
#include "Map.H"
|
||||
#include "cpuTime.H"
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user