diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2016-09-04 16:55:29 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2016-09-20 18:24:49 +0000 |
commit | 21cc71ced3565585f7a2f94875ed845355ab2064 (patch) | |
tree | fc9c632572e6f69d3753bc4a2658cec3e5cc7bff /src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp | |
parent | b1b57225dbc8733935697e1895631969e9a95376 (diff) | |
download | qtxmlpatterns-21cc71ced3565585f7a2f94875ed845355ab2064.tar.gz |
Eradicate Java-style loops (I): QHashIterator -> STL-style
Java-style iterators are slower than STL-style ones, so
they should not be used in library code.
Replaced them with STL iterator loops.
In one case, a QMutableHashIterator actually needn't be
mutable, so ported to const_iterator, like all others.
Change-Id: Ib7fd1fa5fca2df2c288a61925ee68a5df11caf62
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp')
-rw-r--r-- | src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp b/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp index bf33af1..7e60667 100644 --- a/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp +++ b/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp @@ -732,14 +732,11 @@ bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::P const QSet<QXmlName> attributes(attributeNames()); // 3 - QHashIterator<QXmlName, XsdAttributeUse::Ptr> usesIt(attributeUseHash); - while (usesIt.hasNext()) { - usesIt.next(); - - if (usesIt.value()->isRequired()) { - if (!attributes.contains(usesIt.key())) { + for (auto it = attributeUseHash.cbegin(), end = attributeUseHash.cend(); it != end; ++it) { + if (it.value()->isRequired()) { + if (!attributes.contains(it.key())) { error(QtXmlPatterns::tr("Element %1 is missing required attribute %2.").arg(formatKeyword(declaration->displayName(m_namePool))) - .arg(formatKeyword(m_namePool->displayName(usesIt.key())))); + .arg(formatKeyword(m_namePool->displayName(it.key())))); return false; } } |