From 51a41836c3edfeb0d6b527fbd242f37ebb55a6fb Mon Sep 17 00:00:00 2001 From: wangchenguang Date: Thu, 10 Sep 2026 12:06:51 +0800 Subject: [PATCH] refactor(butil): replace integer string conversions --- example/baidu_proxy_and_generic_call/proxy.cpp | 7 ++++--- src/butil/location.cc | 5 +++-- src/butil/strings/string_number_conversions.cc | 6 ++---- src/butil/threading/simple_thread.cc | 5 +++-- src/butil/version.cc | 6 +++--- test/brpc_http_rpc_protocol_unittest.cpp | 2 +- test/shared_memory_unittest.cc | 6 +++++- test/simple_thread_unittest.cc | 8 +++++--- 8 files changed, 26 insertions(+), 19 deletions(-) diff --git a/example/baidu_proxy_and_generic_call/proxy.cpp b/example/baidu_proxy_and_generic_call/proxy.cpp index f6866532b1..56e4a04f3b 100644 --- a/example/baidu_proxy_and_generic_call/proxy.cpp +++ b/example/baidu_proxy_and_generic_call/proxy.cpp @@ -17,9 +17,10 @@ // todo // A proxy to receive EchoRequest and send back EchoResponse. +#include + #include #include -#include #include #include #include @@ -65,7 +66,7 @@ class BaiduMasterServiceImpl : public brpc::BaiduMasterService { FLAGS_load_balancer.c_str(), &options) != 0) { LOG(ERROR) << "Fail to initialize channel"; (*cntl->response_user_fields())["x-bd-proxy-error-code"] = - butil::IntToString(brpc::EINTERNAL); + std::to_string(brpc::EINTERNAL); (*cntl->response_user_fields())["x-bd-proxy-error-text"] = "Fail to initialize channel"; return; @@ -86,7 +87,7 @@ class BaiduMasterServiceImpl : public brpc::BaiduMasterService { // It is ok to use request and response for sync rpc. channel.CallMethod(nullptr, &call_cntl, request, response, nullptr); (*cntl->response_user_fields())["x-bd-proxy-error-code"] = - butil::IntToString(call_cntl.ErrorCode()); + std::to_string(call_cntl.ErrorCode()); if (call_cntl.Failed()) { (*cntl->response_user_fields())["x-bd-proxy-error-text"] = call_cntl.ErrorText(); diff --git a/src/butil/location.cc b/src/butil/location.cc index 3c95f0b23f..c3116f7f24 100644 --- a/src/butil/location.cc +++ b/src/butil/location.cc @@ -4,6 +4,8 @@ #include "butil/build_config.h" +#include + #if defined(COMPILER_MSVC) // MSDN says to #include , but that breaks the VS2005 build. extern "C" { @@ -12,7 +14,6 @@ extern "C" { #endif #include "butil/location.h" -#include "butil/strings/string_number_conversions.h" #include "butil/strings/stringprintf.h" namespace tracked_objects { @@ -36,7 +37,7 @@ Location::Location() std::string Location::ToString() const { return std::string(function_name_) + "@" + file_name_ + ":" + - butil::IntToString(line_number_); + std::to_string(line_number_); } void Location::Write(bool display_filename, bool display_function_name, diff --git a/src/butil/strings/string_number_conversions.cc b/src/butil/strings/string_number_conversions.cc index 0b6cd4ea28..9825d73e26 100644 --- a/src/butil/strings/string_number_conversions.cc +++ b/src/butil/strings/string_number_conversions.cc @@ -343,8 +343,7 @@ bool String16ToIntImpl(const StringPiece16& input, VALUE* output) { } // namespace std::string IntToString(int value) { - return IntToStringT:: - IntToString(value); + return std::to_string(value); } string16 IntToString16(int value) { @@ -353,8 +352,7 @@ string16 IntToString16(int value) { } std::string UintToString(unsigned int value) { - return IntToStringT:: - IntToString(value); + return std::to_string(value); } string16 UintToString16(unsigned int value) { diff --git a/src/butil/threading/simple_thread.cc b/src/butil/threading/simple_thread.cc index 301117f0ec..581a62188e 100644 --- a/src/butil/threading/simple_thread.cc +++ b/src/butil/threading/simple_thread.cc @@ -4,8 +4,9 @@ #include "butil/threading/simple_thread.h" +#include + #include "butil/logging.h" -#include "butil/strings/string_number_conversions.h" #include "butil/threading/platform_thread.h" #include "butil/threading/thread_restrictions.h" @@ -51,7 +52,7 @@ void SimpleThread::ThreadMain() { tid_ = PlatformThread::CurrentId(); // Construct our full name of the form "name_prefix_/TID". name_.push_back('/'); - name_.append(IntToString(tid_)); + name_.append(std::to_string(tid_)); PlatformThread::SetName(name_.c_str()); // We've initialized our new thread, signal that we're done to Start(). diff --git a/src/butil/version.cc b/src/butil/version.cc index f276d6feb5..003935ab26 100644 --- a/src/butil/version.cc +++ b/src/butil/version.cc @@ -43,7 +43,7 @@ bool ParseVersionNumbers(const std::string& version_str, return false; // This throws out things like +3, or 032. - if (IntToString(num) != *it) + if (std::to_string(num) != *it) return false; parsed->push_back(static_cast(num)); @@ -168,10 +168,10 @@ const std::string Version::GetString() const { std::string version_str; size_t count = components_.size(); for (size_t i = 0; i < count - 1; ++i) { - version_str.append(IntToString(components_[i])); + version_str.append(std::to_string(components_[i])); version_str.append("."); } - version_str.append(IntToString(components_[count - 1])); + version_str.append(std::to_string(components_[count - 1])); return version_str; } diff --git a/test/brpc_http_rpc_protocol_unittest.cpp b/test/brpc_http_rpc_protocol_unittest.cpp index 10fb5cc3a2..db7eb82ec8 100644 --- a/test/brpc_http_rpc_protocol_unittest.cpp +++ b/test/brpc_http_rpc_protocol_unittest.cpp @@ -2684,7 +2684,7 @@ TEST_F(HttpTest, http_head) { brpc::Controller cntl; cntl.http_request().set_method(brpc::HTTP_METHOD_HEAD); cntl.http_request().uri().set_path("/HttpService/Head"); - cntl.http_request().SetHeader("x-db-index", butil::IntToString(i)); + cntl.http_request().SetHeader("x-db-index", std::to_string(i)); channel.CallMethod(nullptr, &cntl, nullptr, nullptr, nullptr); ASSERT_FALSE(cntl.Failed()) << cntl.ErrorText(); diff --git a/test/shared_memory_unittest.cc b/test/shared_memory_unittest.cc index bbdeec63fd..08281cddd7 100644 --- a/test/shared_memory_unittest.cc +++ b/test/shared_memory_unittest.cc @@ -12,6 +12,9 @@ #include "multiprocess_test.h" #include "butil/threading/platform_thread.h" #include "butil/time/time.h" + +#include + #include #include "multiprocess_func_list.h" @@ -575,7 +578,8 @@ TEST(SharedMemoryTest, FilePermissionsNamed) { SharedMemory shared_memory; SharedMemoryCreateOptions options; options.size = kTestSize; - std::string shared_mem_name = "shared_perm_test-" + IntToString(getpid()) + + std::string shared_mem_name = "shared_perm_test-" + + std::to_string(static_cast(getpid())) + "-" + Uint64ToString(RandUint64()); options.name_deprecated = &shared_mem_name; // Set a file mode creation mask that gives all permissions. diff --git a/test/simple_thread_unittest.cc b/test/simple_thread_unittest.cc index 578d1775dc..8c4565ee12 100644 --- a/test/simple_thread_unittest.cc +++ b/test/simple_thread_unittest.cc @@ -3,9 +3,11 @@ // found in the LICENSE file. #include "butil/atomic_sequence_num.h" -#include "butil/strings/string_number_conversions.h" #include "butil/synchronization/waitable_event.h" #include "butil/threading/simple_thread.h" + +#include + #include namespace butil { @@ -123,7 +125,7 @@ TEST(SimpleThreadTest, NamedWithOptions) { thread.Start(); EXPECT_EQ(thread.name_prefix(), "event_waiter"); EXPECT_EQ(thread.name(), - std::string("event_waiter/") + IntToString(thread.tid())); + std::string("event_waiter/") + std::to_string(thread.tid())); event.Wait(); EXPECT_TRUE(event.IsSignaled()); @@ -132,7 +134,7 @@ TEST(SimpleThreadTest, NamedWithOptions) { // We keep the name and tid, even after the thread is gone. EXPECT_EQ(thread.name_prefix(), "event_waiter"); EXPECT_EQ(thread.name(), - std::string("event_waiter/") + IntToString(thread.tid())); + std::string("event_waiter/") + std::to_string(thread.tid())); } TEST(SimpleThreadTest, ThreadPool) {