diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.H
index b5d6acf07be75549b2869df71902c217479d1649..88d8a94009d4d8681c7832a53fe8b5a28bce3a2f 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,6 +40,17 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class phasePairKey;
+
+bool operator==(const phasePairKey&, const phasePairKey&);
+bool operator!=(const phasePairKey&, const phasePairKey&);
+
+Istream& operator>>(Istream&, phasePairKey&);
+Ostream& operator<<(Ostream&, const phasePairKey&);
+
+
 /*---------------------------------------------------------------------------*\
                          Class phasePairKey Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePairKey/phasePairKey.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePairKey/phasePairKey.H
index d514d6406ca29f8342e47b55ada65b4025938aaf..5ef17faa75973018ae70cb963280efbbaa8bb671 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePairKey/phasePairKey.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phasePair/phasePairKey/phasePairKey.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2014-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -40,6 +40,17 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class phasePairKey;
+
+bool operator==(const phasePairKey&, const phasePairKey&);
+bool operator!=(const phasePairKey&, const phasePairKey&);
+
+Istream& operator>>(Istream&, phasePairKey&);
+Ostream& operator<<(Ostream&, const phasePairKey&);
+
+
 /*---------------------------------------------------------------------------*\
                          Class phasePairKey Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertexEnum.H b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertexEnum.H
index 3c5e9b27372013e0fe5467987433bd64eedb89a8..581bcf80a6e140c36fafe45852ac4a98c44f35e7 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertexEnum.H
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/indexedVertex/indexedVertexEnum.H
@@ -41,14 +41,6 @@ SourceFiles
 namespace Foam
 {
 
-// Forward declaration of friend functions and operators
-
-class indexedVertexEnum;
-
-Istream& operator>>(Istream&, indexedVertexEnum&);
-Ostream& operator<<(Ostream&, const indexedVertexEnum&);
-
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 class indexedVertexEnum
@@ -90,6 +82,9 @@ public:
 };
 
 
+Istream& operator>>(Istream&, indexedVertexEnum::vertexType&);
+Ostream& operator<<(Ostream&, const indexedVertexEnum::vertexType&);
+
 template<>
 inline bool contiguous<indexedVertexEnum>()
 {
diff --git a/src/OpenFOAM/db/typeInfo/typeInfo.H b/src/OpenFOAM/db/typeInfo/typeInfo.H
index c4379036c2ac8eedcad46e5ef1e428bd91b75d2f..71155aeb8ff7de907ce62f986018a585a4853c99 100644
--- a/src/OpenFOAM/db/typeInfo/typeInfo.H
+++ b/src/OpenFOAM/db/typeInfo/typeInfo.H
@@ -133,7 +133,8 @@ inline bool isType(const Type& t)
 template<class TestType, class Type>
 inline bool isA(const Type& t)
 {
-    return dynamic_cast<const TestType*>(&t);
+    const Type* tPtr = &t;
+    return dynamic_cast<const TestType*>(tPtr);
 }
 
 
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.H
index 50e3095002e01ca8787af07c4ec3ddd2d6c2030b..e6be2e9db2fdc486ac102e082628288a0d1eb05d 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.H
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistribute.H
@@ -145,6 +145,15 @@ namespace Foam
 
 class globalIndexAndTransform;
 
+
+// Forward declaration of friend functions and operators
+
+class mapDistribute;
+
+Istream& operator>>(Istream&, mapDistribute&);
+Ostream& operator<<(Ostream&, const mapDistribute&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class mapDistribute Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.H
index fe9a9be6159809b9f6661349d76c4f1905f2dba4..70799428155d2cd0be0bf776487430dd0064a93c 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.H
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributeBase.H
@@ -85,6 +85,15 @@ class mapPolyMesh;
 class globalIndex;
 class PstreamBuffers;
 
+
+// Forward declaration of friend functions and operators
+
+class mapDistributeBase;
+
+Istream& operator>>(Istream&, mapDistributeBase&);
+Ostream& operator<<(Ostream&, const mapDistributeBase&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class mapDistributeBase Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.H b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.H
index ed827fe6c38d92b28db057e15eb92d8a3cf6987c..9ac7b9f356b58c2b6220c5b28f31eef93c89c082 100644
--- a/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.H
+++ b/src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/mapDistributePolyMesh.H
@@ -51,6 +51,15 @@ namespace Foam
 class mapPolyMesh;
 class polyMesh;
 
+
+// Forward declaration of friend functions and operators
+
+class mapDistributePolyMesh;
+
+Istream& operator>>(Istream&, mapDistributePolyMesh&);
+Ostream& operator<<(Ostream&, const mapDistributePolyMesh&);
+
+
 /*---------------------------------------------------------------------------*\
                      Class mapDistributePolyMesh Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/OpenFOAM/meshes/polyMesh/polyMeshTetDecomposition/tetIndices.H b/src/OpenFOAM/meshes/polyMesh/polyMeshTetDecomposition/tetIndices.H
index d33d5f98b735a1d87f8f83b17b84bdcff8b7a9bc..9c4bdcad5bc8f61de78c5e5f92cf5b7fa7c70316 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyMeshTetDecomposition/tetIndices.H
+++ b/src/OpenFOAM/meshes/polyMesh/polyMeshTetDecomposition/tetIndices.H
@@ -67,6 +67,14 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class tetIndices;
+
+Istream& operator>>(Istream&, tetIndices&);
+Ostream& operator<<(Ostream&, const tetIndices&);
+
+
 /*---------------------------------------------------------------------------*\
                          Class tetIndices Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/OpenFOAM/meshes/treeBoundBox/treeBoundBox.H b/src/OpenFOAM/meshes/treeBoundBox/treeBoundBox.H
index 24a68e8fd4f8d40749d9e24d801335a49f79db7b..7632b15fa126933b53b6b66d11e245ffae1a8fdd 100644
--- a/src/OpenFOAM/meshes/treeBoundBox/treeBoundBox.H
+++ b/src/OpenFOAM/meshes/treeBoundBox/treeBoundBox.H
@@ -69,6 +69,18 @@ namespace Foam
 
 class Random;
 
+
+// Forward declaration of friend functions and operators
+
+class treeBoundBox;
+
+bool operator==(const treeBoundBox&, const treeBoundBox&);
+bool operator!=(const treeBoundBox&, const treeBoundBox&);
+
+Istream& operator>>(Istream& is, treeBoundBox&);
+Ostream& operator<<(Ostream& os, const treeBoundBox&);
+
+
 /*---------------------------------------------------------------------------*\
                         Class treeBoundBox Declaration
 \*---------------------------------------------------------------------------*/
@@ -346,7 +358,6 @@ public:
 
         friend Istream& operator>>(Istream& is, treeBoundBox&);
         friend Ostream& operator<<(Ostream& os, const treeBoundBox&);
-
 };
 
 
diff --git a/src/conversion/ensight/part/ensightPart.H b/src/conversion/ensight/part/ensightPart.H
index feb6d371baf023b37d50b5ee2f1c03e68586fd31..9220692ac43f03e9d8cf9755b18e29fd518dbfb3 100644
--- a/src/conversion/ensight/part/ensightPart.H
+++ b/src/conversion/ensight/part/ensightPart.H
@@ -51,6 +51,14 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class ensightPart;
+
+Ostream& operator<<(Ostream&, const ensightPart&);
+ensightGeoFile& operator<<(ensightGeoFile&, const ensightPart&);
+
+
 /*---------------------------------------------------------------------------*\
                          Class ensightPart Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/conversion/ensight/part/ensightParts.H b/src/conversion/ensight/part/ensightParts.H
index 68c18774bab8d528a8d2e055a243951c01753e47..fd33238b1d4f30968780c77ab61757e90ac92056 100644
--- a/src/conversion/ensight/part/ensightParts.H
+++ b/src/conversion/ensight/part/ensightParts.H
@@ -46,6 +46,13 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class ensightParts;
+
+ensightGeoFile& operator<<(ensightGeoFile&, const ensightParts&);
+
+
 /*---------------------------------------------------------------------------*\
                        Class ensightParts Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/dynamicMesh/meshCut/directions/directionInfo/directionInfo.H b/src/dynamicMesh/meshCut/directions/directionInfo/directionInfo.H
index 96021c7217fdea36386329a3da7370aebbb93f7b..3dbe50f4f5a4b6813bcf4f22c2d93810aaf1a8b6 100644
--- a/src/dynamicMesh/meshCut/directions/directionInfo/directionInfo.H
+++ b/src/dynamicMesh/meshCut/directions/directionInfo/directionInfo.H
@@ -69,6 +69,15 @@ class edge;
 class face;
 class polyMesh;
 
+
+// Forward declaration of friend functions and operators
+
+class directionInfo;
+
+Istream& operator>>(Istream&, directionInfo&);
+Ostream& operator<<(Ostream&, const directionInfo&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class directionInfo Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/dynamicMesh/meshCut/refineCell/refineCell.H b/src/dynamicMesh/meshCut/refineCell/refineCell.H
index 58bf0de934223ab5057356482ed1c1e965d840f9..226dd826b2a66c020db636894b7587c39bfa86fe 100644
--- a/src/dynamicMesh/meshCut/refineCell/refineCell.H
+++ b/src/dynamicMesh/meshCut/refineCell/refineCell.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,8 +43,12 @@ SourceFiles
 namespace Foam
 {
 
-class Istream;
-class Ostream;
+// Forward declaration of friend functions and operators
+
+class refineCell;
+
+Ostream& operator<<(Ostream&, const refineCell&);
+
 
 /*---------------------------------------------------------------------------*\
                            Class refineCell Declaration
@@ -123,4 +127,3 @@ public:
 #endif
 
 // ************************************************************************* //
-
diff --git a/src/dynamicMesh/meshCut/wallLayerCells/wallNormalInfo/wallNormalInfo.H b/src/dynamicMesh/meshCut/wallLayerCells/wallNormalInfo/wallNormalInfo.H
index 6940560b632866f445ff4ea545542da8d27ceb3e..587fc95da21d7953729bfefe96b6eaafac155528 100644
--- a/src/dynamicMesh/meshCut/wallLayerCells/wallNormalInfo/wallNormalInfo.H
+++ b/src/dynamicMesh/meshCut/wallLayerCells/wallNormalInfo/wallNormalInfo.H
@@ -51,6 +51,15 @@ namespace Foam
 class polyPatch;
 class polyMesh;
 
+
+// Forward declaration of friend functions and operators
+
+class wallNormalInfo;
+
+Istream& operator>>(Istream&, wallNormalInfo&);
+Ostream& operator<<(Ostream&, const wallNormalInfo&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class wallNormalInfo Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/dynamicMesh/pointPatchDist/externalPointEdgePoint.H b/src/dynamicMesh/pointPatchDist/externalPointEdgePoint.H
index 22482dd9c1323f121cae7890886e6462139ebb3a..1735252269b5e0172fc9987f053cde11ea8538bf 100644
--- a/src/dynamicMesh/pointPatchDist/externalPointEdgePoint.H
+++ b/src/dynamicMesh/pointPatchDist/externalPointEdgePoint.H
@@ -49,6 +49,15 @@ namespace Foam
 class polyPatch;
 class polyMesh;
 
+
+// Forward declaration of friend functions and operators
+
+class externalPointEdgePoint;
+
+Istream& operator>>(Istream&, externalPointEdgePoint&);
+Ostream& operator<<(Ostream&, const externalPointEdgePoint&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class externalPointEdgePoint Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/dynamicMesh/polyTopoChange/polyMeshModifier/polyMeshModifier.H b/src/dynamicMesh/polyTopoChange/polyMeshModifier/polyMeshModifier.H
index e5466d7c8f926dc0c0d0cc4eda02dbc88ba3944f..aadf811f3e3bcaccf1f54472f1d715a3f34bde1f 100644
--- a/src/dynamicMesh/polyTopoChange/polyMeshModifier/polyMeshModifier.H
+++ b/src/dynamicMesh/polyTopoChange/polyMeshModifier/polyMeshModifier.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -55,6 +55,14 @@ class polyTopoChanger;
 class polyTopoChange;
 class mapPolyMesh;
 
+
+// Forward declaration of friend functions and operators
+
+class polyMeshModifier;
+
+Ostream& operator<<(Ostream&, const polyMeshModifier&);
+
+
 /*---------------------------------------------------------------------------*\
                        Class polyMeshModifier Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.H
index 88665a56e39e0ed40fcad9610099e2d10d808b34..72ed8ea59fe93b057e30a5e3baec0b3cb5d2a127 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/refinementHistory.H
@@ -88,6 +88,15 @@ namespace Foam
 class mapPolyMesh;
 class mapDistributePolyMesh;
 
+
+// Forward declaration of friend functions and operators
+
+class refinementHistory;
+
+Istream& operator>>(Istream&, refinementHistory&);
+Ostream& operator<<(Ostream&, const refinementHistory&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class refinementHistory Declaration
 \*---------------------------------------------------------------------------*/
@@ -402,6 +411,10 @@ public:
 };
 
 
+Istream& operator>>(Istream&, refinementHistory::splitCell8&);
+Ostream& operator<<(Ostream&, const refinementHistory::splitCell8&);
+
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/pointEdgeCollapse/pointEdgeCollapse.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/pointEdgeCollapse/pointEdgeCollapse.H
index e9cc990c29a6ab6b14cee5e3ae6f2ff7050adca8..c83363c24b3adcf356aa5dd800432355c929bbe2 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/pointEdgeCollapse/pointEdgeCollapse.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/pointEdgeCollapse/pointEdgeCollapse.H
@@ -48,6 +48,15 @@ namespace Foam
 class polyPatch;
 class polyMesh;
 
+
+// Forward declaration of friend functions and operators
+
+class pointEdgeCollapse;
+
+Istream& operator>>(Istream&, pointEdgeCollapse&);
+Ostream& operator<<(Ostream&, const pointEdgeCollapse&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class pointEdgeCollapse Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementData.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementData.H
index 8b8a3b64b6b06f82d5c001055ec13d889309a626..8a08394cace8991153340f221d283f5c8ba8bb43 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementData.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementData.H
@@ -48,6 +48,15 @@ namespace Foam
 class polyPatch;
 class polyMesh;
 
+
+// Forward declaration of friend functions and operators
+
+class refinementData;
+
+Istream& operator>>(Istream&, refinementData&);
+Ostream& operator<<(Ostream&, const refinementData&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class refinementData Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDistanceData.H b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDistanceData.H
index 32a5f1f351584916f70a9eeeb47612b32ae06ea1..15215ca5f5d422463c76bfddc30e2e0545ba3812 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDistanceData.H
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/refinementDistanceData.H
@@ -48,6 +48,15 @@ namespace Foam
 class polyPatch;
 class polyMesh;
 
+
+// Forward declaration of friend functions and operators
+
+class refinementDistanceData;
+
+Istream& operator>>(Istream&, refinementDistanceData&);
+Ostream& operator<<(Ostream&, const refinementDistanceData&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class refinementDistanceData Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMesh.H b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMesh.H
index 757097c9fd463570635066cd83c6e92b74cbea03..2c407e082a470cd4e74e3ec68bb4e17b2fb77d7f 100644
--- a/src/edgeMesh/extendedEdgeMesh/extendedEdgeMesh.H
+++ b/src/edgeMesh/extendedEdgeMesh/extendedEdgeMesh.H
@@ -71,10 +71,13 @@ class surfaceFeatures;
 class objectRegistry;
 
 // Forward declaration of friend functions and operators
+
 class extendedEdgeMesh;
+
 Istream& operator>>(Istream&, extendedEdgeMesh&);
 Ostream& operator<<(Ostream&, const extendedEdgeMesh&);
 
+
 /*---------------------------------------------------------------------------*\
                        Class extendedEdgeMesh Declaration
 \*---------------------------------------------------------------------------*/
@@ -540,6 +543,10 @@ public:
 };
 
 
+Istream& operator>>(Istream& is, extendedEdgeMesh::sideVolumeType& vt);
+Ostream& operator<<(Ostream& os, const extendedEdgeMesh::sideVolumeType& vt);
+
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
diff --git a/src/functionObjects/field/nearWallFields/findCellParticle.H b/src/functionObjects/field/nearWallFields/findCellParticle.H
index 80d3a5bf6ae44b6bc9a9374792961925da927bc6..e239289063e7c0dae1f6dcaa31ea490cc863840e 100644
--- a/src/functionObjects/field/nearWallFields/findCellParticle.H
+++ b/src/functionObjects/field/nearWallFields/findCellParticle.H
@@ -45,6 +45,14 @@ namespace Foam
 
 class findCellParticleCloud;
 
+
+// Forward declaration of friend functions and operators
+
+class findCellParticle;
+
+Ostream& operator<<(Ostream&, const findCellParticle&);
+
+
 /*---------------------------------------------------------------------------*\
                      Class findCellParticle Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/functionObjects/field/streamLine/streamLineParticle.H b/src/functionObjects/field/streamLine/streamLineParticle.H
index 8ecde3fad4f9f65bb17ea1fa8066334c13fe2e75..bcb4fd68c2683b0f7963753b394e4b22840600f8 100644
--- a/src/functionObjects/field/streamLine/streamLineParticle.H
+++ b/src/functionObjects/field/streamLine/streamLineParticle.H
@@ -48,6 +48,14 @@ namespace Foam
 
 class streamLineParticleCloud;
 
+
+// Forward declaration of friend functions and operators
+
+class streamLineParticle;
+
+Ostream& operator<<(Ostream&, const streamLineParticle&);
+
+
 /*---------------------------------------------------------------------------*\
                      Class streamLineParticle Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H
index ccfbe856b439e9a4da515f281d35736d5c368c2d..5cb120153348b8d71f5be6bce013d25b10e4ecc9 100644
--- a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H
+++ b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.H
@@ -46,6 +46,14 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class wallBoundedParticle;
+
+Ostream& operator<<(Ostream&, const wallBoundedParticle&);
+Ostream& operator<<(Ostream&, const InfoProxy<wallBoundedParticle>&);
+
+
 /*---------------------------------------------------------------------------*\
                      Class wallBoundedParticle Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H
index f84402bd638019943d94a5f7a0bfc5706bef6c26..b0f20d18cbc74cbb7a717e03d31331bcd03d75b9 100644
--- a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H
+++ b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLineParticle.H
@@ -49,6 +49,14 @@ namespace Foam
 
 class wallBoundedStreamLineParticleCloud;
 
+
+// Forward declaration of friend functions and operators
+
+class wallBoundedStreamLineParticle;
+
+Ostream& operator<<(Ostream&, const wallBoundedStreamLineParticle&);
+
+
 /*---------------------------------------------------------------------------*\
                  Class wallBoundedStreamLineParticle Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/pointEdgeStructuredWalk.H b/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/pointEdgeStructuredWalk.H
index 387217ca913be18ce039ef1a01456ce3005c0321..d89f0e03fdf16043bcd22b885e3ae5e9f2625143 100644
--- a/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/pointEdgeStructuredWalk.H
+++ b/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/pointEdgeStructuredWalk.H
@@ -48,6 +48,15 @@ namespace Foam
 class polyPatch;
 class polyMesh;
 
+
+// Forward declaration of friend functions and operators
+
+class pointEdgeStructuredWalk;
+
+Istream& operator>>(Istream&, pointEdgeStructuredWalk&);
+Ostream& operator<<(Ostream&, const pointEdgeStructuredWalk&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class pointEdgeStructuredWalk Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/lagrangian/intermediate/phaseProperties/phaseProperties/phaseProperties.H b/src/lagrangian/intermediate/phaseProperties/phaseProperties/phaseProperties.H
index 334f0e6d4679510145615126525bab1ee306d3e6..2d775a741540b5ce8af13b9139617c2b3f565023 100644
--- a/src/lagrangian/intermediate/phaseProperties/phaseProperties/phaseProperties.H
+++ b/src/lagrangian/intermediate/phaseProperties/phaseProperties/phaseProperties.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -46,6 +46,14 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class phaseProperties;
+
+Istream& operator>>(Istream&, phaseProperties&);
+Ostream& operator<<(Ostream&, const phaseProperties&);
+
+
 /*---------------------------------------------------------------------------*\
                       Class phaseProperties Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/forceSuSp/forceSuSp.H b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/forceSuSp/forceSuSp.H
index 5522514912c667545d31c9c73d7575fcc0999832..df57b2ff4fe2608272b0ee0a425fc27cc0ca0155 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/forceSuSp/forceSuSp.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/forceSuSp/forceSuSp.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,9 +48,12 @@ namespace Foam
 {
 
 // Forward declaration of friend functions
+
 class forceSuSp;
+
 inline forceSuSp operator+(const forceSuSp& susp1, const forceSuSp& susp2);
-inline forceSuSp operator*(const forceSuSp& susp, const scalar s);
+inline forceSuSp operator*(const scalar s, const forceSuSp& susp);
+
 
 /*---------------------------------------------------------------------------*\
                           Class forceSuSp Declaration
diff --git a/src/lagrangian/molecularDynamics/molecularMeasurements/distribution/distribution.H b/src/lagrangian/molecularDynamics/molecularMeasurements/distribution/distribution.H
index db3fe62f21b8397d66bda1434f3125c940b8724a..840b1b253f38daec4889bb8bdeeacf1d66cf82a4 100644
--- a/src/lagrangian/molecularDynamics/molecularMeasurements/distribution/distribution.H
+++ b/src/lagrangian/molecularDynamics/molecularMeasurements/distribution/distribution.H
@@ -45,6 +45,13 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class distribution;
+
+Ostream& operator<<(Ostream&, const distribution&);
+
+
 /*---------------------------------------------------------------------------*\
                         Class distribution Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/lagrangian/molecularDynamics/molecule/molecule/molecule.H b/src/lagrangian/molecularDynamics/molecule/molecule/molecule.H
index 754f3a51efca5fc90f67a0b0cdf467a91286b3ab..a54c874495298650474e3556c0b57e791c34d196 100644
--- a/src/lagrangian/molecularDynamics/molecule/molecule/molecule.H
+++ b/src/lagrangian/molecularDynamics/molecule/molecule/molecule.H
@@ -50,6 +50,14 @@ namespace Foam
 // Class forward declarations
 class moleculeCloud;
 
+
+// Forward declaration of friend functions and operators
+
+class molecule;
+
+Ostream& operator<<(Ostream&, const molecule&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class molecule Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/lagrangian/molecularDynamics/molecule/reducedUnits/reducedUnits.H b/src/lagrangian/molecularDynamics/molecule/reducedUnits/reducedUnits.H
index 8319bf50bc46ba14df732c80283ae47b14bbe34b..51c713a5b3149a24b2508154744b011638669227 100644
--- a/src/lagrangian/molecularDynamics/molecule/reducedUnits/reducedUnits.H
+++ b/src/lagrangian/molecularDynamics/molecule/reducedUnits/reducedUnits.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,6 +44,13 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class reducedUnits;
+
+Ostream& operator<<(Ostream&, const reducedUnits&);
+
+
 /*---------------------------------------------------------------------------*\
                          Class reducedUnits Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/lagrangian/solidParticle/solidParticle.H b/src/lagrangian/solidParticle/solidParticle.H
index ae848b6ef9fee728ab66a2bbacdaeaba75f13a6b..72af01cf281ddd04eace1ef8742330db85af5778 100644
--- a/src/lagrangian/solidParticle/solidParticle.H
+++ b/src/lagrangian/solidParticle/solidParticle.H
@@ -51,6 +51,14 @@ namespace Foam
 
 class solidParticleCloud;
 
+
+// Forward declaration of friend functions and operators
+
+class solidParticle;
+
+Ostream& operator<<(Ostream&, const solidParticle&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class solidParticle Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/mesh/snappyHexMesh/meshRefinement/patchFaceOrientation.H b/src/mesh/snappyHexMesh/meshRefinement/patchFaceOrientation.H
index b43951d8086f1ecfc6bd410a7ad2a58a846e2461..8370cd24fa0b6130be917a4794e660e94cfc666e 100644
--- a/src/mesh/snappyHexMesh/meshRefinement/patchFaceOrientation.H
+++ b/src/mesh/snappyHexMesh/meshRefinement/patchFaceOrientation.H
@@ -47,6 +47,15 @@ namespace Foam
 // Forward declaration of classes
 class polyMesh;
 
+
+// Forward declaration of friend functions and operators
+
+class patchFaceOrientation;
+
+Istream& operator>>(Istream&, patchFaceOrientation&);
+Ostream& operator<<(Ostream&, const patchFaceOrientation&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class patchFaceOrientation Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/pointData/pointData.H b/src/mesh/snappyHexMesh/snappyHexMeshDriver/pointData/pointData.H
index d46dbcc184b2fdca36a6a4a8f493f1c435b1f8b3..f2b9424b0498eb9b3e3012bbe89eba8304da9a64 100644
--- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/pointData/pointData.H
+++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/pointData/pointData.H
@@ -47,6 +47,14 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class pointData;
+
+Istream& operator>>(Istream&, pointData&);
+Ostream& operator<<(Ostream&, const pointData&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class pointData Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.H b/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.H
index 0281c20bd168345c68770990c4e91eced1d96533..a1951c4196aad2020a39e3faf3e5fafeba5f47c6 100644
--- a/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.H
+++ b/src/mesh/snappyHexMesh/trackedParticle/trackedParticle.H
@@ -46,6 +46,14 @@ namespace Foam
 
 class trackedParticleCloud;
 
+
+// Forward declaration of friend functions and operators
+
+class trackedParticle;
+
+Ostream& operator<<(Ostream&, const trackedParticle&);
+
+
 /*---------------------------------------------------------------------------*\
                      Class trackedParticle Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/meshTools/meshStructure/pointTopoDistanceData.H b/src/meshTools/meshStructure/pointTopoDistanceData.H
index 48bb8cfaa350b2ec29a9fae34c3851c07a88038f..174f106d8aba38aa05ea7c10902269927bc256ea 100644
--- a/src/meshTools/meshStructure/pointTopoDistanceData.H
+++ b/src/meshTools/meshStructure/pointTopoDistanceData.H
@@ -48,6 +48,15 @@ namespace Foam
 class polyPatch;
 class polyMesh;
 
+
+// Forward declaration of friend functions and operators
+
+class pointTopoDistanceData;
+
+Istream& operator>>(Istream&, pointTopoDistanceData&);
+Ostream& operator<<(Ostream&, const pointTopoDistanceData&);
+
+
 /*---------------------------------------------------------------------------*\
                        Class pointTopoDistanceData Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/meshTools/meshStructure/topoDistanceData.H b/src/meshTools/meshStructure/topoDistanceData.H
index ae3d7f8378f589b26569b7f77cecd67798de6086..5b9b7e6b2190cf666ef7d3fbda9349f3e5a212a7 100644
--- a/src/meshTools/meshStructure/topoDistanceData.H
+++ b/src/meshTools/meshStructure/topoDistanceData.H
@@ -47,6 +47,15 @@ namespace Foam
 class polyPatch;
 class polyMesh;
 
+
+// Forward declaration of friend functions and operators
+
+class topoDistanceData;
+
+Istream& operator>>(Istream&, topoDistanceData&);
+Ostream& operator<<(Ostream&, const topoDistanceData&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class topoDistanceData Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/parallel/decompose/decompositionMethods/decompositionMethod/minData.H b/src/parallel/decompose/decompositionMethods/decompositionMethod/minData.H
index 63c80248d201eecab9a70b2d1e402b258579d9ec..eec98098ded2336c13456239755ab747ce60a285 100644
--- a/src/parallel/decompose/decompositionMethods/decompositionMethod/minData.H
+++ b/src/parallel/decompose/decompositionMethods/decompositionMethod/minData.H
@@ -46,6 +46,15 @@ namespace Foam
 class polyPatch;
 class polyMesh;
 
+
+// Forward declaration of friend functions and operators
+
+class minData;
+
+Istream& operator>>(Istream&, minData&);
+Ostream& operator<<(Ostream&, const minData&);
+
+
 /*---------------------------------------------------------------------------*\
                            Class minData Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/thermophysicalModels/solidSpecie/reaction/reactionRate/solidArrheniusReactionRate/solidArrheniusReactionRate.H b/src/thermophysicalModels/solidSpecie/reaction/reactionRate/solidArrheniusReactionRate/solidArrheniusReactionRate.H
index 8569b44e224655cd93d3fae441f84471d7326e08..1a734a96dbba0d63f681e10121ff519e23fa6431 100644
--- a/src/thermophysicalModels/solidSpecie/reaction/reactionRate/solidArrheniusReactionRate/solidArrheniusReactionRate.H
+++ b/src/thermophysicalModels/solidSpecie/reaction/reactionRate/solidArrheniusReactionRate/solidArrheniusReactionRate.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,6 +43,13 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class solidArrheniusReactionRate;
+
+Ostream& operator<<(Ostream&, const solidArrheniusReactionRate&);
+
+
 /*---------------------------------------------------------------------------*\
                        Class solidArrheniusReactionRate Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/thermophysicalModels/specie/reaction/reactionRate/ArrheniusReactionRate/ArrheniusReactionRate.H b/src/thermophysicalModels/specie/reaction/reactionRate/ArrheniusReactionRate/ArrheniusReactionRate.H
index 4cbbe8ddf8c931353316a4571c7d5baea8b9f1e3..deb1bb2ebde28c3bfb4738af22d156251caa0173 100644
--- a/src/thermophysicalModels/specie/reaction/reactionRate/ArrheniusReactionRate/ArrheniusReactionRate.H
+++ b/src/thermophysicalModels/specie/reaction/reactionRate/ArrheniusReactionRate/ArrheniusReactionRate.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -45,6 +45,13 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class ArrheniusReactionRate;
+
+Ostream& operator<<(Ostream&, const ArrheniusReactionRate&);
+
+
 /*---------------------------------------------------------------------------*\
                     Class ArrheniusReactionRate Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/thermophysicalModels/specie/reaction/reactionRate/JanevReactionRate/JanevReactionRate.H b/src/thermophysicalModels/specie/reaction/reactionRate/JanevReactionRate/JanevReactionRate.H
index b08de4568342595e7925a743e8e9879e08bb5643..bf3d10c6b9007330d0337bfaa8b5259a74306b1a 100644
--- a/src/thermophysicalModels/specie/reaction/reactionRate/JanevReactionRate/JanevReactionRate.H
+++ b/src/thermophysicalModels/specie/reaction/reactionRate/JanevReactionRate/JanevReactionRate.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,6 +44,13 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class JanevReactionRate;
+
+Ostream& operator<<(Ostream&, const JanevReactionRate&);
+
+
 /*---------------------------------------------------------------------------*\
                      Class JanevReactionRate Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/thermophysicalModels/specie/reaction/reactionRate/LandauTellerReactionRate/LandauTellerReactionRate.H b/src/thermophysicalModels/specie/reaction/reactionRate/LandauTellerReactionRate/LandauTellerReactionRate.H
index 813da3831ef590aaff74776ffd710d0556ae15de..cba8b20cb8a8262ba6d7056efd5e20fd35ff37a7 100644
--- a/src/thermophysicalModels/specie/reaction/reactionRate/LandauTellerReactionRate/LandauTellerReactionRate.H
+++ b/src/thermophysicalModels/specie/reaction/reactionRate/LandauTellerReactionRate/LandauTellerReactionRate.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,6 +43,13 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class LandauTellerReactionRate;
+
+Ostream& operator<<(Ostream&, const LandauTellerReactionRate&);
+
+
 /*---------------------------------------------------------------------------*\
                    Class LandauTellerReactionRate Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/thermophysicalModels/specie/reaction/reactionRate/LangmuirHinshelwood/LangmuirHinshelwoodReactionRate.H b/src/thermophysicalModels/specie/reaction/reactionRate/LangmuirHinshelwood/LangmuirHinshelwoodReactionRate.H
index 5bf3eb15e3cc1acfdb1c85798de0532c271ec556..e96f9ea20cc7880e68d6083faa00a78c57f68af8 100644
--- a/src/thermophysicalModels/specie/reaction/reactionRate/LangmuirHinshelwood/LangmuirHinshelwoodReactionRate.H
+++ b/src/thermophysicalModels/specie/reaction/reactionRate/LangmuirHinshelwood/LangmuirHinshelwoodReactionRate.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,6 +43,13 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class LangmuirHinshelwoodReactionRate;
+
+Ostream& operator<<(Ostream&, const LangmuirHinshelwoodReactionRate&);
+
+
 /*---------------------------------------------------------------------------*\
                Class LangmuirHinshelwoodReactionRate Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/thermophysicalModels/specie/reaction/reactionRate/infiniteReactionRate/infiniteReactionRate.H b/src/thermophysicalModels/specie/reaction/reactionRate/infiniteReactionRate/infiniteReactionRate.H
index cbe25ecff35e4203a5f9b59ff9959d1dabf9e717..47dde38b49ccced7a67a4c426de63174df68a595 100644
--- a/src/thermophysicalModels/specie/reaction/reactionRate/infiniteReactionRate/infiniteReactionRate.H
+++ b/src/thermophysicalModels/specie/reaction/reactionRate/infiniteReactionRate/infiniteReactionRate.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,6 +43,13 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class infiniteReactionRate;
+
+Ostream& operator<<(Ostream&, const infiniteReactionRate&);
+
+
 /*---------------------------------------------------------------------------*\
                     Class infiniteReactionRate Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/thermophysicalModels/specie/reaction/reactionRate/powerSeries/powerSeriesReactionRate.H b/src/thermophysicalModels/specie/reaction/reactionRate/powerSeries/powerSeriesReactionRate.H
index 7c106182254d70fa95370539685f84bb25592bce..a8561815be6ffb4f6f79d3d11854f2880f2003af 100644
--- a/src/thermophysicalModels/specie/reaction/reactionRate/powerSeries/powerSeriesReactionRate.H
+++ b/src/thermophysicalModels/specie/reaction/reactionRate/powerSeries/powerSeriesReactionRate.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,6 +44,13 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class powerSeriesReactionRate;
+
+Ostream& operator<<(Ostream&, const powerSeriesReactionRate&);
+
+
 /*---------------------------------------------------------------------------*\
                    Class powerSeriesReactionRate Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyArrheniusReactionRate/thirdBodyArrheniusReactionRate.H b/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyArrheniusReactionRate/thirdBodyArrheniusReactionRate.H
index 2321772c7c043330daa1dc0acc678e4b78a68154..9e7599ac73406bde61ee71e976dd85a7fc57694b 100644
--- a/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyArrheniusReactionRate/thirdBodyArrheniusReactionRate.H
+++ b/src/thermophysicalModels/specie/reaction/reactionRate/thirdBodyArrheniusReactionRate/thirdBodyArrheniusReactionRate.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -43,6 +43,13 @@ SourceFiles
 namespace Foam
 {
 
+// Forward declaration of friend functions and operators
+
+class thirdBodyArrheniusReactionRate;
+
+Ostream& operator<<(Ostream&, const thirdBodyArrheniusReactionRate&);
+
+
 /*---------------------------------------------------------------------------*\
               Class thirdBodyArrheniusReactionRate Declaration
 \*---------------------------------------------------------------------------*/
diff --git a/src/thermophysicalModels/specie/specie/specie.H b/src/thermophysicalModels/specie/specie/specie.H
index ea76fb2426f58377504746de9553873055dc2df6..28d7290818be113d90728a1edb23d67b08a7b82c 100644
--- a/src/thermophysicalModels/specie/specie/specie.H
+++ b/src/thermophysicalModels/specie/specie/specie.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -48,8 +48,17 @@ using namespace Foam::constant::thermodynamic;
 namespace Foam
 {
 
-class Istream;
-class Ostream;
+// Forward declaration of friend functions and operators
+
+class specie;
+
+inline specie operator+(const specie&, const specie&);
+inline specie operator-(const specie&, const specie&);
+inline specie operator*(const scalar, const specie&);
+inline specie operator==(const specie&, const specie&);
+
+Ostream& operator<<(Ostream&, const specie&);
+
 
 /*---------------------------------------------------------------------------*\
                            Class specie Declaration