diff --git a/src/corelib/thread/qfuture_impl.h b/src/corelib/thread/qfuture_impl.h index 6bf3a7406a5..9a60348e3de 100644 --- a/src/corelib/thread/qfuture_impl.h +++ b/src/corelib/thread/qfuture_impl.h @@ -17,6 +17,8 @@ #include #include +#include + QT_BEGIN_NAMESPACE // @@ -1058,7 +1060,7 @@ struct WhenAnyContext }; template -void addCompletionHandlersImpl(const QSharedPointer &context, +void addCompletionHandlersImpl(const std::shared_ptr &context, const std::tuple &t) { auto future = std::get(t); @@ -1074,7 +1076,7 @@ void addCompletionHandlersImpl(const QSharedPointer &context, } template -void addCompletionHandlers(const QSharedPointer &context, const std::tuple &t) +void addCompletionHandlers(const std::shared_ptr &context, const std::tuple &t) { constexpr qsizetype size = std::tuple_size>::value; addCompletionHandlersImpl(context, t); @@ -1087,7 +1089,7 @@ QFuture whenAllImpl(InputIt first, InputIt last) if (size == 0) return QtFuture::makeReadyFuture(OutputSequence()); - auto context = QSharedPointer>::create(size); + const auto context = std::make_shared>(size); context->futures.resize(size); context->promise.start(); @@ -1106,7 +1108,7 @@ template QFuture whenAllImpl(Futures &&... futures) { constexpr qsizetype size = sizeof...(Futures); - auto context = QSharedPointer>::create(size); + const auto context = std::make_shared>(size); context->futures.resize(size); context->promise.start(); @@ -1128,7 +1130,7 @@ QFuture::type>> whenAnyImpl(I QtFuture::WhenAnyResult { qsizetype(-1), QFuture() }); } - auto context = QSharedPointer>::create(); + const auto context = std::make_shared>(); context->promise.start(); qsizetype idx = 0; @@ -1147,7 +1149,7 @@ QFuture...>> whenAnyImpl(Futures &&... future { using ResultType = std::variant...>; - auto context = QSharedPointer>::create(); + const auto context = std::make_shared>(); context->promise.start(); QtPrivate::addCompletionHandlers(context, std::make_tuple(std::forward(futures)...));