From 97bac47725fbed54465a588ad16b4439ac7b5a20 Mon Sep 17 00:00:00 2001
From: laurence <laurence>
Date: Fri, 19 Jul 2013 15:53:08 +0100
Subject: [PATCH] ENH: Tuple2: Remove comparison operators as friends and make
 non-members.

---
 src/OpenFOAM/primitives/Tuple2/Tuple2.H | 45 +++++--------------------
 1 file changed, 9 insertions(+), 36 deletions(-)

diff --git a/src/OpenFOAM/primitives/Tuple2/Tuple2.H b/src/OpenFOAM/primitives/Tuple2/Tuple2.H
index b7aae7598ce..26ca000575b 100644
--- a/src/OpenFOAM/primitives/Tuple2/Tuple2.H
+++ b/src/OpenFOAM/primitives/Tuple2/Tuple2.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-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -47,20 +47,6 @@ namespace Foam
 template<class Type1, class Type2>
 class Tuple2;
 
-template<class Type1, class Type2>
-inline bool operator==
-(
-    const Tuple2<Type1, Type2>&,
-    const Tuple2<Type1, Type2>&
-);
-
-template<class Type1, class Type2>
-inline bool operator!=
-(
-    const Tuple2<Type1, Type2>&,
-    const Tuple2<Type1, Type2>&
-);
-
 template<class Type1, class Type2>
 inline Istream& operator>>(Istream&, Tuple2<Type1, Type2>&);
 
@@ -129,27 +115,6 @@ public:
             return s_;
         }
 
-        //- Return reverse pair
-        inline Tuple2<Type2, Type1> reverseTuple2() const
-        {
-            return Tuple2<Type2, Type1>(second(), first());
-        }
-
-
-    // Friend Operators
-
-        friend bool operator== <Type1, Type2>
-        (
-            const Tuple2<Type1, Type2>& a,
-            const Tuple2<Type1, Type2>& b
-        );
-
-        friend bool operator!= <Type1, Type2>
-        (
-            const Tuple2<Type1, Type2>& a,
-            const Tuple2<Type1, Type2>& b
-        );
-
 
     // IOstream operators
 
@@ -169,6 +134,14 @@ public:
 };
 
 
+//- Return reverse of a tuple2
+template<class Type1, class Type2>
+inline Tuple2<Type2, Type1> reverse(const Tuple2<Type1, Type2>& t)
+{
+    return Tuple2<Type2, Type1>(t.second(), t.first());
+}
+
+
 template<class Type1, class Type2>
 inline bool operator==
 (
-- 
GitLab