From 9df2bd256e148c00cbac690558d0c2ebf6b1b52d Mon Sep 17 00:00:00 2001 From: gabime Date: Thu, 19 Jul 2018 14:54:26 +0300 Subject: [PATCH] Changed some functions to accept strings instead of ref to strings for better semantics --- include/spdlog/details/logger_impl.h | 12 ++++++------ include/spdlog/details/pattern_formatter.h | 4 ++-- include/spdlog/logger.h | 6 +++--- include/spdlog/spdlog.h | 12 ++++++------ 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/include/spdlog/details/logger_impl.h b/include/spdlog/details/logger_impl.h index cc80ec76..4996a9cb 100644 --- a/include/spdlog/details/logger_impl.h +++ b/include/spdlog/details/logger_impl.h @@ -23,14 +23,14 @@ inline spdlog::logger::logger(std::string logger_name, const It &begin, const It } // ctor with sinks as init list -inline spdlog::logger::logger(const std::string &logger_name, sinks_init_list sinks_list) - : logger(logger_name, sinks_list.begin(), sinks_list.end()) +inline spdlog::logger::logger(std::string logger_name, sinks_init_list sinks_list) + : logger(std::move(logger_name), sinks_list.begin(), sinks_list.end()) { } // ctor with single sink -inline spdlog::logger::logger(const std::string &logger_name, spdlog::sink_ptr single_sink) - : logger(logger_name, {std::move(single_sink)}) +inline spdlog::logger::logger(std::string logger_name, spdlog::sink_ptr single_sink) + : logger(std::move(logger_name), {std::move(single_sink)}) { } @@ -46,9 +46,9 @@ inline void spdlog::logger::set_formatter(const Args &... args) } } -inline void spdlog::logger::set_pattern(const std::string &pattern, pattern_time_type time_type) +inline void spdlog::logger::set_pattern(std::string pattern, pattern_time_type time_type) { - set_formatter(pattern, time_type); + set_formatter(std::move(pattern), time_type); } template diff --git a/include/spdlog/details/pattern_formatter.h b/include/spdlog/details/pattern_formatter.h index f32e7fa9..b63d1eb7 100644 --- a/include/spdlog/details/pattern_formatter.h +++ b/include/spdlog/details/pattern_formatter.h @@ -539,14 +539,14 @@ private: class pattern_formatter SPDLOG_FINAL : public formatter { public: - explicit pattern_formatter(const std::string &pattern, pattern_time_type time_type = pattern_time_type::local, + explicit pattern_formatter(std::string pattern, pattern_time_type time_type = pattern_time_type::local, std::string eol = spdlog::details::os::default_eol) : eol_(std::move(eol)) , pattern_time_type_(time_type) , last_log_secs_(0) { std::memset(&cached_tm_, 0, sizeof(cached_tm_)); - compile_pattern_(pattern); + compile_pattern_(std::move(pattern)); } pattern_formatter(const pattern_formatter &) = delete; diff --git a/include/spdlog/logger.h b/include/spdlog/logger.h index 577528ab..46b922ae 100644 --- a/include/spdlog/logger.h +++ b/include/spdlog/logger.h @@ -28,8 +28,8 @@ namespace spdlog { class logger { public: - logger(const std::string &name, sink_ptr single_sink); - logger(const std::string &name, sinks_init_list sinks); + logger(std::string name, sink_ptr single_sink); + logger(std::string name, sinks_init_list sinks); template logger(std::string name, const It &begin, const It &end); @@ -114,7 +114,7 @@ public: // create a pattern formatter all the sinks in this logger. // each sink gets itw own private copy of a formatter object. - void set_pattern(const std::string &pattern, pattern_time_type time_type = pattern_time_type::local); + void set_pattern(std::string pattern, pattern_time_type time_type = pattern_time_type::local); // create a FormatterT formatter for each sink in this logger. // each sink gets its own private copy of a formatter object. diff --git a/include/spdlog/spdlog.h b/include/spdlog/spdlog.h index 90148d6f..73381910 100644 --- a/include/spdlog/spdlog.h +++ b/include/spdlog/spdlog.h @@ -23,10 +23,10 @@ struct synchronous_factory { template - static std::shared_ptr create(const std::string &logger_name, SinkArgs &&... args) + static std::shared_ptr create(std::string logger_name, SinkArgs &&... args) { auto sink = std::make_shared(std::forward(args)...); - auto new_logger = std::make_shared(logger_name, std::move(sink)); + auto new_logger = std::make_shared(std::move(logger_name), std::move(sink)); details::registry::instance().register_and_init(new_logger); return new_logger; } @@ -39,9 +39,9 @@ using default_factory = synchronous_factory; // Example: // spdlog::create("logger_name", "dailylog_filename", 11, 59); template -inline std::shared_ptr create(const std::string &logger_name, SinkArgs &&... sink_args) +inline std::shared_ptr create(std::string logger_name, SinkArgs &&... sink_args) { - return default_factory::create(logger_name, std::forward(sink_args)...); + return default_factory::create(std::move(logger_name), std::forward(sink_args)...); } // @@ -57,9 +57,9 @@ inline std::shared_ptr get(const std::string &name) // Set global formatting // example: spdlog::set_pattern("%Y-%m-%d %H:%M:%S.%e %l : %v"); // -inline void set_pattern(const std::string &format_string, pattern_time_type time_type = pattern_time_type::local) +inline void set_pattern(std::string format_string, pattern_time_type time_type = pattern_time_type::local) { - details::registry::instance().set_pattern(format_string, time_type); + details::registry::instance().set_pattern(std::move(format_string), time_type); } //