> Then you can detect the situation and initialise it to the right size on > first use.
Yep, just making sure that was the intended/required solution, and that I wasn't missing something. If possible, it would be nice for the documentation to be updated to point out that detail for both QtConcurrent::mappedReduced() and QtConcurrent::filteredReduced(). At minimum, updating these examples would be helpful: https://doc.qt.io/qt-5/qtconcurrentmap.html#concurrent-map-reduce https://doc.qt.io/qt-5/qtconcurrentfilter.html#concurrent-filter-reduce As pointed out, the mappedReduced() example wouldn't work as described without realizing that you somehow need to initialize the QImage object somehow. The filteredReduced() one looks like it would actually work as described, but it would still be nice to point out to the reader that the first call to your reduce function will get a default constructed T object, which may or may not be what works with whatever underlying T type requires. For first-time users of the QtConcurrent API (like myself), more pointers in the documentation are always better! > But no, this is a limitation in the API. If we take the prototypical example > of a > reduction, std::accumulate, it does have an initial value: > https://en.cppreference.com/w/cpp/algorithm/accumulate > Is there any chance that in a future Qt release we could have additional versions of mappedReduced() and filteredReduced() that allows the developer to pass in a pre-intialized T& object? I haven't looked at the underlying Qt code for it, but my assumption is the only risk of doing this is that the *reduced() functions couldn't guarantee that I wasn't messing around with that same T& object in another thread, at the time the reduce function are trying to use it. But I'd think providing the functionality to pass one in, along with the documentation warning the developer that they shouldn't attempt to access the T& they passed in until the *reduced() operation has finished would be sufficient? Sean This e-mail, including any attached files, may contain confidential information, privileged information and/or trade secrets for the sole use of the intended recipient. Any review, use, distribution, or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive information for the intended recipient), please contact the sender by reply e-mail and delete all copies of this message. _______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest