diff --git a/src/Cemu/Logging/CemuLogging.h b/src/Cemu/Logging/CemuLogging.h index e4d09eb4..d89d9cec 100644 --- a/src/Cemu/Logging/CemuLogging.h +++ b/src/Cemu/Logging/CemuLogging.h @@ -36,7 +36,8 @@ enum class LogType : sint32 template <> struct fmt::formatter : formatter { template - auto format(std::u8string_view v, FormatContext& ctx) { + auto format(std::u8string_view v, FormatContext& ctx) + { string_view s((char*)v.data(), v.size()); return formatter::format(s, ctx); } @@ -53,7 +54,8 @@ bool cemuLog_log(LogType type, std::wstring_view text); void cemuLog_waitForFlush(); // wait until all log lines are written template -auto ForwardEnum(T t) { +auto ForwardEnum(T t) +{ if constexpr (std::is_enum_v) return fmt::underlying(t); else @@ -61,21 +63,22 @@ auto ForwardEnum(T t) { } template -auto ForwardEnum(std::tuple t) { - return std::apply([](auto... x) { return std::make_tuple(ForwardEnum(x)...); }, t); +auto ForwardEnum(std::tuple t) +{ + return std::apply([](auto... x) { return std::make_tuple(ForwardEnum(x)...); }, t); } template bool cemuLog_log(LogType type, std::basic_string format, TArgs&&... args) - { - if (!cemuLog_isLoggingEnabled(type)) - return false; - +{ + if (!cemuLog_isLoggingEnabled(type)) + return false; + const auto format_view = fmt::basic_string_view(format); const auto text = fmt::vformat(format_view, fmt::make_format_args>(ForwardEnum(args)...)); - cemuLog_log(type, std::basic_string_view(text.data(), text.size())); - return true; - } + cemuLog_log(type, std::basic_string_view(text.data(), text.size())); + return true; +} template bool cemuLog_log(LogType type, const T* format, TArgs&&... args)