diff options
author | Marco Bubke <marco.bubke@qt.io> | 2024-03-14 21:27:31 +0100 |
---|---|---|
committer | Marco Bubke <marco.bubke@qt.io> | 2024-03-18 12:57:33 +0000 |
commit | 5159d7ebe441bbb658270f228ab9f99fc1952d9b (patch) | |
tree | b57554fd4095e1c15ad9fa09529687bbcda65b30 /src/libs | |
parent | 6a5056dc221f79f72abdadbeeb7a2cca52026fa9 (diff) |
Nanotrace: Support enumeration arguments
Change-Id: I75f7576f28231fc35269cbb3bb46654739cf7f18
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Diffstat (limited to 'src/libs')
-rw-r--r-- | src/libs/nanotrace/nanotracehr.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libs/nanotrace/nanotracehr.h b/src/libs/nanotrace/nanotracehr.h index 7856ea3582..0698c61e05 100644 --- a/src/libs/nanotrace/nanotracehr.h +++ b/src/libs/nanotrace/nanotracehr.h @@ -153,6 +153,19 @@ void convertToString(String &string, double number) string.append(Utils::SmallString::number(number)); } +template<typename Enumeration> +constexpr std::underlying_type_t<Enumeration> to_underlying(Enumeration enumeration) noexcept +{ + static_assert(std::is_enum_v<Enumeration>, "to_underlying expect an enumeration"); + return static_cast<std::underlying_type_t<Enumeration>>(enumeration); +} + +template<typename String, typename Enumeration, typename = std::enable_if_t<std::is_enum_v<Enumeration>>> +void convertToString(String &string, Enumeration enumeration) +{ + string.append(Utils::SmallString::number(to_underlying(enumeration))); +} + template<typename String> void convertToString(String &string, const QString &text) { |