From 21cc71ced3565585f7a2f94875ed845355ab2064 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sun, 4 Sep 2016 16:55:29 +0200 Subject: 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 --- src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp') 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 attributes(attributeNames()); // 3 - QHashIterator 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; } } -- cgit v1.2.1