From 1cd7898c01b6cfcdcd0314a3d79bf8a86aa1e619 Mon Sep 17 00:00:00 2001 From: Shauren Date: Wed, 10 Jul 2024 14:51:29 +0200 Subject: Core/Logging: Removed one layer of allocations from log message writes (async doesn't wrap in shared_ptr anymore and sync creates LogMessage on the stack) --- src/common/Logging/LogOperation.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/common/Logging/LogOperation.h') diff --git a/src/common/Logging/LogOperation.h b/src/common/Logging/LogOperation.h index 25dc075bd2f..0a642d56e12 100644 --- a/src/common/Logging/LogOperation.h +++ b/src/common/Logging/LogOperation.h @@ -24,14 +24,17 @@ class Logger; struct LogMessage; -class TC_COMMON_API LogOperation +class LogOperation { public: - LogOperation(Logger const* _logger, std::unique_ptr&& _msg); - + LogOperation(Logger const* _logger, LogMessage* _msg); + LogOperation(LogOperation const&) = delete; + LogOperation(LogOperation&&) noexcept = default; + LogOperation& operator=(LogOperation const&) = delete; + LogOperation& operator=(LogOperation&&) noexcept = default; ~LogOperation(); - int call(); + void operator()() const; protected: Logger const* logger; -- cgit v1.2.3