Use for-each instead of iterator

This commit is contained in:
RickyRister 2025-07-12 01:39:20 -07:00
parent 130c4f0b2e
commit c14ae650e5

View file

@ -44,11 +44,9 @@ void CardDatabase::clear()
{ {
clearDatabaseMutex->lock(); clearDatabaseMutex->lock();
QHashIterator<QString, CardInfoPtr> i(cards); for (const auto &card : cards.values()) {
while (i.hasNext()) { if (card) {
i.next(); removeCard(card);
if (i.value()) {
removeCard(i.value());
} }
} }
@ -197,13 +195,7 @@ void CardDatabase::addSet(CardSetPtr set)
SetList CardDatabase::getSetList() const SetList CardDatabase::getSetList() const
{ {
SetList result; return static_cast<SetList>(sets.values());
QHashIterator<QString, CardSetPtr> i(sets);
while (i.hasNext()) {
i.next();
result << i.value();
}
return result;
} }
LoadStatus CardDatabase::loadFromFile(const QString &fileName) LoadStatus CardDatabase::loadFromFile(const QString &fileName)
@ -462,9 +454,8 @@ void CardDatabase::refreshCachedReverseRelatedCards()
QStringList CardDatabase::getAllMainCardTypes() const QStringList CardDatabase::getAllMainCardTypes() const
{ {
QSet<QString> types; QSet<QString> types;
QHashIterator<QString, CardInfoPtr> cardIterator(cards); for (const auto &card : cards.values()) {
while (cardIterator.hasNext()) { types.insert(card->getMainCardType());
types.insert(cardIterator.next().value()->getMainCardType());
} }
return types.values(); return types.values();
} }
@ -472,10 +463,9 @@ QStringList CardDatabase::getAllMainCardTypes() const
QMap<QString, int> CardDatabase::getAllMainCardTypesWithCount() const QMap<QString, int> CardDatabase::getAllMainCardTypesWithCount() const
{ {
QMap<QString, int> typeCounts; QMap<QString, int> typeCounts;
QHashIterator<QString, CardInfoPtr> cardIterator(cards);
while (cardIterator.hasNext()) { for (const auto &card : cards.values()) {
QString type = cardIterator.next().value()->getMainCardType(); QString type = card->getMainCardType();
typeCounts[type]++; typeCounts[type]++;
} }
@ -485,10 +475,9 @@ QMap<QString, int> CardDatabase::getAllMainCardTypesWithCount() const
QMap<QString, int> CardDatabase::getAllSubCardTypesWithCount() const QMap<QString, int> CardDatabase::getAllSubCardTypesWithCount() const
{ {
QMap<QString, int> typeCounts; QMap<QString, int> typeCounts;
QHashIterator<QString, CardInfoPtr> cardIterator(cards);
while (cardIterator.hasNext()) { for (const auto &card : cards.values()) {
QString type = cardIterator.next().value()->getCardType(); QString type = card->getCardType();
QStringList parts = type.split(""); QStringList parts = type.split("");