| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef COMPONENTS_SYNC_BASE_ORDINAL_H_ | 5 #ifndef COMPONENTS_SYNC_BASE_ORDINAL_H_ |
| 6 #define COMPONENTS_SYNC_BASE_ORDINAL_H_ | 6 #define COMPONENTS_SYNC_BASE_ORDINAL_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 | 398 |
| 399 template <typename Traits> | 399 template <typename Traits> |
| 400 int Ordinal<Traits>::GetDigitValue(const std::string& bytes, size_t i) { | 400 int Ordinal<Traits>::GetDigitValue(const std::string& bytes, size_t i) { |
| 401 return GetDigit(bytes, i) - kZeroDigit; | 401 return GetDigit(bytes, i) - kZeroDigit; |
| 402 } | 402 } |
| 403 | 403 |
| 404 template <typename Traits> | 404 template <typename Traits> |
| 405 int Ordinal<Traits>::AddDigitValue(std::string* bytes, | 405 int Ordinal<Traits>::AddDigitValue(std::string* bytes, |
| 406 size_t i, | 406 size_t i, |
| 407 int digit_value) { | 407 int digit_value) { |
| 408 DCHECK_GE(i, 0U); | |
| 409 DCHECK_LT(i, bytes->length()); | 408 DCHECK_LT(i, bytes->length()); |
| 410 | 409 |
| 411 for (int j = static_cast<int>(i); j >= 0 && digit_value > 0; --j) { | 410 for (int j = static_cast<int>(i); j >= 0 && digit_value > 0; --j) { |
| 412 int byte_j_value = GetDigitValue(*bytes, j) + digit_value; | 411 int byte_j_value = GetDigitValue(*bytes, j) + digit_value; |
| 413 digit_value = byte_j_value / kRadix; | 412 digit_value = byte_j_value / kRadix; |
| 414 DCHECK_LE(digit_value, 1); | 413 DCHECK_LE(digit_value, 1); |
| 415 byte_j_value %= kRadix; | 414 byte_j_value %= kRadix; |
| 416 (*bytes)[j] = static_cast<char>(kZeroDigit + byte_j_value); | 415 (*bytes)[j] = static_cast<char>(kZeroDigit + byte_j_value); |
| 417 } | 416 } |
| 418 return digit_value; | 417 return digit_value; |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 483 DCHECK_LT(midpoint, end_bytes); | 482 DCHECK_LT(midpoint, end_bytes); |
| 484 | 483 |
| 485 Ordinal<Traits> midpoint_ordinal(midpoint); | 484 Ordinal<Traits> midpoint_ordinal(midpoint); |
| 486 DCHECK(midpoint_ordinal.IsValid()); | 485 DCHECK(midpoint_ordinal.IsValid()); |
| 487 return midpoint_ordinal; | 486 return midpoint_ordinal; |
| 488 } | 487 } |
| 489 | 488 |
| 490 } // namespace syncer | 489 } // namespace syncer |
| 491 | 490 |
| 492 #endif // COMPONENTS_SYNC_BASE_ORDINAL_H_ | 491 #endif // COMPONENTS_SYNC_BASE_ORDINAL_H_ |
| OLD | NEW |