Comparison and streaming operators for base::Version

Changes base::Version to comply with updated style guide.

See discussion here:
https://groups.google.com/a/chromium.org/d/topic/chromium-dev/8Q6Po7y0Kc4/discussion

Replaces Version::Equals and Version::IsOlderThan.

Review URL: https://codereview.chromium.org/1575523002

Cr-Commit-Position: refs/heads/master@{#371279}
diff --git a/base/version.cc b/base/version.cc
index 3677b731..19b9922 100644
--- a/base/version.cc
+++ b/base/version.cc
@@ -33,8 +33,6 @@
     if (StartsWith(*it, "+", CompareCase::SENSITIVE))
       return false;
 
-    // TODO(brettw) when we have a StringPiece version of StringToUint, delete
-    // this string conversion.
     unsigned int num;
     if (!StringToUint(*it, &num))
       return false;
@@ -107,13 +105,6 @@
   return version.IsValid();
 }
 
-bool Version::IsOlderThan(const std::string& version_str) const {
-  Version proposed_ver(version_str);
-  if (!proposed_ver.IsValid())
-    return false;
-  return (CompareTo(proposed_ver) < 0);
-}
-
 int Version::CompareToWildcardString(const std::string& wildcard_string) const {
   DCHECK(IsValid());
   DCHECK(Version::IsValidWildcardString(wildcard_string));
@@ -151,12 +142,6 @@
   return 0;
 }
 
-bool Version::Equals(const Version& that) const {
-  DCHECK(IsValid());
-  DCHECK(that.IsValid());
-  return (CompareTo(that) == 0);
-}
-
 int Version::CompareTo(const Version& other) const {
   DCHECK(IsValid());
   DCHECK(other.IsValid());
@@ -175,4 +160,32 @@
   return version_str;
 }
 
+bool operator==(const Version& v1, const Version& v2) {
+  return v1.CompareTo(v2) == 0;
+}
+
+bool operator!=(const Version& v1, const Version& v2) {
+  return !(v1 == v2);
+}
+
+bool operator<(const Version& v1, const Version& v2) {
+  return v1.CompareTo(v2) < 0;
+}
+
+bool operator<=(const Version& v1, const Version& v2) {
+  return v1.CompareTo(v2) <= 0;
+}
+
+bool operator>(const Version& v1, const Version& v2) {
+  return v1.CompareTo(v2) > 0;
+}
+
+bool operator>=(const Version& v1, const Version& v2) {
+  return v1.CompareTo(v2) >= 0;
+}
+
+std::ostream& operator<<(std::ostream& stream, const Version& v) {
+  return stream << v.GetString();
+}
+
 }  // namespace base