std::string_view 的使用

This commit is contained in:
2026-06-29 09:40:55 +08:00
parent cd446b7ca8
commit 8daf67aa5d
52 changed files with 1420 additions and 1367 deletions
+17 -16
View File
@@ -1,4 +1,5 @@
#pragma once
#include <string_view>
@@ -23,12 +24,12 @@
// 集中 管理日志
using namespace Psc;
extern BaseLogger* server_logger;
std::string to_file_name(std::string str);
std::string to_file_name(std::string_view str);
std::string inet_address_to_string(const trantor::InetAddress &addr);
using Serial_Number_Type = unsigned int;
struct Debug_Logger_Info_Manager {
void push_info(const std::string& content);
void push_info(std::string_view content);
std::string get_info(Serial_Number_Type serial_number);
Serial_Number_Type get_cur_serial_number();
struct Info {
@@ -74,7 +75,7 @@ public:
std::string fall = "fall_";
using Handler = std::function<void(const drogon::HttpRequestPtr&, const drogon::HttpResponsePtr&)>;
using CoroHandler = std::function<drogon::Task<>(const drogon::HttpRequestPtr&, const drogon::HttpResponsePtr&)>;
bool listen(const std::string& host, int port);
bool listen(std::string_view host, int port);
~Web_Server() = default;
@@ -87,9 +88,9 @@ public:
drogon::app().quit();
}
Web_Server& Post(const std::string& pattern, Handler handler) {
Web_Server& Post(std::string_view pattern, Handler handler) {
drogon::app().registerHandler(
pattern,
std::string(pattern),
[handler](const drogon::HttpRequestPtr& request,
std::function<void(const drogon::HttpResponsePtr&)>&& callback) {
auto resp = drogon::HttpResponse::newHttpResponse();
@@ -105,9 +106,9 @@ public:
return *this;
}
Web_Server& PostCoro(const std::string& pattern, CoroHandler handler) {
Web_Server& PostCoro(std::string_view pattern, CoroHandler handler) {
drogon::app().registerHandler(
pattern,
std::string(pattern),
[handler = std::move(handler)](
const drogon::HttpRequestPtr& request,
std::function<void(const drogon::HttpResponsePtr&)>&& callback) {
@@ -135,9 +136,9 @@ public:
return *this;
}
Web_Server& Get(const std::string& pattern, Handler handler) {
Web_Server& Get(std::string_view pattern, Handler handler) {
drogon::app().registerHandlerViaRegex(
pattern,
std::string(pattern),
[handler](const drogon::HttpRequestPtr& request,
std::function<void(const drogon::HttpResponsePtr&)>&& callback) {
auto resp = drogon::HttpResponse::newHttpResponse();
@@ -153,9 +154,9 @@ public:
return *this;
}
Web_Server& GetCoro(const std::string& pattern, CoroHandler handler) {
Web_Server& GetCoro(std::string_view pattern, CoroHandler handler) {
drogon::app().registerHandlerViaRegex(
pattern,
std::string(pattern),
[handler = std::move(handler)](
const drogon::HttpRequestPtr& request,
std::function<void(const drogon::HttpResponsePtr&)>&& callback) {
@@ -272,8 +273,8 @@ public:
Global();
~Global();
Detach_Thread_Manager thread_manager;
std::shared_ptr<Data_Source> source(const std::string& data_source_key) {
return mode_acs.data_source_config.map.get(data_source_key).value_or(nullptr);
std::shared_ptr<Data_Source> source(std::string_view data_source_key) {
return mode_acs.data_source_config.map.get(std::string(data_source_key)).value_or(nullptr);
}
std::shared_ptr<Data_Source> total_source() {
for (auto i : mode_acs.data_source_config.map.list())
@@ -293,8 +294,8 @@ public:
void handle_buffer_muti_start(std::string& buffer, const std::string& data, const std::set<std::string>& prefix_list,
void handle_buffer_muti_start(std::string& buffer, std::string_view data, const std::set<std::string>& prefix_list,
const std::function<void(std::string&)>& callback);
void handle_buffer_head_tail(std::string& buffer, const std::string& data, const std::string& prefix,
const std::string& suffix, const std::function<void(std::string&)>& callback);
void handle_buffer_head_tail(std::string& buffer, std::string_view data, std::string_view prefix,
std::string_view suffix, const std::function<void(std::string&)>& callback);