summaryrefslogtreecommitdiffstats
path: root/src/corelib/codecs/qtextcodec.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2015-02-11 15:05:39 +0100
committerFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2015-02-12 19:42:24 +0000
commit1d38ecf54246b8109fb38f9d4679a72be8ac9a26 (patch)
tree151cfe33f393ccea8631bd5d79305bb15abc981d /src/corelib/codecs/qtextcodec.cpp
parent1c0f24767136e19363f3bf0e7427e4153b542892 (diff)
QTextCodec: micro-optimize loops.
Don't use index-based iteration, but use iterators. Change-Id: If8dabd56ff880191bb53861e31bfa6a007802c9c Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/codecs/qtextcodec.cpp')
-rw-r--r--src/corelib/codecs/qtextcodec.cpp27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp
index 9d7988de7a..050f8f207f 100644
--- a/src/corelib/codecs/qtextcodec.cpp
+++ b/src/corelib/codecs/qtextcodec.cpp
@@ -87,6 +87,9 @@
QT_BEGIN_NAMESPACE
+typedef QList<QTextCodec*>::ConstIterator TextCodecListConstIt;
+typedef QList<QByteArray>::ConstIterator ByteArrayListConstIt;
+
Q_GLOBAL_STATIC_WITH_ARGS(QMutex, textCodecsMutex, (QMutex::Recursive));
QMutex *qTextCodecsMutex() { return textCodecsMutex(); }
@@ -519,20 +522,21 @@ QTextCodec *QTextCodec::codecForName(const QByteArray &name)
return codec;
}
- for (int i = 0; i < globalData->allCodecs.size(); ++i) {
- QTextCodec *cursor = globalData->allCodecs.at(i);
+ for (TextCodecListConstIt it = globalData->allCodecs.constBegin(), cend = globalData->allCodecs.constEnd(); it != cend; ++it) {
+ QTextCodec *cursor = *it;
if (qTextCodecNameMatch(cursor->name(), name)) {
if (cache)
cache->insert(name, cursor);
return cursor;
}
QList<QByteArray> aliases = cursor->aliases();
- for (int y = 0; y < aliases.size(); ++y)
- if (qTextCodecNameMatch(aliases.at(y), name)) {
+ for (ByteArrayListConstIt ait = aliases.constBegin(), acend = aliases.constEnd(); ait != acend; ++ait) {
+ if (qTextCodecNameMatch(*ait, name)) {
if (cache)
cache->insert(name, cursor);
return cursor;
}
+ }
}
return 0;
@@ -567,9 +571,8 @@ QTextCodec* QTextCodec::codecForMib(int mib)
return codec;
}
- QList<QTextCodec*>::ConstIterator i;
- for (int i = 0; i < globalData->allCodecs.size(); ++i) {
- QTextCodec *cursor = globalData->allCodecs.at(i);
+ for (TextCodecListConstIt it = globalData->allCodecs.constBegin(), cend = globalData->allCodecs.constEnd(); it != cend; ++it) {
+ QTextCodec *cursor = *it;
if (cursor->mibEnum() == mib) {
if (cache)
cache->insert(key, cursor);
@@ -604,9 +607,9 @@ QList<QByteArray> QTextCodec::availableCodecs()
QList<QByteArray> codecs;
- for (int i = 0; i < globalData->allCodecs.size(); ++i) {
- codecs += globalData->allCodecs.at(i)->name();
- codecs += globalData->allCodecs.at(i)->aliases();
+ for (TextCodecListConstIt it = globalData->allCodecs.constBegin(), cend = globalData->allCodecs.constEnd(); it != cend; ++it) {
+ codecs += (*it)->name();
+ codecs += (*it)->aliases();
}
#ifdef QT_USE_ICU
@@ -636,8 +639,8 @@ QList<int> QTextCodec::availableMibs()
QList<int> codecs;
- for (int i = 0; i < globalData->allCodecs.size(); ++i)
- codecs += globalData->allCodecs.at(i)->mibEnum();
+ for (TextCodecListConstIt it = globalData->allCodecs.constBegin(), cend = globalData->allCodecs.constEnd(); it != cend; ++it)
+ codecs += (*it)->mibEnum();
return codecs;
#endif