]> Dogcows Code - chaz/yoink/blobdiff - src/stlplus/containers/triple.tpp
import stlplus 3.7
[chaz/yoink] / src / stlplus / containers / triple.tpp
index 3c1fa30d40e365863de9009bb5df794dabf9d055..50c2d7072b7864cb38c71e38d03866d577d773b3 100644 (file)
@@ -1,56 +1,67 @@
-////////////////////////////////////////////////////////////////////////////////
-
-//   Author:    Andy Rushton, from an original by Dan Milton
-//   Copyright: (c) Southampton University 1999-2004
-//              (c) Andy Rushton           2004-2009
-//   License:   BSD License, see ../docs/license.html
-
-////////////////////////////////////////////////////////////////////////////////
-
-namespace stlplus
-{
-
-  ////////////////////////////////////////////////////////////////////////////////
-  // the triple class
-
-  template<typename T1, typename T2, typename T3>
-  triple<T1,T2,T3>::triple(void) :
-    first(), second(), third()
-  {
-  }
-
-  template<typename T1, typename T2, typename T3>
-  triple<T1,T2,T3>::triple(const T1& p1, const T2& p2, const T3& p3) :
-    first(p1), second(p2), third(p3)
-  {
-  }
-
-  template<typename T1, typename T2, typename T3>
-  triple<T1,T2,T3>::triple(const triple<T1,T2,T3>& t2) :
-    first(t2.first), second(t2.second), third(t2.third)
-  {
-  }
-
-  ////////////////////////////////////////////////////////////////////////////////
-  // creation
-
-  template<typename T1, typename T2, typename T3>
-  triple<T1,T2,T3> make_triple(const T1& first, const T2& second, const T3& third)
-  {
-    return triple<T1,T2,T3>(first,second,third);
-  }
-
-  ////////////////////////////////////////////////////////////////////////////////
-  // comparison
-
-  template<typename T1, typename T2, typename T3>
-  bool operator == (const triple<T1,T2,T3>& left, const triple<T1,T2,T3>& right)
-  {
-    // triples are equal if all elements are equal
-    return left.first == right.first && left.second == right.second && left.third == right.third;
-  }
-
-  ////////////////////////////////////////////////////////////////////////////////
-
-} // end namespace stlplus
-
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+//   Author:    Andy Rushton, from an original by Dan Milton\r
+//   Copyright: (c) Southampton University 1999-2004\r
+//              (c) Andy Rushton           2004 onwards\r
+//   License:   BSD License, see ../docs/license.html\r
+\r
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+namespace stlplus\r
+{\r
+\r
+  ////////////////////////////////////////////////////////////////////////////////\r
+  // the triple class\r
+\r
+  template<typename T1, typename T2, typename T3>\r
+  triple<T1,T2,T3>::triple(void) :\r
+    first(), second(), third()\r
+  {\r
+  }\r
+\r
+  template<typename T1, typename T2, typename T3>\r
+  triple<T1,T2,T3>::triple(const T1& p1, const T2& p2, const T3& p3) :\r
+    first(p1), second(p2), third(p3)\r
+  {\r
+  }\r
+\r
+  template<typename T1, typename T2, typename T3>\r
+  triple<T1,T2,T3>::triple(const triple<T1,T2,T3>& t2) :\r
+    first(t2.first), second(t2.second), third(t2.third)\r
+  {\r
+  }\r
+\r
+  ////////////////////////////////////////////////////////////////////////////////\r
+  // creation\r
+\r
+  template<typename T1, typename T2, typename T3>\r
+  triple<T1,T2,T3> make_triple(const T1& first, const T2& second, const T3& third)\r
+  {\r
+    return triple<T1,T2,T3>(first,second,third);\r
+  }\r
+\r
+  ////////////////////////////////////////////////////////////////////////////////\r
+  // comparison\r
+\r
+  template<typename T1, typename T2, typename T3>\r
+  bool operator == (const triple<T1,T2,T3>& left, const triple<T1,T2,T3>& right)\r
+  {\r
+    // triples are equal if all elements are equal\r
+    return left.first == right.first && left.second == right.second && left.third == right.third;\r
+  }\r
+\r
+  template<typename T1, typename T2, typename T3>\r
+  bool operator < (const triple<T1,T2,T3>& left, const triple<T1,T2,T3>& right)\r
+  {\r
+    // use the < operator on each element\r
+       return left.first < right.first ? true :\r
+              right.first < left.first ? false :\r
+              left.second < right.second ? true :\r
+              right.second < left.second ? false :\r
+              left.third < right.third;\r
+  }\r
+\r
+  ////////////////////////////////////////////////////////////////////////////////\r
+\r
+} // end namespace stlplus\r
+\r
This page took 0.022908 seconds and 4 git commands to generate.