aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@qt.io>2024-03-14 21:27:31 +0100
committerMarco Bubke <marco.bubke@qt.io>2024-03-18 12:57:33 +0000
commit5159d7ebe441bbb658270f228ab9f99fc1952d9b (patch)
treeb57554fd4095e1c15ad9fa09529687bbcda65b30 /src/libs
parent6a5056dc221f79f72abdadbeeb7a2cca52026fa9 (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.h13
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)
{