From e64eaf57f31d40e8ac635527e51f1ca147d472d3 Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Fri, 27 Jan 2023 11:59:30 +0100 Subject: [PATCH] QTypeInfo: move helpers in QtPrivate namespace qIsRelocatable and qIsValueInitializationBitwiseZero are not public API, hide them away. Change-Id: Ib4eeaab46d01759098e96091b700e9a28fd50962 Reviewed-by: Volker Hilsheimer (cherry picked from commit 0ca803a5d325f26f5e4e0fcab8b9c9a02f154336) Reviewed-by: Fabian Kosmale --- src/corelib/global/qtypeinfo.h | 12 ++++++++---- src/corelib/kernel/qvariant.h | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/corelib/global/qtypeinfo.h b/src/corelib/global/qtypeinfo.h index 349382be463..b70e4ba9d4e 100644 --- a/src/corelib/global/qtypeinfo.h +++ b/src/corelib/global/qtypeinfo.h @@ -19,6 +19,8 @@ class QDebug; QTypeInfo - type trait functionality */ +namespace QtPrivate { + template inline constexpr bool qIsRelocatable = std::is_trivially_copyable_v && std::is_trivially_destructible_v; @@ -32,6 +34,8 @@ template inline constexpr bool qIsValueInitializationBitwiseZero = std::is_scalar_v && !std::is_member_object_pointer_v; +} + /* The catch-all template. */ @@ -44,8 +48,8 @@ public: isPointer = std::is_pointer_v, isIntegral = std::is_integral_v, isComplex = !std::is_trivial_v, - isRelocatable = qIsRelocatable, - isValueInitializationBitwiseZero = qIsValueInitializationBitwiseZero, + isRelocatable = QtPrivate::qIsRelocatable, + isValueInitializationBitwiseZero = QtPrivate::qIsValueInitializationBitwiseZero, }; }; @@ -148,10 +152,10 @@ class QTypeInfo \ public: \ enum { \ isComplex = (((FLAGS) & Q_PRIMITIVE_TYPE) == 0) && !std::is_trivial_v, \ - isRelocatable = !isComplex || ((FLAGS) & Q_RELOCATABLE_TYPE) || qIsRelocatable, \ + isRelocatable = !isComplex || ((FLAGS) & Q_RELOCATABLE_TYPE) || QtPrivate::qIsRelocatable, \ isPointer = std::is_pointer_v< TYPE >, \ isIntegral = std::is_integral< TYPE >::value, \ - isValueInitializationBitwiseZero = qIsValueInitializationBitwiseZero, \ + isValueInitializationBitwiseZero = QtPrivate::qIsValueInitializationBitwiseZero, \ }; \ } diff --git a/src/corelib/kernel/qvariant.h b/src/corelib/kernel/qvariant.h index 844ad3cd65a..50b8dc24fb6 100644 --- a/src/corelib/kernel/qvariant.h +++ b/src/corelib/kernel/qvariant.h @@ -51,7 +51,7 @@ class QVariant; template inline T qvariant_cast(const QVariant &); -template<> constexpr inline bool qIsRelocatable = true; +template<> constexpr inline bool QtPrivate::qIsRelocatable = true; class Q_CORE_EXPORT QVariant { struct CborValueStandIn { qint64 n; void *c; int t; };