ResultReporter< T > Class Template Reference

ResultReporter< T > Class Template Reference

#include <qtconcurrentiteratekernel.h>

Class Description

template<typename T>
class QtConcurrent::ResultReporter< T >

Definition at line 106 of file qtconcurrentiteratekernel.h.

Public Member Functions

 ResultReporter (ThreadEngine< T > *_threadEngine)
 
void reserveSpace (int resultCount)
 
void reportResults (int begin)
 
T * getPointer ()
 

Public Attributes

int currentResultCount
 
ThreadEngine< T > * threadEngine
 
QVector< T > vector
 

Constructor & Destructor Documentation

ResultReporter ( ThreadEngine< T > *  _threadEngine)
inline

Definition at line 109 of file qtconcurrentiteratekernel.h.

110  :threadEngine(_threadEngine)
111  {
112 
113  }

Member Function Documentation

void reserveSpace ( int  resultCount)
inline

Definition at line 115 of file qtconcurrentiteratekernel.h.

116  {
117  currentResultCount = resultCount;
118  vector.resize(qMax(resultCount, vector.count()));
119  }
void reportResults ( int  begin)
inline

Definition at line 121 of file qtconcurrentiteratekernel.h.

122  {
123  const int useVectorThreshold = 4; // Tunable parameter.
124  if (currentResultCount > useVectorThreshold) {
125  vector.resize(currentResultCount);
126  threadEngine->reportResults(vector, begin);
127  } else {
128  for (int i = 0; i < currentResultCount; ++i)
129  threadEngine->reportResult(&vector.at(i), begin + i);
130  }
131  }
T* getPointer ( )
inline

Definition at line 133 of file qtconcurrentiteratekernel.h.

134  {
135  return vector.data();
136  }

Member Data Documentation

int currentResultCount

Definition at line 138 of file qtconcurrentiteratekernel.h.

ThreadEngine<T>* threadEngine

Definition at line 139 of file qtconcurrentiteratekernel.h.

QVector<T> vector

Definition at line 140 of file qtconcurrentiteratekernel.h.


The documentation for this class was generated from the following file: