Difference between revisions of "QtConcurrent-BlockingMap-Member-Function-of-iterated-objects"

From Qt Wiki
Jump to: navigation, search
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
[[Category:HowTo]]
 
This demonstrates how to call a function on every object in the collection:
 
This demonstrates how to call a function on every object in the collection:
  
<code><br />#include &lt;QtConcurrentMap&amp;gt;
+
<code>
 +
#include <QtConcurrentMap>
 +
#include <iostream>
  
#include &lt;iostream&amp;gt;
+
class MyClass
 +
{
 +
public:
 +
void Test() {
 +
  std::cout << "Test" << std::endl;
 +
}
 +
};
  
class MyClass<br />{<br />public:<br /> void Test()<br /> {<br /> std::cout &lt;&lt; &quot;Test&amp;quot; &lt;&lt; std::endl;<br /> }<br />};
+
int main() {
 
+
QVector<MyClass> v;
int main()<br />{<br /> QVector&amp;lt;MyClass&amp;gt; v;<br /> MyClass a;<br /> v.push_back(a);
+
MyClass a;
 
+
v.push_back(a);
QtConcurrent::blockingMap(v.begin(), v.end(), &amp;MyClass::Test);
+
QtConcurrent::blockingMap(v.begin(), v.end(), &MyClass::Test);
 
+
return 0;
return 0;<br />}
+
}
 +
</code>

Latest revision as of 21:48, 7 April 2016

This demonstrates how to call a function on every object in the collection:

  1. include <QtConcurrentMap>
  2. include <iostream>

class MyClass { public:

void Test() {
  std::cout << "Test" << std::endl;
}

};

int main() {

QVector<MyClass> v;
MyClass a;
v.push_back(a);
QtConcurrent::blockingMap(v.begin(), v.end(), &MyClass::Test);
return 0;

}