Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Unified Diff: sync/internal_api/public/base/unique_position.cc

Issue 1477433005: Remove kuint8max. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@kint4
Patch Set: rebase Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sync/internal_api/public/base/unique_position.h ('k') | ui/app_list/views/speech_view.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/internal_api/public/base/unique_position.cc
diff --git a/sync/internal_api/public/base/unique_position.cc b/sync/internal_api/public/base/unique_position.cc
index 2d41614999c332fc81d371d2a2f6d0d4ae5fa9bf..30d40e3665bbb8d17241c88e93e7bffb7b4f4b2b 100644
--- a/sync/internal_api/public/base/unique_position.cc
+++ b/sync/internal_api/public/base/unique_position.cc
@@ -4,7 +4,8 @@
#include "sync/internal_api/public/base/unique_position.h"
-#include "base/basictypes.h"
+#include <limits>
+
#include "base/logging.h"
#include "base/rand_util.h"
#include "base/stl_util.h"
@@ -84,13 +85,12 @@ UniquePosition UniquePosition::FromProto(const sync_pb::UniquePosition& proto) {
}
// static.
-UniquePosition UniquePosition::FromInt64(
- int64 x, const std::string& suffix) {
- uint64 y = static_cast<uint64>(x);
+UniquePosition UniquePosition::FromInt64(int64_t x, const std::string& suffix) {
+ uint64_t y = static_cast<uint64_t>(x);
y ^= 0x8000000000000000ULL; // Make it non-negative.
std::string bytes(8, 0);
for (int i = 7; i >= 0; --i) {
- bytes[i] = static_cast<uint8>(y);
+ bytes[i] = static_cast<uint8_t>(y);
y >>= 8;
}
return UniquePosition(bytes + suffix, suffix);
@@ -176,22 +176,22 @@ void UniquePosition::SerializeToString(std::string* blob) const {
proto.SerializeToString(blob);
}
-int64 UniquePosition::ToInt64() const {
- uint64 y = 0;
+int64_t UniquePosition::ToInt64() const {
+ uint64_t y = 0;
const std::string& s = Uncompress(compressed_);
- size_t l = sizeof(int64);
+ size_t l = sizeof(int64_t);
if (s.length() < l) {
NOTREACHED();
l = s.length();
}
for (size_t i = 0; i < l; ++i) {
- const uint8 byte = s[l - i - 1];
- y |= static_cast<uint64>(byte) << (i * 8);
+ const uint8_t byte = s[l - i - 1];
+ y |= static_cast<uint64_t>(byte) << (i * 8);
}
y ^= 0x8000000000000000ULL;
// This is technically implementation-defined if y > INT64_MAX, so
// we're assuming that we're on a twos-complement machine.
- return static_cast<int64>(y);
+ return static_cast<int64_t>(y);
}
bool UniquePosition::IsValid() const {
@@ -247,7 +247,7 @@ std::string UniquePosition::FindSmallerWithSuffix(
} else {
// Prepend zeroes to match those in the |reference|, then something smaller
// than the first non-zero digit in |reference|.
- char lt_digit = static_cast<uint8>(reference[ref_zeroes])/2;
+ char lt_digit = static_cast<uint8_t>(reference[ref_zeroes]) / 2;
return std::string(ref_zeroes, '\0') + lt_digit;
}
}
@@ -256,8 +256,10 @@ std::string UniquePosition::FindSmallerWithSuffix(
std::string UniquePosition::FindGreaterWithSuffix(
const std::string& reference,
const std::string& suffix) {
- size_t ref_FFs = reference.find_first_not_of(kuint8max);
- size_t suffix_FFs = suffix.find_first_not_of(kuint8max);
+ size_t ref_FFs =
+ reference.find_first_not_of(std::numeric_limits<uint8_t>::max());
+ size_t suffix_FFs =
+ suffix.find_first_not_of(std::numeric_limits<uint8_t>::max());
if (ref_FFs == std::string::npos) {
ref_FFs = reference.length();
@@ -273,18 +275,22 @@ std::string UniquePosition::FindGreaterWithSuffix(
if (suffix.substr(suffix_FFs) > reference.substr(ref_FFs)) {
// Prepend FF digits to match those in |reference|.
- return std::string(ref_FFs - suffix_FFs, kuint8max);
+ return std::string(ref_FFs - suffix_FFs,
+ std::numeric_limits<uint8_t>::max());
} else if (suffix_FFs > 1) {
// Prepend enough leading FF digits so result has one more of them than
// |reference| does. We could also take the "else" branch below, but this
// gives us a smaller result.
- return std::string(ref_FFs - suffix_FFs + 1, kuint8max);
+ return std::string(ref_FFs - suffix_FFs + 1,
+ std::numeric_limits<uint8_t>::max());
} else {
// Prepend FF digits to match those in |reference|, then something larger
// than the first non-FF digit in |reference|.
- char gt_digit = static_cast<uint8>(reference[ref_FFs]) +
- (kuint8max - static_cast<uint8>(reference[ref_FFs]) + 1) / 2;
- return std::string(ref_FFs, kuint8max) + gt_digit;
+ char gt_digit = static_cast<uint8_t>(reference[ref_FFs]) +
+ (std::numeric_limits<uint8_t>::max() -
+ static_cast<uint8_t>(reference[ref_FFs]) + 1) /
+ 2;
+ return std::string(ref_FFs, std::numeric_limits<uint8_t>::max()) + gt_digit;
}
}
@@ -306,8 +312,8 @@ std::string UniquePosition::FindBetweenWithSuffix(
size_t i = 0;
for ( ; i < std::min(before.length(), after.length()); ++i) {
- uint8 a_digit = before[i];
- uint8 b_digit = after[i];
+ uint8_t a_digit = before[i];
+ uint8_t b_digit = after[i];
if (b_digit - a_digit >= 2) {
mid.push_back(a_digit + (b_digit - a_digit)/2);
@@ -464,14 +470,14 @@ UniquePosition::UniquePosition(
namespace {
// Appends an encoded run length to |output_str|.
-static void WriteEncodedRunLength(uint32 length,
+static void WriteEncodedRunLength(uint32_t length,
bool high_encoding,
std::string* output_str) {
CHECK_GE(length, 4U);
CHECK_LT(length, 0x80000000);
// Step 1: Invert the count, if necessary, to account for the following digit.
- uint32 encoded_length;
+ uint32_t encoded_length;
if (high_encoding) {
encoded_length = 0xffffffff - length;
} else {
@@ -486,18 +492,16 @@ static void WriteEncodedRunLength(uint32 length,
}
// Reads an encoded run length for |str| at position |i|.
-static uint32 ReadEncodedRunLength(const std::string& str, size_t i) {
+static uint32_t ReadEncodedRunLength(const std::string& str, size_t i) {
DCHECK_LE(i + 4, str.length());
// Step 1: Extract the big-endian count.
- uint32 encoded_length =
- ((uint8)(str[i+3]) << 0) |
- ((uint8)(str[i+2]) << 8) |
- ((uint8)(str[i+1]) << 16) |
- ((uint8)(str[i+0]) << 24);
+ uint32_t encoded_length =
+ ((uint8_t)(str[i + 3]) << 0) | ((uint8_t)(str[i + 2]) << 8) |
+ ((uint8_t)(str[i + 1]) << 16) | ((uint8_t)(str[i + 0]) << 24);
// Step 2: If this was an inverted count, un-invert it.
- uint32 length;
+ uint32_t length;
if (encoded_length & 0x80000000) {
length = 0xffffffff - encoded_length;
} else {
@@ -559,10 +563,11 @@ std::string UniquePosition::CompressImpl(const std::string& str) {
encode_high = false;
} else {
run_length = runs_until - i;
- encode_high = static_cast<uint8>(str[runs_until]) >
- static_cast<uint8>(rep_digit);
+ encode_high = static_cast<uint8_t>(str[runs_until]) >
+ static_cast<uint8_t>(rep_digit);
}
- DCHECK_LT(run_length, static_cast<size_t>(kint32max))
+ DCHECK_LT(run_length,
+ static_cast<size_t>(std::numeric_limits<int32_t>::max()))
<< "This implementation can't encode run-lengths greater than 2^31.";
WriteEncodedRunLength(run_length, encode_high, &output);
@@ -588,7 +593,7 @@ std::string UniquePosition::Uncompress(const std::string& str) {
if (IsRepeatedCharPrefix(str, i)) {
// Found a repeated character block. Expand it.
const char rep_digit = str[i];
- uint32 length = ReadEncodedRunLength(str, i+4);
+ uint32_t length = ReadEncodedRunLength(str, i + 4);
output.append(length, rep_digit);
} else {
// Found a regular block. Copy it.
@@ -603,7 +608,7 @@ std::string UniquePosition::Uncompress(const std::string& str) {
bool UniquePosition::IsValidCompressed(const std::string& str) {
for (size_t i = 0; i + 8 <= str.length(); i += 8) {
if (IsRepeatedCharPrefix(str, i)) {
- uint32 count = ReadEncodedRunLength(str, i+4);
+ uint32_t count = ReadEncodedRunLength(str, i + 4);
if (count < 4) {
// A repeated character block should at least represent the four
// characters that started it.
« no previous file with comments | « sync/internal_api/public/base/unique_position.h ('k') | ui/app_list/views/speech_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698