diff options
author | Arno Rehn <a.rehn@menlosystems.com> | 2021-07-09 16:22:18 +0200 |
---|---|---|
committer | Arno Rehn <a.rehn@menlosystems.com> | 2021-07-15 17:06:54 +0200 |
commit | 90d9a86c2e762c9426d0facbd54ed5dbff574ecd (patch) | |
tree | 03481f31a0bdc3c7593af8fb3ca71e167c3bf345 /src/corelib/kernel/qmetatype.h | |
parent | ac40875ba701d2f5d405bbd652fbe699f074236c (diff) |
QMetaType: Support converting any QFuture<T> to QFuture<void>
QMetaType now implicitly knows how to convert any QFuture<T> to
QFuture<void> without needing to manually register a converter
function.
QtWebChannel will make use of this to transparently support QFuture<T>
return types.
[ChangeLog][QtCore][QMetaType] QMetaType now supports converting any
QFuture<T> to QFuture<void>.
Task-number: QTBUG-92903
Change-Id: Ied7e71be37c346cc3d2c274ffb0d91a6821ab4d4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/corelib/kernel/qmetatype.h')
-rw-r--r-- | src/corelib/kernel/qmetatype.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h index 019a85c12a..adc4ae92d5 100644 --- a/src/corelib/kernel/qmetatype.h +++ b/src/corelib/kernel/qmetatype.h @@ -1092,6 +1092,14 @@ namespace QtPrivate static bool registerConverter() { return false; } }; +#if QT_CONFIG(future) + template<typename T> + struct MetaTypeQFutureHelper + { + static bool registerConverter() { return false; } + }; +#endif + Q_CORE_EXPORT bool isBuiltinType(const QByteArray &type); } // namespace QtPrivate @@ -1218,6 +1226,9 @@ int qRegisterNormalizedMetaType(const QT_PREPEND_NAMESPACE(QByteArray) &normaliz QtPrivate::AssociativeContainerTransformationHelper<T>::registerMutableView(); QtPrivate::MetaTypePairHelper<T>::registerConverter(); QtPrivate::MetaTypeSmartPointerHelper<T>::registerConverter(); +#if QT_CONFIG(future) + QtPrivate::MetaTypeQFutureHelper<T>::registerConverter(); +#endif if (normalizedTypeName != metaType.name()) QMetaType::registerNormalizedTypedef(normalizedTypeName, metaType); |