]> git.mxchange.org Git - simgear.git/blobdiff - simgear/math/SGVec4.hxx
Modified Files:
[simgear.git] / simgear / math / SGVec4.hxx
index 7c714323f102ec8a0ee42c874c53a2a683461579..f854274dd37bbae282d665665f8062897112ab48 100644 (file)
@@ -344,6 +344,47 @@ bool
 operator!=(const SGVec4<T>& v1, const SGVec4<T>& v2)
 { return ! (v1 == v2); }
 
+/// Return true if smaller, good for putting that into a std::map
+template<typename T>
+inline
+bool
+operator<(const SGVec4<T>& v1, const SGVec4<T>& v2)
+{
+  if (v1(0) < v2(0)) return true;
+  else if (v2(0) < v1(0)) return false;
+  else if (v1(1) < v2(1)) return true;
+  else if (v2(1) < v1(1)) return false;
+  else if (v1(2) < v2(2)) return true;
+  else if (v2(2) < v1(2)) return false;
+  else return (v1(3) < v2(3));
+}
+
+template<typename T>
+inline
+bool
+operator<=(const SGVec4<T>& v1, const SGVec4<T>& v2)
+{
+  if (v1(0) < v2(0)) return true;
+  else if (v2(0) < v1(0)) return false;
+  else if (v1(1) < v2(1)) return true;
+  else if (v2(1) < v1(1)) return false;
+  else if (v1(2) < v2(2)) return true;
+  else if (v2(2) < v1(2)) return false;
+  else return (v1(3) <= v2(3));
+}
+
+template<typename T>
+inline
+bool
+operator>(const SGVec4<T>& v1, const SGVec4<T>& v2)
+{ return operator<(v2, v1); }
+
+template<typename T>
+inline
+bool
+operator>=(const SGVec4<T>& v1, const SGVec4<T>& v2)
+{ return operator<=(v2, v1); }
+
 /// Return true if equal to the relative tolerance tol
 template<typename T>
 inline