From 58cc126defe4528ba171c812fd7544027190175e Mon Sep 17 00:00:00 2001 From: Sze Howe Koh Date: Thu, 2 Mar 2017 22:41:29 +0800 Subject: Doc: Replace std::bind() with lambdas in Qt Concurrent Lambda functions provide all the benefits of std::bind() plus more Change-Id: Iec30b20bb35ac0fae560435b323f80af2f2e5fce Reviewed-by: Olivier Goffart (Woboq GmbH) --- .../snippets/code/src_concurrent_qtconcurrentfilter.cpp | 14 +++----------- .../doc/snippets/code/src_concurrent_qtconcurrentmap.cpp | 14 +++----------- .../doc/snippets/code/src_concurrent_qtconcurrentrun.cpp | 5 +++-- 3 files changed, 9 insertions(+), 24 deletions(-) (limited to 'src/concurrent/doc/snippets/code') diff --git a/src/concurrent/doc/snippets/code/src_concurrent_qtconcurrentfilter.cpp b/src/concurrent/doc/snippets/code/src_concurrent_qtconcurrentfilter.cpp index d0deed4cc8b..9b15eeaa991 100644 --- a/src/concurrent/doc/snippets/code/src_concurrent_qtconcurrentfilter.cpp +++ b/src/concurrent/doc/snippets/code/src_concurrent_qtconcurrentfilter.cpp @@ -145,19 +145,11 @@ bool QString::contains(const QRegularExpression ®exp) const; //! [9] -//! [10] -std::bind(&QString::contains, QRegularExpression("^\\S+$")); // matches strings without whitespace -//! [10] - - -//! [11] -bool contains(const QString &string) -//! [11] - - //! [12] QStringList strings = ...; -std::bind(static_cast( &QString::contains ), QRegularExpression("...")); +QFuture future = QtConcurrent::filtered(list, [](const QString &str) { + return str.contains(QRegularExpression("^\\S+$")); // matches strings without whitespace +}); //! [12] //! [13] diff --git a/src/concurrent/doc/snippets/code/src_concurrent_qtconcurrentmap.cpp b/src/concurrent/doc/snippets/code/src_concurrent_qtconcurrentmap.cpp index 91e76be0db2..183b82bb9af 100644 --- a/src/concurrent/doc/snippets/code/src_concurrent_qtconcurrentmap.cpp +++ b/src/concurrent/doc/snippets/code/src_concurrent_qtconcurrentmap.cpp @@ -158,19 +158,11 @@ QImage QImage::scaledToWidth(int width, Qt::TransformationMode) const; //! [10] -//! [11] -std::bind(&QImage::scaledToWidth, 100, Qt::SmoothTransformation) -//! [11] - - -//! [12] -QImage scaledToWith(const QImage &image) -//! [12] - - //! [13] QList images = ...; -QFuture thumbnails = QtConcurrent::mapped(images, std::bind(&QImage::scaledToWidth, 100, Qt::SmoothTransformation)); +QFuture thumbnails = QtConcurrent::mapped(images, [](const QImage &img) { + return img.scaledToWidth(100, Qt::SmoothTransformation); +}); //! [13] //! [14] diff --git a/src/concurrent/doc/snippets/code/src_concurrent_qtconcurrentrun.cpp b/src/concurrent/doc/snippets/code/src_concurrent_qtconcurrentrun.cpp index 78e4591b0a9..5437822842f 100644 --- a/src/concurrent/doc/snippets/code/src_concurrent_qtconcurrentrun.cpp +++ b/src/concurrent/doc/snippets/code/src_concurrent_qtconcurrentrun.cpp @@ -109,7 +109,8 @@ future.waitForFinished(); //! [6] -void someFunction(int arg1, double arg2); -QFuture future = QtConcurrent::run(std::bind(someFunction, 1, 2.0)); +QFuture future = QtConcurrent::run([=]() { + // Code in this block will run in another thread +}); ... //! [6] -- cgit v1.2.3