Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
src_concurrent_qtconcurrentmap.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
3
5U function(const T &t);
7
8
11{
12 return image.scaled(100, 100);
13}
14
15QList<QImage> images = ...;
18
19
21U function(T &t);
23
24
27{
28 image = image.scaled(100, 100);
29}
30
31QList<QImage> images = ...;
34
35
37V function(T &result, const U &intermediate)
39
40
41
43{
45 static QPoint offset = QPoint(0, 0);
46 p.drawImage(offset, thumbnail);
47 offset += ...;
48}
49
50QList<QImage> images = ...;
53
54
56QList<QImage> images = ...;
57
59
60// Map in-place only works on non-const iterators.
61QFuture<void> future = QtConcurrent::map(images.begin(), images.end(), scale);
62
65
66
68QList<QImage> images = ...;
69
70// Each call blocks until the entire operation is finished.
72
74
77
78
80// Squeeze all strings in a QStringList.
83
84// Swap the rgb values of all pixels on a list of images.
85QList<QImage> images = ...;
87 static_cast<QImage (QImage::*)() const &>(&QImage::rgbSwapped));
88
89// Create a set of the lengths of all strings in a list.
92 qOverload<const int&>(&QSet<int>::insert));
94
95
97// Can mix normal functions and member functions with QtConcurrent::mappedReduced().
98
99// Compute the average length of a list of strings.
100extern void computeAverage(int &average, int length);
101QStringList strings = ...;
103
104// Create a set of the color distribution of all images in a list.
105extern int colorDistribution(const QImage &string);
106QList<QImage> images = ...;
108 qOverload<const int&>(&QSet<int>::insert));
110
111
115
118{
120};
121
122QFuture<QImage> thumbNails =
126
128QList<QImage> images = ...;
129std::function<QImage(const QImage &)> scale = [](const QImage &img) {
131};
132QFuture<QImage> thumbnails = QtConcurrent::mapped(images, scale);
134
136struct Scaled
137{
139 : m_size(size) { }
140
142
144 {
145 return image.scaled(m_size, m_size);
146 }
147
149};
150
151QList<QImage> images = ...;
152QFuture<QImage> thumbnails = QtConcurrent::mapped(images, Scaled(100));
154
156QList<int> vector { 1, 2, 3, 4 };
157QtConcurrent::blockingMap(vector, [](int &x) { x *= 2; });
158
159int size = 100;
160QList<QImage> images = ...;
161
163 [&size](const QImage &image) {
164 return image.scaled(size, size);
165 }
166 ).results();
168
171 [&size](const QImage &image) {
172 return image.scaled(size, size);
173 },
175 ).results();
177
180 [&size](const QImage &image) {
181 return image.scaled(size, size);
182 },
183 [](QImage &result, const QImage &value) {
184 // do some transformation
185 }
186 ).results();
\inmodule QtGui
Definition qimage.h:37
QImage rgbSwapped() const &
Definition qimage.h:223
QImage scaledToWidth(int w, Qt::TransformationMode mode=Qt::FastTransformation) const
[9]
Definition qimage.cpp:3013
iterator end()
Definition qlist.h:626
const_iterator constBegin() const noexcept
Definition qlist.h:632
iterator begin()
Definition qlist.h:625
const_iterator constEnd() const noexcept
Definition qlist.h:633
The QPainter class performs low-level painting on widgets and other paint devices.
Definition qpainter.h:46
\inmodule QtCore\reentrant
Definition qpoint.h:25
Definition qset.h:18
\inmodule QtCore
void squeeze()
Releases any memory not required to store the character data.
Definition qstring.h:1333
qsizetype length() const noexcept
Returns the number of characters in this string.
Definition qstring.h:191
void blockingMap(QThreadPool *pool, Sequence &&sequence, MapFunctor map)
Calls function once for each item in sequence.
QFuture< QtPrivate::MapResultType< Sequence, MapFunctor > > mapped(QThreadPool *pool, Sequence &&sequence, MapFunctor &&map)
QFuture< void > map(QThreadPool *pool, Sequence &&sequence, MapFunctor &&map)
Calls function once for each item in sequence.
QFuture< ResultType > mappedReduced(QThreadPool *pool, Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
ResultType blockingMappedReduced(QThreadPool *pool, Sequence &&sequence, MapFunctor &&map, ReduceFunctor &&reduce, ReduceOptions options=ReduceOptions(UnorderedReduce|SequentialReduce))
OutputSequence blockingMapped(QThreadPool *pool, InputSequence &&sequence, MapFunctor &&map)
Calls function once for each item in sequence and returns an OutputSequence containing the results.
TransformationMode
@ SmoothTransformation
Definition image.cpp:4
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction function
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLint GLint GLint GLint GLint x
[0]
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLsizei const GLchar ** strings
[1]
GLenum GLuint GLenum GLsizei length
GLint GLsizei width
GLenum GLuint GLintptr offset
GLint void * img
Definition qopenglext.h:233
GLdouble GLdouble t
Definition qopenglext.h:243
GLuint64EXT * result
[6]
GLfloat GLfloat p
[1]
GLenum GLenum GLenum GLenum GLenum scale
void addToCollage(QImage &collage, const QImage &grayscaleImage)
QFuture< int > averageWordLength
QList< int > vector
[14]
std::function< QImage(const QImage &) scale)
QList< QImage > images
[5]
QFuture< void > future
QFuture< QImage > bgrImages
void computeAverage(int &average, int length)
[8]
V const QImage & thumbnail
QFuture< QSet< int > > wordLengths
QFuture< QSet< int > > totalColorDistribution
QImage scaled(const QImage &image)
[0]
int colorDistribution(const QImage &string)
QFuture< void > squeezedStrings
QFuture< QImage > collage
[15]
QFuture< QImage > thumbnails
QFuture< QImage > thumbNails
void operator()(QImage &result, const QImage &value)
QImage operator()(const QImage &image)