ResultStore< T > Class Template Reference

ResultStore< T > Class Template Reference

#include <qtconcurrentresultstore.h>

Class Description

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

Definition at line 157 of file qtconcurrentresultstore.h.

+ Inheritance diagram for ResultStore< T >:

Public Member Functions

 ResultStore ()
 
 ResultStore (const ResultStoreBase &base)
 
int addResult (int index, const T *result)
 
int addResults (int index, const QVector< T > *results)
 
int addResults (int index, const QVector< T > *results, int totalCount)
 
int addCanceledResult (int index)
 
int addCanceledResults (int index, int _count)
 
ResultIterator< T > begin () const
 
ResultIterator< T > end () const
 
ResultIterator< T > resultAt (int index) const
 
void clear ()
 
 ~ResultStore ()
 
- Public Member Functions inherited from ResultStoreBase
 ResultStoreBase ()
 
void setFilterMode (bool enable)
 
bool filterMode () const
 
int addResult (int index, const void *result)
 
int addResults (int index, const void *results, int vectorSize, int logicalCount)
 
ResultIteratorBase begin () const
 
ResultIteratorBase end () const
 
bool hasNextResult () const
 
ResultIteratorBase resultAt (int index) const
 
bool contains (int index) const
 
int count () const
 
virtual ~ResultStoreBase ()
 

Additional Inherited Members

- Protected Member Functions inherited from ResultStoreBase
int insertResultItem (int index, ResultItem &resultItem)
 
void insertResultItemIfValid (int index, ResultItem &resultItem)
 
void syncPendingResults ()
 
void syncResultCount ()
 
int updateInsertIndex (int index, int _count)
 
- Protected Attributes inherited from ResultStoreBase
QMap< int, ResultItemm_results
 
int insertIndex
 
int resultCount
 
bool m_filterMode
 
QMap< int, ResultItempendingResults
 
int filteredResults
 

Constructor & Destructor Documentation

ResultStore ( )
inline

Definition at line 160 of file qtconcurrentresultstore.h.

160 { }
ResultStore ( const ResultStoreBase base)
inline

Definition at line 162 of file qtconcurrentresultstore.h.

~ResultStore ( )
inline

Definition at line 226 of file qtconcurrentresultstore.h.

227  {
228  clear();
229  }

Member Function Documentation

int addResult ( int  index,
const T *  result 
)
inline

Definition at line 165 of file qtconcurrentresultstore.h.

166  {
167  if (result == 0)
168  return ResultStoreBase::addResult(index, result);
169  else
170  return ResultStoreBase::addResult(index, new T(*result));
171  }
int addResult(int index, const void *result)
GLuint index
Definition: GLee.h:1704
int addResults ( int  index,
const QVector< T > *  results 
)
inline

Definition at line 173 of file qtconcurrentresultstore.h.

174  {
175  return ResultStoreBase::addResults(index, new QVector<T>(*results), results->count(), results->count());
176  }
int count(const T &t) const
Definition: qvector.h:742
int addResults(int index, const void *results, int vectorSize, int logicalCount)
GLuint index
Definition: GLee.h:1704
int addResults ( int  index,
const QVector< T > *  results,
int  totalCount 
)
inline

Definition at line 178 of file qtconcurrentresultstore.h.

179  {
180  if (m_filterMode && totalCount && !results->count())
181  return ResultStoreBase::addResults(index, 0, 0, totalCount);
182  else
183  return ResultStoreBase::addResults(index, new QVector<T>(*results), results->count(), totalCount);
184  }
int count(const T &t) const
Definition: qvector.h:742
int addResults(int index, const void *results, int vectorSize, int logicalCount)
GLuint index
Definition: GLee.h:1704
int addCanceledResult ( int  index)
inline

Definition at line 186 of file qtconcurrentresultstore.h.

187  {
188  return addResult(index, 0);
189  }
int addResult(int index, const T *result)
GLuint index
Definition: GLee.h:1704
int addCanceledResults ( int  index,
int  _count 
)
inline

Definition at line 191 of file qtconcurrentresultstore.h.

192  {
193  QVector<T> empty;
194  return addResults(index, &empty, _count);
195  }
int addResults(int index, const QVector< T > *results)
GLuint index
Definition: GLee.h:1704
ResultIterator<T> begin ( ) const
inline

Definition at line 197 of file qtconcurrentresultstore.h.

198  {
199  return static_cast<ResultIterator<T> >(ResultStoreBase::begin());
200  }
ResultIteratorBase begin() const
ResultIterator<T> end ( ) const
inline

Definition at line 202 of file qtconcurrentresultstore.h.

203  {
204  return static_cast<ResultIterator<T> >(ResultStoreBase::end());
205  }
ResultIteratorBase end() const
ResultIterator<T> resultAt ( int  index) const
inline

Definition at line 207 of file qtconcurrentresultstore.h.

208  {
209  return static_cast<ResultIterator<T> >(ResultStoreBase::resultAt(index));
210  }
ResultIteratorBase resultAt(int index) const
GLuint index
Definition: GLee.h:1704
void clear ( )
inline

Definition at line 212 of file qtconcurrentresultstore.h.

213  {
214  QMap<int, ResultItem>::const_iterator mapIterator = m_results.constBegin();
215  while (mapIterator != m_results.constEnd()) {
216  if (mapIterator.value().isVector())
217  delete reinterpret_cast<const QVector<T> *>(mapIterator.value().result);
218  else
219  delete reinterpret_cast<const T *>(mapIterator.value().result);
220  ++mapIterator;
221  }
222  resultCount = 0;
223  m_results.clear();
224  }
const T & value() const
Definition: qmap.h:325

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