| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/common/string_ordinal.h" | 5 #include "chrome/common/string_ordinal.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cstddef> | 8 #include <cstddef> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 | 167 |
| 168 StringOrdinal::StringOrdinal(const std::string& string_ordinal) | 168 StringOrdinal::StringOrdinal(const std::string& string_ordinal) |
| 169 : string_ordinal_(string_ordinal), | 169 : string_ordinal_(string_ordinal), |
| 170 is_valid_(IsValidStringOrdinal(string_ordinal_)) { | 170 is_valid_(IsValidStringOrdinal(string_ordinal_)) { |
| 171 } | 171 } |
| 172 | 172 |
| 173 StringOrdinal::StringOrdinal() : string_ordinal_(""), | 173 StringOrdinal::StringOrdinal() : string_ordinal_(""), |
| 174 is_valid_(false) { | 174 is_valid_(false) { |
| 175 } | 175 } |
| 176 | 176 |
| 177 StringOrdinal StringOrdinal::CreateInitialOrdinal() { | |
| 178 return StringOrdinal(std::string(1, kMidDigit)); | |
| 179 } | |
| 180 | |
| 181 bool StringOrdinal::IsValid() const { | 177 bool StringOrdinal::IsValid() const { |
| 182 return is_valid_; | 178 return is_valid_; |
| 183 } | 179 } |
| 184 | 180 |
| 185 bool StringOrdinal::LessThan(const StringOrdinal& other) const { | 181 bool StringOrdinal::LessThan(const StringOrdinal& other) const { |
| 186 CHECK(IsValid()); | 182 CHECK(IsValid()); |
| 187 CHECK(other.IsValid()); | 183 CHECK(other.IsValid()); |
| 188 return string_ordinal_ < other.string_ordinal_; | 184 return string_ordinal_ < other.string_ordinal_; |
| 189 } | 185 } |
| 190 | 186 |
| 191 bool StringOrdinal::GreaterThan(const StringOrdinal& other) const { | |
| 192 CHECK(IsValid()); | |
| 193 CHECK(other.IsValid()); | |
| 194 return string_ordinal_ > other.string_ordinal_; | |
| 195 } | |
| 196 | |
| 197 bool StringOrdinal::Equal(const StringOrdinal& other) const { | 187 bool StringOrdinal::Equal(const StringOrdinal& other) const { |
| 198 CHECK(IsValid()); | 188 CHECK(IsValid()); |
| 199 CHECK(other.IsValid()); | 189 CHECK(other.IsValid()); |
| 200 return string_ordinal_ == other.string_ordinal_; | 190 return string_ordinal_ == other.string_ordinal_; |
| 201 } | 191 } |
| 202 | 192 |
| 203 StringOrdinal StringOrdinal::CreateBetween(const StringOrdinal& other) const { | 193 StringOrdinal StringOrdinal::CreateBetween(const StringOrdinal& other) const { |
| 204 CHECK(IsValid()); | 194 CHECK(IsValid()); |
| 205 CHECK(other.IsValid()); | 195 CHECK(other.IsValid()); |
| 206 CHECK(!Equal(other)); | 196 CHECK(!Equal(other)); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 // Even though |end| is already a valid StringOrdinal that is greater than | 231 // Even though |end| is already a valid StringOrdinal that is greater than |
| 242 // |*this|, we don't return it because we wouldn't have much space after | 232 // |*this|, we don't return it because we wouldn't have much space after |
| 243 // it to insert potential future values. | 233 // it to insert potential future values. |
| 244 return CreateBetween(StringOrdinal(end)); | 234 return CreateBetween(StringOrdinal(end)); |
| 245 } | 235 } |
| 246 | 236 |
| 247 std::string StringOrdinal::ToString() const { | 237 std::string StringOrdinal::ToString() const { |
| 248 CHECK(IsValid()); | 238 CHECK(IsValid()); |
| 249 return string_ordinal_; | 239 return string_ordinal_; |
| 250 } | 240 } |
| 251 | |
| 252 bool StringOrdinalLessThan::operator() (const StringOrdinal& lhs, | |
| 253 const StringOrdinal& rhs) const { | |
| 254 return lhs.LessThan(rhs); | |
| 255 } | |
| OLD | NEW |