diff options
| author | 2022-01-09 18:29:59 -0800 | |
|---|---|---|
| committer | 2022-01-09 18:29:59 -0800 | |
| commit | b3308830b217cbdd9638b11e8660d079e16b3f01 (patch) | |
| tree | 59866b89fe1f5b29f40ace68e6e20badc7c38d30 /src | |
| parent | Merge pull request #7687 from german77/tas_handle (diff) | |
| parent | logging/log.h: move enum class formatter to a separate file ... (diff) | |
| download | yuzu-b3308830b217cbdd9638b11e8660d079e16b3f01.tar.gz yuzu-b3308830b217cbdd9638b11e8660d079e16b3f01.tar.xz yuzu-b3308830b217cbdd9638b11e8660d079e16b3f01.zip | |
Merge pull request #7683 from liushuyu/fmt-8.1
logging: adapt to changes in fmt 8.1
Diffstat (limited to 'src')
| -rw-r--r-- | src/common/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/common/logging/formatter.h | 23 | ||||
| -rw-r--r-- | src/common/logging/log.h | 3 | ||||
| -rw-r--r-- | src/shader_recompiler/exception.h | 2 |
4 files changed, 27 insertions, 2 deletions
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 790193b00..adf70eb8b 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt | |||
| @@ -85,6 +85,7 @@ add_library(common STATIC | |||
| 85 | logging/backend.h | 85 | logging/backend.h |
| 86 | logging/filter.cpp | 86 | logging/filter.cpp |
| 87 | logging/filter.h | 87 | logging/filter.h |
| 88 | logging/formatter.h | ||
| 88 | logging/log.h | 89 | logging/log.h |
| 89 | logging/log_entry.h | 90 | logging/log_entry.h |
| 90 | logging/text_formatter.cpp | 91 | logging/text_formatter.cpp |
diff --git a/src/common/logging/formatter.h b/src/common/logging/formatter.h new file mode 100644 index 000000000..552cde75a --- /dev/null +++ b/src/common/logging/formatter.h | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | // Copyright 2022 yuzu Emulator Project | ||
| 2 | // Licensed under GPLv2 or any later version | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include <type_traits> | ||
| 8 | |||
| 9 | #include <fmt/format.h> | ||
| 10 | |||
| 11 | // adapted from https://github.com/fmtlib/fmt/issues/2704 | ||
| 12 | // a generic formatter for enum classes | ||
| 13 | #if FMT_VERSION >= 80100 | ||
| 14 | template <typename T> | ||
| 15 | struct fmt::formatter<T, std::enable_if_t<std::is_enum_v<T>, char>> | ||
| 16 | : formatter<std::underlying_type_t<T>> { | ||
| 17 | template <typename FormatContext> | ||
| 18 | auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out()) { | ||
| 19 | return fmt::formatter<std::underlying_type_t<T>>::format( | ||
| 20 | static_cast<std::underlying_type_t<T>>(value), ctx); | ||
| 21 | } | ||
| 22 | }; | ||
| 23 | #endif | ||
diff --git a/src/common/logging/log.h b/src/common/logging/log.h index c186d55ef..0c80d01ee 100644 --- a/src/common/logging/log.h +++ b/src/common/logging/log.h | |||
| @@ -7,8 +7,9 @@ | |||
| 7 | #include <algorithm> | 7 | #include <algorithm> |
| 8 | #include <string_view> | 8 | #include <string_view> |
| 9 | 9 | ||
| 10 | #include <fmt/core.h> | 10 | #include <fmt/format.h> |
| 11 | 11 | ||
| 12 | #include "common/logging/formatter.h" | ||
| 12 | #include "common/logging/types.h" | 13 | #include "common/logging/types.h" |
| 13 | 14 | ||
| 14 | namespace Common::Log { | 15 | namespace Common::Log { |
diff --git a/src/shader_recompiler/exception.h b/src/shader_recompiler/exception.h index 277be8541..d98b6029b 100644 --- a/src/shader_recompiler/exception.h +++ b/src/shader_recompiler/exception.h | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | #include <string_view> | 9 | #include <string_view> |
| 10 | #include <utility> | 10 | #include <utility> |
| 11 | 11 | ||
| 12 | #include <fmt/format.h> | 12 | #include "common/logging/formatter.h" |
| 13 | 13 | ||
| 14 | namespace Shader { | 14 | namespace Shader { |
| 15 | 15 | ||