Browse Source

Accelerate SimpleItoa conversion using abseil function (#2731)

* Accelerate conversion from integer to string, using abseil StrCat and StrAppend function

* minor code simplification
pull/2735/head
Gilles Vollant 4 years ago
committed by GitHub
parent
commit
de0048d805
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 21 deletions
  1. +1
    -2
      cpp/src/phonenumbers/regexp_adapter_icu.cc
  2. +7
    -19
      cpp/src/phonenumbers/stringutil.cc

+ 1
- 2
cpp/src/phonenumbers/regexp_adapter_icu.cc View File

@ -46,8 +46,7 @@ namespace {
// Converts UnicodeString 'source' to a UTF8-formatted std::string.
string UnicodeStringToUtf8String(const UnicodeString& source) {
string data;
StringByteSink sink(&data);
source.toUTF8(sink);
source.toUTF8String(data);
return data;
}


+ 7
- 19
cpp/src/phonenumbers/stringutil.cc View File

@ -21,6 +21,9 @@
#include "phonenumbers/stringutil.h"
#include "absl/strings/str_cat.h"
namespace i18n {
namespace phonenumbers {
@ -28,36 +31,21 @@ using std::equal;
using std::stringstream;
string operator+(const string& s, int n) { // NOLINT(runtime/string)
stringstream stream;
stream << s << n;
string result;
stream >> result;
return result;
}
template <typename T>
string GenericSimpleItoa(const T& n) {
stringstream stream;
stream << n;
string result;
stream >> result;
absl::StrAppend(&result,s,n);
return result;
}
string SimpleItoa(int n) {
return GenericSimpleItoa(n);
return absl::StrCat(n);
}
string SimpleItoa(uint64 n) {
return GenericSimpleItoa(n);
return absl::StrCat(n);
}
string SimpleItoa(int64 n) {
return GenericSimpleItoa(n);
return absl::StrCat(n);
}
bool HasPrefixString(const string& s, const string& prefix) {


Loading…
Cancel
Save