From 98e791bdcaaaf20b1092b64911933a5bdd6dd72d Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 10 Aug 2023 15:38:56 +0200 Subject: [PATCH] QUuid: add a named fromUInt128() ctor This makes the API symmetric again (fromBytes()/toBytes(), fromString()/toString(), fromUInt128()/toUInt128()), but also gives us the option to remove the QUuid(quint128), should we so choose, because of its overly-broad argument matching range. Found in API review. Change-Id: I91bd2450d62ed565ec3b8e46c875f4983bd9dc73 Reviewed-by: Thiago Macieira (cherry picked from commit 70835a93351b3288a8df4361e648b9cd951ad436) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/plugin/quuid.cpp | 15 ++++++++++++++- src/corelib/plugin/quuid.h | 2 ++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/corelib/plugin/quuid.cpp b/src/corelib/plugin/quuid.cpp index dcf2529ef17..b446edbc958 100644 --- a/src/corelib/plugin/quuid.cpp +++ b/src/corelib/plugin/quuid.cpp @@ -320,6 +320,19 @@ static QUuid createFromName(const QUuid &ns, const QByteArray &baseData, QCrypto \note This function is only present on platforms that offer a 128-bit integer type. + \sa toUInt128(), fromUInt128(), fromBytes(), toBytes(), toRfc4122() +*/ + +/*! + \fn QUuid::fromUInt128(quint128 uuid, QSysInfo::Endian order) noexcept + \since 6.6 + + Creates a QUuid based on the integral \a uuid parameter and respecting the + byte order \a order. + + \note This function is only present on platforms that offer a 128-bit + integer type. + \sa toUInt128(), fromBytes(), toBytes(), toRfc4122() */ @@ -335,7 +348,7 @@ static QUuid createFromName(const QUuid &ns, const QByteArray &baseData, QCrypto \note This function is only present on platforms that offer a 128-bit integer type. - \sa toRfc4122(), toBytes(), fromBytes(), QUuid() + \sa toRfc4122(), fromUInt128(), toBytes(), fromBytes(), QUuid() */ /*! diff --git a/src/corelib/plugin/quuid.h b/src/corelib/plugin/quuid.h index 63007315176..2f1927afa25 100644 --- a/src/corelib/plugin/quuid.h +++ b/src/corelib/plugin/quuid.h @@ -102,6 +102,8 @@ public: #ifdef QT_SUPPORTS_INT128 constexpr explicit QUuid(quint128 uuid, QSysInfo::Endian order = QSysInfo::BigEndian) noexcept; + static constexpr QUuid fromUInt128(quint128 uuid, QSysInfo::Endian order = QSysInfo::BigEndian) noexcept + { return QUuid{uuid, order}; } constexpr quint128 toUInt128(QSysInfo::Endian order = QSysInfo::BigEndian) const noexcept; #endif