- Remove the casting operator of QFuture<T> to T. It calls QFuture::result(), which may lead to undefined behavior if the user has moved the results from QFuture via QFuture::takeResult() before trying to do the conversion. - Disable implicit conversion of QFuture<T> to QFuture<void>, by making the constructor explicit. If the users really intend to do the conversion, they should do it explicitly. [ChangeLog][Source-Incompatible Changes][QFuture] Implicit conversions of QFuture<T> to T and to QFuture<void> have been disabled. Use QFuture::result() or QFuture::takeResult() where you need to convert QFuture<T> to T. Use the explicit QFuture<void>(const QFuture<T> &) constructor to convert QFuture<T> to QFuture<void>. Change-Id: I153d4137d36365b1611ac934fb3ac2eb667fdd6c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> |
||
|---|---|---|
| .. | ||
| imagescaling | ||
| map | ||
| progressdialog | ||
| runfunction | ||
| wordcount | ||
| CMakeLists.txt | ||
| README | ||
| qtconcurrent.pro | ||
README
Qt 4 extends Qt's support for multithreaded applications with an API for concurrent programming which includes implementations of the well-known map-reduce and filter-reduce algorithms. Documentation for these examples can be found via the Examples link in the main Qt documentation.