From c14ae650e5e516fbba30e6c7e76d657f67ffaedc Mon Sep 17 00:00:00 2001 From: RickyRister Date: Sat, 12 Jul 2025 01:39:20 -0700 Subject: [PATCH] Use for-each instead of iterator --- cockatrice/src/game/cards/card_database.cpp | 31 +++++++-------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/cockatrice/src/game/cards/card_database.cpp b/cockatrice/src/game/cards/card_database.cpp index a9eea724d..629435adc 100644 --- a/cockatrice/src/game/cards/card_database.cpp +++ b/cockatrice/src/game/cards/card_database.cpp @@ -44,11 +44,9 @@ void CardDatabase::clear() { clearDatabaseMutex->lock(); - QHashIterator i(cards); - while (i.hasNext()) { - i.next(); - if (i.value()) { - removeCard(i.value()); + for (const auto &card : cards.values()) { + if (card) { + removeCard(card); } } @@ -197,13 +195,7 @@ void CardDatabase::addSet(CardSetPtr set) SetList CardDatabase::getSetList() const { - SetList result; - QHashIterator i(sets); - while (i.hasNext()) { - i.next(); - result << i.value(); - } - return result; + return static_cast(sets.values()); } LoadStatus CardDatabase::loadFromFile(const QString &fileName) @@ -462,9 +454,8 @@ void CardDatabase::refreshCachedReverseRelatedCards() QStringList CardDatabase::getAllMainCardTypes() const { QSet types; - QHashIterator cardIterator(cards); - while (cardIterator.hasNext()) { - types.insert(cardIterator.next().value()->getMainCardType()); + for (const auto &card : cards.values()) { + types.insert(card->getMainCardType()); } return types.values(); } @@ -472,10 +463,9 @@ QStringList CardDatabase::getAllMainCardTypes() const QMap CardDatabase::getAllMainCardTypesWithCount() const { QMap typeCounts; - QHashIterator cardIterator(cards); - while (cardIterator.hasNext()) { - QString type = cardIterator.next().value()->getMainCardType(); + for (const auto &card : cards.values()) { + QString type = card->getMainCardType(); typeCounts[type]++; } @@ -485,10 +475,9 @@ QMap CardDatabase::getAllMainCardTypesWithCount() const QMap CardDatabase::getAllSubCardTypesWithCount() const { QMap typeCounts; - QHashIterator cardIterator(cards); - while (cardIterator.hasNext()) { - QString type = cardIterator.next().value()->getCardType(); + for (const auto &card : cards.values()) { + QString type = card->getCardType(); QStringList parts = type.split(" — ");