Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

QtConcurrent-BlockingMapped-Member-Function-of-iterated-objects: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
This demonstrates how to call a member function on each item in the container and get a collection of the return values.<br /><code><br />#include &lt;QtConcurrentMap&amp;gt;<br />#include &lt;QVector&amp;gt;
This demonstrates how to call a member function on each item in the container and get a collection of the return values.<br /><code><br />#include <QtConcurrentMap><br />#include <QVector>


#include &lt;iostream&amp;gt;
#include <iostream>


class MyClass<br />{<br />public:<br /> float Test() const // Note, this function MUST be const!<br /> {<br /> return 1.0f;<br /> }<br />};
class MyClass<br />{<br />public:<br /> float Test() const // Note, this function MUST be const!<br /> {<br /> return 1.0f;<br /> }<br />};


int main()<br />{<br /> QVector&amp;lt;MyClass&amp;gt; v;<br /> MyClass a;<br /> v.push_back(a);
int main()<br />{<br /> QVector<MyClass> v;<br /> MyClass a;<br /> v.push_back(a);


QVector&amp;lt;float&amp;gt; result = QtConcurrent::blockingMapped&amp;lt;QVector&amp;lt;float&amp;gt; &gt;(v.begin(), v.end(), &amp;MyClass::Test);
QVector<float> result = QtConcurrent::blockingMapped<QVector<float> >(v.begin(), v.end(), &amp;MyClass::Test);


return 0;<br />}
return 0;<br />}

Revision as of 14:24, 24 February 2015

This demonstrates how to call a member function on each item in the container and get a collection of the return values.

#include <QtConcurrentMap>
#include <QVector>

  1. include <iostream>

class MyClass
{
public:
float Test() const // Note, this function MUST be const!
{
return 1.0f;
}
};

int main()
{
QVector<MyClass> v;
MyClass a;
v.push_back(a);

QVector<float> result = QtConcurrent::blockingMapped<QVector<float> >(v.begin(), v.end(), &MyClass::Test);

return 0;
}