From 37e248c74bbb6390727ab9d46f3893799085a886 Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@esi-group.com>
Date: Thu, 22 Feb 2018 11:19:47 +0100
Subject: [PATCH] STYLE: consistent use of wordHashSet instead of HashSet<word>

- the wordHashSet typedef is always available when HashSet has been
  included.

- use default HashTable key (word) instead of explicitly mentioning it
---
 .../blendingMethods/hyperbolic/hyperbolic.H   |  2 +-
 .../blendingMethods/linear/linear.H           |  6 ++---
 .../phaseSystems/phaseSystem/phaseSystem.H    |  2 +-
 .../blendingMethods/hyperbolic/hyperbolic.H   |  2 +-
 .../blendingMethods/linear/linear.H           |  6 ++---
 .../twoPhaseSystem/twoPhaseSystem.H           |  2 +-
 .../fluent3DMeshToFoam/fluent3DMeshToFoam.L   | 10 +++----
 .../conformationSurfaces.C                    |  2 +-
 .../generation/snappyHexMesh/snappyHexMesh.C  |  2 +-
 .../mesh/manipulation/checkMesh/checkMesh.C   |  2 +-
 .../mesh/manipulation/checkMesh/writeFields.C |  2 +-
 .../mesh/manipulation/checkMesh/writeFields.H |  4 +--
 .../createBaffles/createBaffles.C             |  8 +++---
 .../manipulation/createPatch/createPatch.C    |  4 +--
 .../manipulation/setsToZones/setsToZones.C    |  2 +-
 .../helpTypes/helpBoundary/helpBoundary.C     |  6 ++---
 .../foamToTecplot360/foamToTecplot360.C       |  7 ++---
 .../foamToTecplot360/readFields.C             |  2 +-
 .../foamToTecplot360/readFields.H             |  2 +-
 .../dataConversion/foamToVTK/findClouds.H     |  2 +-
 .../dataConversion/foamToVTK/readFields.C     |  4 +--
 .../dataConversion/foamToVTK/readFields.H     |  2 +-
 .../temporalInterpolate/temporalInterpolate.C | 12 ++++-----
 .../postProcessing/postProcess/postProcess.C  |  2 +-
 .../changeDictionary/changeDictionary.C       | 27 +++++++++----------
 .../preProcessing/mapFieldsPar/MapMeshes.H    |  2 +-
 .../preProcessing/mapFieldsPar/MapVolFields.H |  2 +-
 .../preProcessing/mapFieldsPar/mapFieldsPar.C |  6 ++---
 .../surface/surfaceCheck/surfaceCheck.C       |  5 ++--
 .../functionObjectList/functionObjectList.C   |  4 +--
 .../functionObjectList/functionObjectList.H   |  2 +-
 src/OpenFOAM/fields/ReadFields/ReadFields.C   |  6 ++---
 src/OpenFOAM/fields/ReadFields/ReadFields.H   |  4 +--
 .../fields/ReadFields/ReadFieldsTemplates.C   | 12 ++++-----
 .../polyBoundaryMesh/polyBoundaryMesh.C       |  2 +-
 .../fvMeshDistribute/fvMeshDistribute.C       |  2 +-
 .../writeDictionary/writeDictionary.C         |  2 +-
 .../pairPatchAgglomeration.C                  |  3 ++-
 ...polatedDisplacementPointPatchVectorField.C |  2 +-
 .../meshRefinement/meshRefinement.H           |  6 ++---
 .../refinementSurfaces/refinementSurfaces.C   |  2 +-
 .../shellSurfaces/shellSurfaces.C             |  2 +-
 src/meshTools/edgeMesh/edgeMesh.C             |  4 +--
 .../searchableSurfaces/searchableSurfaces.C   |  2 +-
 .../surfaceIntersection/surfaceIntersection.C |  2 +-
 .../surfaceIntersectionFuncs.C                |  3 ++-
 .../reconstruct/fvFieldReconstructor.H        |  6 ++---
 .../fvFieldReconstructorReconstructFields.C   |  6 ++---
 .../reconstruct/pointFieldReconstructor.H     |  2 +-
 ...pointFieldReconstructorReconstructFields.C |  2 +-
 .../reconstruct/reconstructLagrangian.H       |  4 +--
 .../reconstruct/reconstructLagrangianFields.C |  4 +--
 .../rigidBodyModel/rigidBodyModel.H           |  2 +-
 .../surfaceFormats/nas/NASsurfaceFormat.C     |  2 +-
 54 files changed, 108 insertions(+), 117 deletions(-)

diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.H
index c6d71c9dca4..7f62628ca36 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.H
@@ -54,7 +54,7 @@ class hyperbolic
     // Private data
 
         //- Minimum fraction of phases which can be considered continuous
-        HashTable<dimensionedScalar, word, word::hash> minContinuousAlpha_;
+        HashTable<dimensionedScalar> minContinuousAlpha_;
 
         //- Width of the transition
         const dimensionedScalar transitionAlphaScale_;
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.H
index 16b22a7bb48..13072bf5453 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.H
@@ -54,12 +54,10 @@ class linear
     // Private data
 
         //- Minimum fraction of phases which can be considered fully continuous
-        HashTable<dimensionedScalar, word, word::hash>
-            minFullyContinuousAlpha_;
+        HashTable<dimensionedScalar> minFullyContinuousAlpha_;
 
         //- Minimum fraction of phases which can be considered partly continuous
-        HashTable<dimensionedScalar, word, word::hash>
-            minPartlyContinuousAlpha_;
+        HashTable<dimensionedScalar> minPartlyContinuousAlpha_;
 
 
 public:
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H
index 9bfaebd9f7a..8e46adc9192 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H
@@ -134,7 +134,7 @@ protected:
             phasePairTable;
 
         typedef
-            HashTable<autoPtr<blendingMethod>, word, word::hash>
+            HashTable<autoPtr<blendingMethod>>
             blendingMethodTable;
 
         typedef
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.H
index b45f0f766e4..f518d7f0835 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.H
@@ -54,7 +54,7 @@ class hyperbolic
     // Private data
 
         //- Maximum fraction of phases which can be considered dispersed
-        HashTable<dimensionedScalar, word, word::hash> maxDispersedAlpha_;
+        HashTable<dimensionedScalar> maxDispersedAlpha_;
 
         //- Width of the transition
         const dimensionedScalar transitionAlphaScale_;
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/linear/linear.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/linear/linear.H
index e041b39faae..54dcc73ecf3 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/linear/linear.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/BlendedInterfacialModel/blendingMethods/linear/linear.H
@@ -54,12 +54,10 @@ class linear
     // Private data
 
         //- Maximum fraction of phases which can be considered fully dispersed
-        HashTable<dimensionedScalar, word, word::hash>
-            maxFullyDispersedAlpha_;
+        HashTable<dimensionedScalar> maxFullyDispersedAlpha_;
 
         //- Maximum fraction of phases which can be considered partly dispersed
-        HashTable<dimensionedScalar, word, word::hash>
-            maxPartlyDispersedAlpha_;
+        HashTable<dimensionedScalar> maxPartlyDispersedAlpha_;
 
 
 public:
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H
index 225bf34f620..ed1da784607 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H
@@ -94,7 +94,7 @@ class twoPhaseSystem
         autoPtr<orderedPhasePair> pair2In1_;
 
         //- Blending methods
-        HashTable<autoPtr<blendingMethod>, word, word::hash> blendingMethods_;
+        HashTable<autoPtr<blendingMethod>> blendingMethods_;
 
         //- Drag model
         autoPtr<BlendedInterfacialModel<dragModel>> drag_;
diff --git a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L
index 69fd78f75d5..22e572370ea 100644
--- a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L
+++ b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L
@@ -103,7 +103,7 @@ DynamicList<label> cellGroupType;
 bool cubitFile = false;
 
 
-void uniquify(word& name, HashSet<word>& patchNames)
+void uniquify(word& name, wordHashSet& patchNames)
 {
     if (!patchNames.found(name))
     {
@@ -929,7 +929,7 @@ int main(int argc, char *argv[])
     // Foam patch type for Fluent zone type
     // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    HashSet<word> fluentGroupToFoamPatch;
+    wordHashSet fluentGroupToFoamPatch;
     fluentGroupToFoamPatch.insert("wall");
     fluentGroupToFoamPatch.insert("fan");
 
@@ -1040,7 +1040,7 @@ int main(int argc, char *argv[])
     // ~~~~~~~~~~~~~~~~~
 
     List<polyPatch*> newPatches(patchIDs.size());
-    HashSet<word> patchNames;
+    wordHashSet patchNames;
 
     forAll(patchIDs, patchi)
     {
@@ -1138,7 +1138,7 @@ int main(int argc, char *argv[])
 
     // Cell zones
     mesh.cellZones().setSize(cellZoneIDs.size());
-    HashSet<word> cellZoneNames;
+    wordHashSet cellZoneNames;
 
     forAll(cellZoneIDs, cellZonei)
     {
@@ -1167,7 +1167,7 @@ int main(int argc, char *argv[])
 
     // Face zones
     mesh.faceZones().setSize(faceZoneIDs.size());
-    HashSet<word> faceZoneNames;
+    wordHashSet faceZoneNames;
 
     forAll(faceZoneIDs, faceZonei)
     {
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C
index d453a0f4ed7..327eaa3332f 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C
@@ -331,7 +331,7 @@ Foam::conformationSurfaces::conformationSurfaces
     List<sideVolumeType> globalVolumeTypes(surfI);
     List<Map<sideVolumeType>> regionVolumeTypes(surfI);
 
-    HashSet<word> unmatchedKeys(surfacesDict.toc());
+    wordHashSet unmatchedKeys(surfacesDict.toc());
 
     surfI = 0;
     forAll(allGeometry_.names(), geomI)
diff --git a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C
index 44b1266aa5e..4b4b4690156 100644
--- a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C
+++ b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C
@@ -118,7 +118,7 @@ autoPtr<refinementSurfaces> createRefinementSurfaces
     List<Map<scalar>> regionAngle(surfi);
     List<Map<autoPtr<dictionary>>> regionPatchInfo(surfi);
 
-    HashSet<word> unmatchedKeys(surfacesDict.toc());
+    wordHashSet unmatchedKeys(surfacesDict.toc());
 
     surfi = 0;
     forAll(allGeometry.names(), geomi)
diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkMesh.C b/applications/utilities/mesh/manipulation/checkMesh/checkMesh.C
index 4e65c8b2192..d02cd5f6edc 100644
--- a/applications/utilities/mesh/manipulation/checkMesh/checkMesh.C
+++ b/applications/utilities/mesh/manipulation/checkMesh/checkMesh.C
@@ -133,7 +133,7 @@ int main(int argc, char *argv[])
 
     word surfaceFormat;
     const bool writeSets = args.readIfPresent("writeSets", surfaceFormat);
-    HashSet<word> selectedFields;
+    wordHashSet selectedFields;
     bool writeFields = args.readIfPresent
     (
         "writeFields",
diff --git a/applications/utilities/mesh/manipulation/checkMesh/writeFields.C b/applications/utilities/mesh/manipulation/checkMesh/writeFields.C
index 73e02328b08..d8c23f33a3a 100644
--- a/applications/utilities/mesh/manipulation/checkMesh/writeFields.C
+++ b/applications/utilities/mesh/manipulation/checkMesh/writeFields.C
@@ -69,7 +69,7 @@ void minFaceToCell
 void Foam::writeFields
 (
     const fvMesh& mesh,
-    const HashSet<word>& selectedFields
+    const wordHashSet& selectedFields
 )
 {
     if (selectedFields.empty())
diff --git a/applications/utilities/mesh/manipulation/checkMesh/writeFields.H b/applications/utilities/mesh/manipulation/checkMesh/writeFields.H
index 09c31b0e62b..675784c40d7 100644
--- a/applications/utilities/mesh/manipulation/checkMesh/writeFields.H
+++ b/applications/utilities/mesh/manipulation/checkMesh/writeFields.H
@@ -4,7 +4,7 @@ namespace Foam
 {
     void writeFields
     (
-        const fvMesh&,
-        const HashSet<word>& selectedFields
+        const fvMesh& mesh,
+        const wordHashSet& selectedFields
     );
 }
diff --git a/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C b/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C
index 3f7a722fc6e..e7702b69ddc 100644
--- a/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C
+++ b/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C
@@ -113,7 +113,7 @@ label addPatch
 
 
 // Filter out the empty patches.
-void filterPatches(fvMesh& mesh, const HashSet<word>& addedPatchNames)
+void filterPatches(fvMesh& mesh, const wordHashSet& addedPatchNames)
 {
     // Remove any zero-sized ones. Assumes
     // - processor patches are already only there if needed
@@ -613,7 +613,7 @@ int main(int argc, char *argv[])
 
     // Count patches to add
     // ~~~~~~~~~~~~~~~~~~~~
-    HashSet<word> bafflePatches;
+    wordHashSet bafflePatches;
     {
         forAll(selectors, selectorI)
         {
@@ -655,7 +655,7 @@ int main(int argc, char *argv[])
     // Pass 1: add patches
     // ~~~~~~~~~~~~~~~~~~~
 
-    //HashSet<word> addedPatches;
+    // wordHashSet addedPatches;
     {
         const polyBoundaryMesh& pbm = mesh.boundaryMesh();
         forAll(selectors, selectorI)
@@ -834,7 +834,7 @@ int main(int argc, char *argv[])
         fvMeshMapper mapper(mesh, map);
         bool hasWarned = false;
 
-        forAllConstIter(HashSet<word>, bafflePatches, iter)
+        forAllConstIter(wordHashSet, bafflePatches, iter)
         {
             label patchi = mesh.boundaryMesh().findPatchID(iter.key());
 
diff --git a/applications/utilities/mesh/manipulation/createPatch/createPatch.C b/applications/utilities/mesh/manipulation/createPatch/createPatch.C
index d4e978a8f16..4e071c7e629 100644
--- a/applications/utilities/mesh/manipulation/createPatch/createPatch.C
+++ b/applications/utilities/mesh/manipulation/createPatch/createPatch.C
@@ -102,7 +102,7 @@ void changePatchID
 
 
 // Filter out the empty patches.
-void filterPatches(polyMesh& mesh, const HashSet<word>& addedPatchNames)
+void filterPatches(polyMesh& mesh, const wordHashSet& addedPatchNames)
 {
     const polyBoundaryMesh& patches = mesh.boundaryMesh();
 
@@ -557,7 +557,7 @@ int main(int argc, char *argv[])
     // Read patch construct info from dictionary
     PtrList<dictionary> patchSources(dict.lookup("patches"));
 
-    HashSet<word> addedPatchNames;
+    wordHashSet addedPatchNames;
     forAll(patchSources, addedI)
     {
         const dictionary& dict = patchSources[addedI];
diff --git a/applications/utilities/mesh/manipulation/setsToZones/setsToZones.C b/applications/utilities/mesh/manipulation/setsToZones/setsToZones.C
index 3b511db95a9..a737e50c1fb 100644
--- a/applications/utilities/mesh/manipulation/setsToZones/setsToZones.C
+++ b/applications/utilities/mesh/manipulation/setsToZones/setsToZones.C
@@ -139,7 +139,7 @@ int main(int argc, char *argv[])
 
     IOobjectList faceObjects(objects.lookupClass(faceSet::typeName));
 
-    HashSet<word> slaveCellSets;
+    wordHashSet slaveCellSets;
 
     //Pout<< "faceSets:" << faceObjects.names() << endl;
 
diff --git a/applications/utilities/miscellaneous/foamHelp/helpTypes/helpBoundary/helpBoundary.C b/applications/utilities/miscellaneous/foamHelp/helpTypes/helpBoundary/helpBoundary.C
index 4d1852f269b..9e12c211779 100644
--- a/applications/utilities/miscellaneous/foamHelp/helpTypes/helpBoundary/helpBoundary.C
+++ b/applications/utilities/miscellaneous/foamHelp/helpTypes/helpBoundary/helpBoundary.C
@@ -101,11 +101,11 @@ void Foam::helpTypes::helpBoundary::execute
     }
     else if (args.found("constraint"))
     {
-        HashSet<word> constraintTypes(fvPatch::constraintTypes());
+        wordHashSet constraintTypes(fvPatch::constraintTypes());
         Info<< "Constraint types:" << nl;
-        forAllConstIter(HashSet<word>, constraintTypes, iter)
+        for (const word& cType : constraintTypes)
         {
-            Info<< "    " << iter.key() << nl;
+            Info<< "    " << cType << nl;
         }
         Info<< endl;
     }
diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C
index 9bd600c2bb2..46184913f48 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C
@@ -321,11 +321,8 @@ int main(int argc, char *argv[])
         // Search for list of objects for this time
         IOobjectList objects(mesh, runTime.timeName());
 
-        HashSet<word> selectedFields;
-        if (args.found("fields"))
-        {
-            args.lookup("fields")() >> selectedFields;
-        }
+        wordHashSet selectedFields;
+        args.readIfPresent("fields", selectedFields);
 
         // Construct the vol fields (on the original mesh if subsetted)
 
diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/readFields.C b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/readFields.C
index 172a83cf239..158db03a21f 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/readFields.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/readFields.C
@@ -39,7 +39,7 @@ void readFields
     const meshSubsetHelper& helper,
     const typename GeoField::Mesh& mesh,
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields,
+    const wordHashSet& selectedFields,
     PtrList<const GeoField>& fields
 )
 {
diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/readFields.H b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/readFields.H
index 510bd11d253..3cdaa566772 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/readFields.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/readFields.H
@@ -51,7 +51,7 @@ void readFields
     const meshSubsetHelper&,
     const typename GeoField::Mesh& mesh,
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields,
+    const wordHashSet& selectedFields,
     PtrList<const GeoField>& fields
 );
 
diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/findClouds.H b/applications/utilities/postProcessing/dataConversion/foamToVTK/findClouds.H
index ebeb36cbff9..0bc5970d756 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToVTK/findClouds.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/findClouds.H
@@ -1,7 +1,7 @@
 // check all time directories for the following:
 
 // Any cloud names:
-HashSet<word> allCloudDirs;
+wordHashSet allCloudDirs;
 
 if (timeDirs.size() && !noLagrangian)
 {
diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/readFields.C b/applications/utilities/postProcessing/dataConversion/foamToVTK/readFields.C
index 6547f11d38d..5e712e2d7be 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToVTK/readFields.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/readFields.C
@@ -39,7 +39,7 @@ label readFields
     const meshSubsetHelper& helper,
     const typename GeoField::Mesh& mesh,
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields,
+    const wordHashSet& selectedFields,
     PtrList<const GeoField>& fields
 )
 {
@@ -77,7 +77,7 @@ void readFields
 (
     const typename GeoField::Mesh& mesh,
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields,
+    const wordHashSet& selectedFields,
     PtrList<const GeoField>& fields
 )
 {
diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/readFields.H b/applications/utilities/postProcessing/dataConversion/foamToVTK/readFields.H
index 70213852554..91fffac0443 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToVTK/readFields.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/readFields.H
@@ -51,7 +51,7 @@ label readFields
     const meshSubsetHelper& helper,
     const typename GeoField::Mesh& mesh,
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields,
+    const wordHashSet& selectedFields,
     PtrList<const GeoField>& fields
 );
 
diff --git a/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/temporalInterpolate.C b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/temporalInterpolate.C
index 1b1e0bdfc45..3a1f585c63d 100644
--- a/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/temporalInterpolate.C
+++ b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/temporalInterpolate.C
@@ -53,7 +53,7 @@ class fieldInterpolator
     Time& runTime_;
     const fvMesh& mesh_;
     const IOobjectList& objects_;
-    const HashSet<word>& selectedFields_;
+    const wordHashSet& selectedFields_;
     instant ti_;
     instant ti1_;
     const interpolationWeights& interpolator_;
@@ -67,7 +67,7 @@ public:
         Time& runTime,
         const fvMesh& mesh,
         const IOobjectList& objects,
-        const HashSet<word>& selectedFields,
+        const wordHashSet& selectedFields,
         const instant& ti,
         const instant& ti1,
         const interpolationWeights& interpolator,
@@ -216,11 +216,9 @@ int main(int argc, char *argv[])
     #include "createTime.H"
     runTime.functionObjects().off();
 
-    HashSet<word> selectedFields;
-    if (args.found("fields"))
-    {
-        args.lookup("fields")() >> selectedFields;
-    }
+    wordHashSet selectedFields;
+    args.readIfPresent("fields", selectedFields);
+
     if (selectedFields.size())
     {
         Info<< "Interpolating fields " << selectedFields << nl << endl;
diff --git a/applications/utilities/postProcessing/postProcess/postProcess.C b/applications/utilities/postProcessing/postProcess/postProcess.C
index e8a18e31b36..62d73583cc1 100644
--- a/applications/utilities/postProcessing/postProcess/postProcess.C
+++ b/applications/utilities/postProcessing/postProcess/postProcess.C
@@ -60,7 +60,7 @@ void executeFunctionObjects
     const argList& args,
     const Time& runTime,
     fvMesh& mesh,
-    const HashSet<word>& selectedFields,
+    const wordHashSet& selectedFields,
     functionObjectList& functions,
     bool lastTime
 )
diff --git a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C
index 5942e464299..94cc850a1f6 100644
--- a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C
+++ b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C
@@ -93,9 +93,9 @@ namespace Foam
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 // Extract groupPatch info from boundary file info
-HashTable<wordList, word> extractPatchGroups(const dictionary& boundaryDict)
+HashTable<wordList> extractPatchGroups(const dictionary& boundaryDict)
 {
-    HashTable<wordList, word> groupToPatch;
+    HashTable<wordList> groupToPatch;
 
     forAllConstIter(dictionary, boundaryDict, iter)
     {
@@ -107,11 +107,8 @@ HashTable<wordList, word> extractPatchGroups(const dictionary& boundaryDict)
         {
             forAll(groups, i)
             {
-                HashTable<wordList, word>::iterator fndGroup = groupToPatch.find
-                (
-                    groups[i]
-                );
-                if (fndGroup == groupToPatch.end())
+                auto fndGroup = groupToPatch.find(groups[i]);
+                if (!fndGroup.found())
                 {
                     groupToPatch.insert(groups[i], wordList(1, patchName));
                 }
@@ -132,7 +129,7 @@ bool merge
     dictionary&,
     const dictionary&,
     const bool,
-    const HashTable<wordList, word>&
+    const HashTable<wordList>&
 );
 
 
@@ -143,7 +140,7 @@ bool addEntry
     entry& thisEntry,
     const entry& mergeEntry,
     const bool literalRE,
-    const HashTable<wordList, word>& shortcuts
+    const HashTable<wordList>& shortcuts
 )
 {
     bool changed = false;
@@ -181,7 +178,7 @@ bool addEntry
 // List of indices into thisKeys
 labelList findMatches
 (
-    const HashTable<wordList, word>& shortcuts,
+    const HashTable<wordList>& shortcuts,
     const wordList& shortcutNames,
     const wordList& thisKeys,
     const keyType& key
@@ -228,7 +225,7 @@ bool merge
     dictionary& thisDict,
     const dictionary& mergeDict,
     const bool literalRE,
-    const HashTable<wordList, word>& shortcuts
+    const HashTable<wordList>& shortcuts
 )
 {
     const wordList shortcutNames(shortcuts.toc());
@@ -236,7 +233,7 @@ bool merge
     bool changed = false;
 
     // Save current (non-wildcard) keys before adding items.
-    HashSet<word> thisKeysSet;
+    wordHashSet thisKeysSet;
     {
         List<keyType> keys = thisDict.keys(false);
         forAll(keys, i)
@@ -378,8 +375,8 @@ bool merge
                             thisEntry,
                             mergeIter(),
                             literalRE,
-                            HashTable<wordList, word>(0)    // no shortcuts
-                                                            // at deeper levels
+                            HashTable<wordList>(0)    // no shortcuts
+                                                      // at deeper levels
                         )
                     )
                     {
@@ -575,7 +572,7 @@ int main(int argc, char *argv[])
 
         // Extract any patchGroups information (= shortcut for set of
         // patches)
-        HashTable<wordList, word> patchGroups;
+        HashTable<wordList> patchGroups;
         if (!disablePatchGroups)
         {
             patchGroups = extractPatchGroups(fieldDict);
diff --git a/applications/utilities/preProcessing/mapFieldsPar/MapMeshes.H b/applications/utilities/preProcessing/mapFieldsPar/MapMeshes.H
index 83e37899266..3da452ae6a0 100644
--- a/applications/utilities/preProcessing/mapFieldsPar/MapMeshes.H
+++ b/applications/utilities/preProcessing/mapFieldsPar/MapMeshes.H
@@ -40,7 +40,7 @@ template<template<class> class CombineOp>
 void MapMesh
 (
     const meshToMesh& interp,
-    const HashSet<word>& selectedFields,
+    const wordHashSet& selectedFields,
     const bool noLagrangian
 )
 {
diff --git a/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H b/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H
index 1624ed87ce8..943cbb088cd 100644
--- a/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H
+++ b/applications/utilities/preProcessing/mapFieldsPar/MapVolFields.H
@@ -121,7 +121,7 @@ template<class Type, class CombineOp>
 void MapVolFields
 (
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields,
+    const wordHashSet& selectedFields,
     const meshToMesh& interp,
     const CombineOp& cop
 )
diff --git a/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C b/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C
index fa2ec58a514..49a19106888 100644
--- a/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C
+++ b/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C
@@ -47,7 +47,7 @@ void mapConsistentMesh
     const word& mapMethod,
     const word& AMIMapMethod,
     const bool subtract,
-    const HashSet<word>& selectedFields,
+    const wordHashSet& selectedFields,
     const bool noLagrangian
 )
 {
@@ -86,7 +86,7 @@ void mapSubMesh
     const word& mapMethod,
     const word& AMIMapMethod,
     const bool subtract,
-    const HashSet<word>& selectedFields,
+    const wordHashSet& selectedFields,
     const bool noLagrangian
 )
 {
@@ -260,7 +260,7 @@ int main(int argc, char *argv[])
         Info<< "Subtracting mapped source field from target" << endl;
     }
 
-    HashSet<word> selectedFields;
+    wordHashSet selectedFields;
     args.readIfPresent("fields", selectedFields);
 
     const bool noLagrangian = args.found("noLagrangian");
diff --git a/applications/utilities/surface/surfaceCheck/surfaceCheck.C b/applications/utilities/surface/surfaceCheck/surfaceCheck.C
index b7a4d8a827b..1fc36e78cce 100644
--- a/applications/utilities/surface/surfaceCheck/surfaceCheck.C
+++ b/applications/utilities/surface/surfaceCheck/surfaceCheck.C
@@ -54,6 +54,7 @@ Usage
 \*---------------------------------------------------------------------------*/
 
 #include "triangle.H"
+#include "edgeHashes.H"
 #include "triSurface.H"
 #include "triSurfaceSearch.H"
 #include "triSurfaceTools.H"
@@ -222,7 +223,7 @@ void syncEdges(const triSurface& p, labelHashSet& markedEdges)
     // See comment below about having duplicate edges
 
     const edgeList& edges = p.edges();
-    HashSet<edge, Hash<edge>> edgeSet(2*markedEdges.size());
+    edgeHashSet edgeSet(2*markedEdges.size());
 
     forAllConstIter(labelHashSet, markedEdges, iter)
     {
@@ -254,7 +255,7 @@ void syncEdges(const triSurface& p, boolList& isMarkedEdge)
         }
     }
 
-    HashSet<edge, Hash<edge>> edgeSet(2*n);
+    edgeHashSet edgeSet(2*n);
 
     forAll(isMarkedEdge, edgei)
     {
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C
index 3b4e9379433..d6ec115a0f4 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C
+++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.C
@@ -98,7 +98,7 @@ Foam::functionObject* Foam::functionObjectList::remove
 void Foam::functionObjectList::listDir
 (
     const fileName& dir,
-    HashSet<word>& foMap
+    wordHashSet& foMap
 )
 {
     // Search specified directory for functionObject configuration files
@@ -126,7 +126,7 @@ void Foam::functionObjectList::listDir
 
 void Foam::functionObjectList::list()
 {
-    HashSet<word> foMap;
+    wordHashSet foMap;
 
     fileNameList etcDirs(findEtcDirs(functionObjectDictPath));
 
diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H
index aadf0e310ec..0a4fa5aaa21 100644
--- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H
+++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H
@@ -102,7 +102,7 @@ class functionObjectList
 
         //- Search the specified directory for functionObject
         //- configuration files, add to the given map and recurse
-        static void listDir(const fileName& dir, HashSet<word>& foMap);
+        static void listDir(const fileName& dir, wordHashSet& foMap);
 
         //- Disallow default bitwise copy construct
         functionObjectList(const functionObjectList&) = delete;
diff --git a/src/OpenFOAM/fields/ReadFields/ReadFields.C b/src/OpenFOAM/fields/ReadFields/ReadFields.C
index 6f2fc52436a..1914e3f06b6 100644
--- a/src/OpenFOAM/fields/ReadFields/ReadFields.C
+++ b/src/OpenFOAM/fields/ReadFields/ReadFields.C
@@ -48,13 +48,13 @@ Foam::wordList Foam::fieldNames
         const wordList localNames(masterNames);
         Pstream::scatter(masterNames);
 
-        HashSet<word> localNamesSet(localNames);
+        wordHashSet localNamesSet(localNames);
 
         forAll(masterNames, i)
         {
             const word& masterFld = masterNames[i];
 
-            HashSet<word>::iterator iter = localNamesSet.find(masterFld);
+            wordHashSet::iterator iter = localNamesSet.find(masterFld);
 
             if (iter == localNamesSet.end())
             {
@@ -70,7 +70,7 @@ Foam::wordList Foam::fieldNames
             }
         }
 
-        forAllConstIter(HashSet<word>, localNamesSet, iter)
+        forAllConstIter(wordHashSet, localNamesSet, iter)
         {
             FatalErrorInFunction
                 << "Fields not synchronised across processors." << endl
diff --git a/src/OpenFOAM/fields/ReadFields/ReadFields.H b/src/OpenFOAM/fields/ReadFields/ReadFields.H
index 028c74af59a..32dd5af2f71 100644
--- a/src/OpenFOAM/fields/ReadFields/ReadFields.H
+++ b/src/OpenFOAM/fields/ReadFields/ReadFields.H
@@ -117,7 +117,7 @@ void readFields
 (
     const typename GeoFieldType::Mesh& mesh,
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields,
+    const wordHashSet& selectedFields,
     LIFOStack<regIOobject*>& storedObjects
 );
 
@@ -129,7 +129,7 @@ template<class GeoFieldType>
 void readUniformFields
 (
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields,
+    const wordHashSet& selectedFields,
     LIFOStack<regIOobject*>& storedObjects,
     const bool syncPar = true
 );
diff --git a/src/OpenFOAM/fields/ReadFields/ReadFieldsTemplates.C b/src/OpenFOAM/fields/ReadFields/ReadFieldsTemplates.C
index fcc6c071a63..38354fbd80e 100644
--- a/src/OpenFOAM/fields/ReadFields/ReadFieldsTemplates.C
+++ b/src/OpenFOAM/fields/ReadFields/ReadFieldsTemplates.C
@@ -192,7 +192,7 @@ void Foam::ReadFields
 {
     // Collect all times that are no longer used
     {
-        HashSet<word> usedTimes(timeNames);
+        wordHashSet usedTimes(timeNames);
 
         DynamicList<word> unusedTimes(fieldsCache.size());
 
@@ -316,7 +316,7 @@ void Foam::readFields
 (
     const typename GeoFieldType::Mesh& mesh,
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields,
+    const wordHashSet& selectedFields,
     LIFOStack<regIOobject*>& storedObjects
 )
 {
@@ -369,7 +369,7 @@ template<class UniformFieldType>
 void Foam::readUniformFields
 (
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields,
+    const wordHashSet& selectedFields,
     LIFOStack<regIOobject*>& storedObjects,
     const bool syncPar
 )
@@ -386,13 +386,13 @@ void Foam::readUniformFields
         const wordList localNames(masterNames);
         Pstream::scatter(masterNames);
 
-        HashSet<word> localNamesSet(localNames);
+        wordHashSet localNamesSet(localNames);
 
         forAll(masterNames, i)
         {
             const word& masterFld = masterNames[i];
 
-            HashSet<word>::iterator iter = localNamesSet.find(masterFld);
+            wordHashSet::iterator iter = localNamesSet.find(masterFld);
 
             if (iter == localNamesSet.end())
             {
@@ -408,7 +408,7 @@ void Foam::readUniformFields
             }
         }
 
-        forAllConstIter(HashSet<word>, localNamesSet, iter)
+        forAllConstIter(wordHashSet, localNamesSet, iter)
         {
             FatalErrorInFunction
                 << "Fields not synchronised across processors." << endl
diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C
index b1e1dac7f1f..6b36461924d 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C
@@ -963,7 +963,7 @@ bool Foam::polyBoundaryMesh::checkDefinition(const bool report) const
 
     bool hasError = false;
 
-    HashSet<word> patchNames(2*size());
+    wordHashSet patchNames(2*size());
 
     forAll(bm, patchi)
     {
diff --git a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
index d3a2a760b4d..355c8333494 100644
--- a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
+++ b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
@@ -225,7 +225,7 @@ Foam::wordList Foam::fvMeshDistribute::mergeWordList(const wordList& procNames)
     Pstream::gatherList(allNames);
     Pstream::scatterList(allNames);
 
-    HashSet<word> mergedNames;
+    wordHashSet mergedNames;
     forAll(allNames, proci)
     {
         forAll(allNames[proci], i)
diff --git a/src/functionObjects/utilities/writeDictionary/writeDictionary.C b/src/functionObjects/utilities/writeDictionary/writeDictionary.C
index ab36d93772b..8e9625f0f59 100644
--- a/src/functionObjects/utilities/writeDictionary/writeDictionary.C
+++ b/src/functionObjects/utilities/writeDictionary/writeDictionary.C
@@ -126,7 +126,7 @@ bool Foam::functionObjects::writeDictionary::read(const dictionary& dict)
     regionFunctionObject::read(dict);
 
     wordList dictNames(dict.lookup("dictNames"));
-    HashSet<word> uniqueNames(dictNames);
+    wordHashSet uniqueNames(dictNames);
     dictNames_ = uniqueNames.toc();
 
     digests_.setSize(dictNames_.size(), SHA1Digest());
diff --git a/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C b/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C
index 0eb597a1c21..60905337204 100644
--- a/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C
+++ b/src/fvAgglomerationMethods/pairPatchAgglomeration/pairPatchAgglomeration.C
@@ -25,6 +25,7 @@ License
 
 #include "pairPatchAgglomeration.H"
 #include "meshTools.H"
+#include "edgeHashes.H"
 #include "unitConversion.H"
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
@@ -123,7 +124,7 @@ void Foam::pairPatchAgglomeration::setEdgeWeights
     const label nCoarseI =  max(fineToCoarse) + 1;
     labelListList coarseToFine(invertOneToMany(nCoarseI, fineToCoarse));
 
-    HashSet<edge, Hash<edge>> fineFeaturedFaces(coarsePatch.nEdges()/10);
+    edgeHashSet fineFeaturedFaces(coarsePatch.nEdges()/10);
 
     // Map fine faces with featured edge into coarse faces
     forAllConstIter(EdgeMap<scalar>, facePairWeight_, iter)
diff --git a/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.C b/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.C
index 82eee2cddca..ba7320d68f0 100644
--- a/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.C
+++ b/src/fvMotionSolver/pointPatchFields/derived/uniformInterpolatedDisplacement/uniformInterpolatedDisplacementPointPatchVectorField.C
@@ -187,7 +187,7 @@ void uniformInterpolatedDisplacementPointPatchVectorField::updateCoeffs()
         );
         // Save old times so we now which ones have been loaded and need
         // 'correctBoundaryConditions'. Bit messy.
-        HashSet<word> oldTimes(fieldsCache.toc());
+        wordHashSet oldTimes(fieldsCache.toc());
 
         ReadFields<pointVectorField>
         (
diff --git a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.H b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.H
index 1e641cb2e9e..a6d233a38ed 100644
--- a/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.H
+++ b/src/mesh/snappyHexMesh/meshRefinement/meshRefinement.H
@@ -186,13 +186,13 @@ private:
         wordList meshedPatches_;
 
         //- FaceZone to master patch name
-        HashTable<word, word> faceZoneToMasterPatch_;
+        HashTable<word> faceZoneToMasterPatch_;
 
         //- FaceZone to slave patch name
-        HashTable<word, word> faceZoneToSlavePatch_;
+        HashTable<word> faceZoneToSlavePatch_;
 
         //- FaceZone to method to handle faces
-        HashTable<surfaceZonesInfo::faceZoneType, word> faceZoneToType_;
+        HashTable<surfaceZonesInfo::faceZoneType> faceZoneToType_;
 
 
     // Private Member Functions
diff --git a/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.C b/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.C
index e30ab66c215..3afb8fedb82 100644
--- a/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.C
+++ b/src/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.C
@@ -177,7 +177,7 @@ Foam::refinementSurfaces::refinementSurfaces
     List<Map<autoPtr<dictionary>>> regionPatchInfo(surfI);
 
 
-    HashSet<word> unmatchedKeys(surfacesDict.toc());
+    wordHashSet unmatchedKeys(surfacesDict.toc());
 
     surfI = 0;
     forAll(allGeometry_.names(), geomI)
diff --git a/src/mesh/snappyHexMesh/shellSurfaces/shellSurfaces.C b/src/mesh/snappyHexMesh/shellSurfaces/shellSurfaces.C
index 1e2999a155c..955afee4e7f 100644
--- a/src/mesh/snappyHexMesh/shellSurfaces/shellSurfaces.C
+++ b/src/mesh/snappyHexMesh/shellSurfaces/shellSurfaces.C
@@ -594,7 +594,7 @@ Foam::shellSurfaces::shellSurfaces
     nullGapLevel[2] = 0;
 
 
-    HashSet<word> unmatchedKeys(shellsDict.toc());
+    wordHashSet unmatchedKeys(shellsDict.toc());
     shellI = 0;
 
     forAll(allGeometry_.names(), geomI)
diff --git a/src/meshTools/edgeMesh/edgeMesh.C b/src/meshTools/edgeMesh/edgeMesh.C
index 879bdf7e1ee..f91f5a1a817 100644
--- a/src/meshTools/edgeMesh/edgeMesh.C
+++ b/src/meshTools/edgeMesh/edgeMesh.C
@@ -28,7 +28,7 @@ License
 #include "addToRunTimeSelectionTable.H"
 #include "addToMemberFunctionSelectionTable.H"
 #include "ListOps.H"
-#include "EdgeMap.H"
+#include "edgeHashes.H"
 #include "PackedBoolList.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@@ -323,7 +323,7 @@ void Foam::edgeMesh::mergePoints(const scalar mergeDist)
 
 void Foam::edgeMesh::mergeEdges()
 {
-    HashSet<edge, Hash<edge>> uniqEdges(2*edges_.size());
+    edgeHashSet uniqEdges(2*edges_.size());
     PackedBoolList pointIsUsed(points_.size());
 
     label nUniqEdges = 0;
diff --git a/src/meshTools/searchableSurfaces/searchableSurfaces/searchableSurfaces.C b/src/meshTools/searchableSurfaces/searchableSurfaces/searchableSurfaces.C
index 2783cea76f9..2c7ad4377ea 100644
--- a/src/meshTools/searchableSurfaces/searchableSurfaces/searchableSurfaces.C
+++ b/src/meshTools/searchableSurfaces/searchableSurfaces/searchableSurfaces.C
@@ -865,7 +865,7 @@ void Foam::searchableSurfaces::writeStats
 
         if (patchTypes.size() && patchTypes[surfI].size() >= 1)
         {
-            wordList unique(HashSet<word>(patchTypes[surfI]).sortedToc());
+            wordList unique(wordHashSet(patchTypes[surfI]).sortedToc());
             Info<< "        patches   : ";
             forAll(unique, i)
             {
diff --git a/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersection.C b/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersection.C
index c38da917f02..7ed11e09bdb 100644
--- a/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersection.C
+++ b/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersection.C
@@ -1525,7 +1525,7 @@ void Foam::surfaceIntersection::mergePoints(const scalar mergeDist)
 
 void Foam::surfaceIntersection::mergeEdges()
 {
-    HashSet<edge, Hash<edge>> uniqEdges(2*cutEdges_.size());
+    edgeHashSet uniqEdges(2*cutEdges_.size());
 
     label nUniqEdges = 0;
     labelList edgeNumbering(cutEdges_.size(), -1);
diff --git a/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersectionFuncs.C b/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersectionFuncs.C
index d8797736b0b..7d275d37d54 100644
--- a/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersectionFuncs.C
+++ b/src/meshTools/triSurface/booleanOps/surfaceIntersection/surfaceIntersectionFuncs.C
@@ -26,6 +26,7 @@ License
 #include "surfaceIntersection.H"
 #include "triSurface.H"
 #include "triSurfaceSearch.H"
+#include "edgeHashes.H"
 #include "labelPairHashes.H"
 #include "OFstream.H"
 
@@ -161,7 +162,7 @@ Foam::edgeList Foam::surfaceIntersection::filterEdges
     labelList& map
 )
 {
-    HashSet<edge, Hash<edge>> uniqueEdges(10*edges.size());
+    edgeHashSet uniqueEdges(10*edges.size());
 
     edgeList newEdges(edges.size());
 
diff --git a/src/parallel/reconstruct/reconstruct/fvFieldReconstructor.H b/src/parallel/reconstruct/reconstruct/fvFieldReconstructor.H
index a56a761ec0f..b2454dc1007 100644
--- a/src/parallel/reconstruct/reconstruct/fvFieldReconstructor.H
+++ b/src/parallel/reconstruct/reconstruct/fvFieldReconstructor.H
@@ -198,7 +198,7 @@ public:
         void reconstructFvVolumeInternalFields
         (
             const IOobjectList& objects,
-            const HashSet<word>& selectedFields
+            const wordHashSet& selectedFields
         );
 
         //- Read, reconstruct and write all/selected volume fields
@@ -206,7 +206,7 @@ public:
         void reconstructFvVolumeFields
         (
             const IOobjectList& objects,
-            const HashSet<word>& selectedFields
+            const wordHashSet& selectedFields
         );
 
         //- Read, reconstruct and write all/selected surface fields
@@ -214,7 +214,7 @@ public:
         void reconstructFvSurfaceFields
         (
             const IOobjectList& objects,
-            const HashSet<word>& selectedFields
+            const wordHashSet& selectedFields
         );
 };
 
diff --git a/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.C b/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.C
index e7bd26b2cc9..af0b1fe5577 100644
--- a/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.C
+++ b/src/parallel/reconstruct/reconstruct/fvFieldReconstructorReconstructFields.C
@@ -601,7 +601,7 @@ template<class Type>
 void Foam::fvFieldReconstructor::reconstructFvVolumeInternalFields
 (
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields
+    const wordHashSet& selectedFields
 )
 {
     const word& fieldClassName = DimensionedField<Type, volMesh>::typeName;
@@ -636,7 +636,7 @@ template<class Type>
 void Foam::fvFieldReconstructor::reconstructFvVolumeFields
 (
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields
+    const wordHashSet& selectedFields
 )
 {
     const word& fieldClassName =
@@ -672,7 +672,7 @@ template<class Type>
 void Foam::fvFieldReconstructor::reconstructFvSurfaceFields
 (
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields
+    const wordHashSet& selectedFields
 )
 {
     const word& fieldClassName =
diff --git a/src/parallel/reconstruct/reconstruct/pointFieldReconstructor.H b/src/parallel/reconstruct/reconstruct/pointFieldReconstructor.H
index 3d575d4a1cc..03ba97dc51a 100644
--- a/src/parallel/reconstruct/reconstruct/pointFieldReconstructor.H
+++ b/src/parallel/reconstruct/reconstruct/pointFieldReconstructor.H
@@ -154,7 +154,7 @@ public:
         void reconstructFields
         (
             const IOobjectList& objects,
-            const HashSet<word>& selectedFields
+            const wordHashSet& selectedFields
         );
 };
 
diff --git a/src/parallel/reconstruct/reconstruct/pointFieldReconstructorReconstructFields.C b/src/parallel/reconstruct/reconstruct/pointFieldReconstructorReconstructFields.C
index 41b1c3fc9b4..9b1448b6f8b 100644
--- a/src/parallel/reconstruct/reconstruct/pointFieldReconstructorReconstructFields.C
+++ b/src/parallel/reconstruct/reconstruct/pointFieldReconstructorReconstructFields.C
@@ -143,7 +143,7 @@ template<class Type>
 void Foam::pointFieldReconstructor::reconstructFields
 (
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields
+    const wordHashSet& selectedFields
 )
 {
     word fieldClassName
diff --git a/src/parallel/reconstruct/reconstruct/reconstructLagrangian.H b/src/parallel/reconstruct/reconstruct/reconstructLagrangian.H
index 5c49b8ff46e..bc8c32d6b51 100644
--- a/src/parallel/reconstruct/reconstruct/reconstructLagrangian.H
+++ b/src/parallel/reconstruct/reconstruct/reconstructLagrangian.H
@@ -85,7 +85,7 @@ void reconstructLagrangianFields
     const polyMesh& mesh,
     const PtrList<fvMesh>& meshes,
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields
+    const wordHashSet& selectedFields
 );
 
 
@@ -96,7 +96,7 @@ void reconstructLagrangianFieldFields
     const polyMesh& mesh,
     const PtrList<fvMesh>& meshes,
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields
+    const wordHashSet& selectedFields
 );
 
 
diff --git a/src/parallel/reconstruct/reconstruct/reconstructLagrangianFields.C b/src/parallel/reconstruct/reconstruct/reconstructLagrangianFields.C
index eea4d386582..62be1dc03cd 100644
--- a/src/parallel/reconstruct/reconstruct/reconstructLagrangianFields.C
+++ b/src/parallel/reconstruct/reconstruct/reconstructLagrangianFields.C
@@ -163,7 +163,7 @@ void Foam::reconstructLagrangianFields
     const polyMesh& mesh,
     const PtrList<fvMesh>& meshes,
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields
+    const wordHashSet& selectedFields
 )
 {
     const word fieldClassName(IOField<Type>::typeName);
@@ -206,7 +206,7 @@ void Foam::reconstructLagrangianFieldFields
     const polyMesh& mesh,
     const PtrList<fvMesh>& meshes,
     const IOobjectList& objects,
-    const HashSet<word>& selectedFields
+    const wordHashSet& selectedFields
 )
 {
     {
diff --git a/src/rigidBodyDynamics/rigidBodyModel/rigidBodyModel.H b/src/rigidBodyDynamics/rigidBodyModel/rigidBodyModel.H
index d7d8f8e5b9a..52c4c2dfea1 100644
--- a/src/rigidBodyDynamics/rigidBodyModel/rigidBodyModel.H
+++ b/src/rigidBodyDynamics/rigidBodyModel/rigidBodyModel.H
@@ -108,7 +108,7 @@ protected:
         PtrList<subBody> mergedBodies_;
 
         //- Lookup-table of the IDs of the bodies
-        HashTable<label, word> bodyIDs_;
+        HashTable<label> bodyIDs_;
 
         //- List of indices of the parent of each body
         DynamicList<label> lambda_;
diff --git a/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C b/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C
index 96d9b422b91..6b9b6a0a08c 100644
--- a/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/nas/NASsurfaceFormat.C
@@ -135,7 +135,7 @@ bool Foam::fileFormats::NASsurfaceFormat<Face>::read
     word  ansaType, ansaName;
 
     // A single warning per unrecognized command
-    HashSet<word> unhandledCmd;
+    wordHashSet unhandledCmd;
 
     while (is.good())
     {
-- 
GitLab