diff options
Diffstat (limited to 'examples/qtconcurrent/wordcount/main.cpp')
| -rw-r--r-- | examples/qtconcurrent/wordcount/main.cpp | 27 | 
1 files changed, 15 insertions, 12 deletions
| diff --git a/examples/qtconcurrent/wordcount/main.cpp b/examples/qtconcurrent/wordcount/main.cpp index a5f8909f34..ff7ea24ee7 100644 --- a/examples/qtconcurrent/wordcount/main.cpp +++ b/examples/qtconcurrent/wordcount/main.cpp @@ -65,15 +65,17 @@ using namespace QtConcurrent;  /*      Utility function that recursivily searches for files.  */ -QStringList findFiles(const QString &startDir, QStringList filters) +QStringList findFiles(const QString &startDir, const QStringList &filters)  {      QStringList names;      QDir dir(startDir); -    foreach (QString file, dir.entryList(filters, QDir::Files)) +    const auto files = dir.entryList(filters, QDir::Files); +    for (const QString &file : files)          names += startDir + '/' + file; -    foreach (QString subdir, dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot)) +    const auto subdirs =  dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot); +    for (const QString &subdir : subdirs)          names += findFiles(startDir + '/' + subdir, filters);      return names;  } @@ -83,17 +85,18 @@ typedef QMap<QString, int> WordCount;  /*      Single threaded word counter function.  */ -WordCount singleThreadedWordCount(QStringList files) +WordCount singleThreadedWordCount(const QStringList &files)  {      WordCount wordCount; -    foreach (QString file, files) { +    for (const QString &file : files) {          QFile f(file);          f.open(QIODevice::ReadOnly);          QTextStream textStream(&f); -        while (textStream.atEnd() == false) -            foreach (const QString &word, textStream.readLine().split(' ')) +        while (!textStream.atEnd()) { +            const auto words =  textStream.readLine().split(' '); +            for (const QString &word : words)                  wordCount[word] += 1; - +        }      }      return wordCount;  } @@ -109,9 +112,11 @@ WordCount countWords(const QString &file)      QTextStream textStream(&f);      WordCount wordCount; -    while (textStream.atEnd() == false) -        foreach (const QString &word, textStream.readLine().split(' ')) +    while (!textStream.atEnd()) { +        const auto words =  textStream.readLine().split(' '); +        for (const QString &word : words)              wordCount[word] += 1; +    }      return wordCount;  } @@ -137,8 +142,6 @@ int main(int argc, char** argv)      qDebug() << "warmup";      { -        QTime time; -        time.start();          WordCount total = singleThreadedWordCount(files);      } | 
