[RFC PATCH v2 6/9] libcamera: base: log: Pass dynamic prefix through

Barnabás Pőcze pobrn at protonmail.com
Thu Jan 30 20:58:47 CET 2025


Use move construction to essentially pass through the string
returned by `Loggable::logPrefix()` to avoid an unnecessary copy.

Signed-off-by: Barnabás Pőcze <pobrn at protonmail.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 include/libcamera/base/log.h | 2 +-
 src/libcamera/base/log.cpp   | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/libcamera/base/log.h b/include/libcamera/base/log.h
index acef24203..1fb92603f 100644
--- a/include/libcamera/base/log.h
+++ b/include/libcamera/base/log.h
@@ -64,7 +64,7 @@ class LogMessage
 public:
 	LogMessage(const char *fileName, unsigned int line,
 		   const LogCategory &category, LogSeverity severity,
-		   const std::string &prefix = std::string());
+		   std::string prefix = {});
 	~LogMessage();
 
 	std::ostream &stream() { return msgStream_; }
diff --git a/src/libcamera/base/log.cpp b/src/libcamera/base/log.cpp
index 9415b6937..0dfdb0e9b 100644
--- a/src/libcamera/base/log.cpp
+++ b/src/libcamera/base/log.cpp
@@ -872,9 +872,9 @@ const LogCategory &LogCategory::defaultCategory()
  */
 LogMessage::LogMessage(const char *fileName, unsigned int line,
 		       const LogCategory &category, LogSeverity severity,
-		       const std::string &prefix)
+		       std::string prefix)
 	: category_(category), severity_(severity),
-	  timestamp_(utils::clock::now()), prefix_(prefix)
+	  timestamp_(utils::clock::now()), prefix_(std::move(prefix))
 {
 	std::ostringstream ossFileInfo;
 	ossFileInfo << utils::basename(fileName) << ":" << line;
-- 
2.48.1




More information about the libcamera-devel mailing list