Merge #10493: Use range-based for loops (C++11) when looping over map elements

680bc2cbb Use range-based for loops (C++11) when looping over map elements (practicalswift)

Pull request description:

  Before this commit:

  ```c++
  for (std::map<T1, T2>::iterator x = y.begin(); x != y.end(); ++x) {
      T1 z = (*x).first;
      …
  }
  ```

  After this commit:

  ```c++
  for (auto& x : y) {
      T1 z = x.first;
      …
  }
  ```

Tree-SHA512: 954b136b7f5e6df09f39248a6b530fd9baa9ab59d7c2c7eb369fd4afbb591b7a52c92ee25f87f1745f47b41d6828b7abfd395b43daf84a55b4e6a3d45015e3a0
This commit is contained in:
MarcoFalke 2017-11-30 17:09:44 -05:00 committed by Pasta
parent 306390abac
commit a98db86ada
13 changed files with 55 additions and 55 deletions

View File

@ -407,9 +407,9 @@ int CAddrMan::Check_()
if (vRandom.size() != (size_t)(nTried + nNew)) if (vRandom.size() != (size_t)(nTried + nNew))
return -7; return -7;
for (std::map<int, CAddrInfo>::iterator it = mapInfo.begin(); it != mapInfo.end(); it++) { for (const auto& entry : mapInfo) {
int n = (*it).first; int n = entry.first;
CAddrInfo& info = (*it).second; const CAddrInfo& info = entry.second;
if (info.fInTried) { if (info.fInTried) {
if (!info.nLastSuccess) if (!info.nLastSuccess)
return -1; return -1;

View File

@ -319,9 +319,9 @@ public:
s << nUBuckets; s << nUBuckets;
std::map<int, int> mapUnkIds; std::map<int, int> mapUnkIds;
int nIds = 0; int nIds = 0;
for (std::map<int, CAddrInfo>::const_iterator it = mapInfo.begin(); it != mapInfo.end(); it++) { for (const auto& entry : mapInfo) {
mapUnkIds[(*it).first] = nIds; mapUnkIds[entry.first] = nIds;
const CAddrInfo &info = (*it).second; const CAddrInfo &info = entry.second;
if (info.nRefCount) { if (info.nRefCount) {
assert(nIds != nNew); // this means nNew was wrong, oh ow assert(nIds != nNew); // this means nNew was wrong, oh ow
s << info; s << info;
@ -329,8 +329,8 @@ public:
} }
} }
nIds = 0; nIds = 0;
for (std::map<int, CAddrInfo>::const_iterator it = mapInfo.begin(); it != mapInfo.end(); it++) { for (const auto& entry : mapInfo) {
const CAddrInfo &info = (*it).second; const CAddrInfo &info = entry.second;
if (info.fInTried) { if (info.fInTried) {
assert(nIds != nTried); // this means nTried was wrong, oh ow assert(nIds != nTried); // this means nTried was wrong, oh ow
s << info; s << info;

View File

@ -121,13 +121,13 @@ bool GetLocal(CService& addr, const CNetAddr *paddrPeer)
int nBestReachability = -1; int nBestReachability = -1;
{ {
LOCK(cs_mapLocalHost); LOCK(cs_mapLocalHost);
for (std::map<CNetAddr, LocalServiceInfo>::iterator it = mapLocalHost.begin(); it != mapLocalHost.end(); it++) for (const auto& entry : mapLocalHost)
{ {
int nScore = (*it).second.nScore; int nScore = entry.second.nScore;
int nReachability = (*it).first.GetReachabilityFrom(paddrPeer); int nReachability = entry.first.GetReachabilityFrom(paddrPeer);
if (nReachability > nBestReachability || (nReachability == nBestReachability && nScore > nBestScore)) if (nReachability > nBestReachability || (nReachability == nBestReachability && nScore > nBestScore))
{ {
addr = CService((*it).first, (*it).second.nPort); addr = CService(entry.first, entry.second.nPort);
nBestReachability = nReachability; nBestReachability = nReachability;
nBestScore = nScore; nBestScore = nScore;
} }

View File

@ -55,11 +55,11 @@ public:
#if QT_VERSION >= 0x040700 #if QT_VERSION >= 0x040700
cachedBanlist.reserve(banMap.size()); cachedBanlist.reserve(banMap.size());
#endif #endif
for (banmap_t::iterator it = banMap.begin(); it != banMap.end(); it++) for (const auto& entry : banMap)
{ {
CCombinedBan banEntry; CCombinedBan banEntry;
banEntry.subnet = (*it).first; banEntry.subnet = entry.first;
banEntry.banEntry = (*it).second; banEntry.banEntry = entry.second;
cachedBanlist.append(banEntry); cachedBanlist.append(banEntry);
} }

View File

@ -80,10 +80,10 @@ public:
cachedWallet.clear(); cachedWallet.clear();
{ {
LOCK2(cs_main, wallet->cs_wallet); LOCK2(cs_main, wallet->cs_wallet);
for(std::map<uint256, CWalletTx>::iterator it = wallet->mapWallet.begin(); it != wallet->mapWallet.end(); ++it) for (const auto& entry : wallet->mapWallet)
{ {
if(TransactionRecord::showTransaction(it->second)) if (TransactionRecord::showTransaction(entry.second))
cachedWallet.append(TransactionRecord::decomposeTransaction(wallet, it->second)); cachedWallet.append(TransactionRecord::decomposeTransaction(wallet, entry.second));
} }
} }
} }

View File

@ -581,11 +581,11 @@ UniValue listbanned(const JSONRPCRequest& request)
g_connman->GetBanned(banMap); g_connman->GetBanned(banMap);
UniValue bannedAddresses(UniValue::VARR); UniValue bannedAddresses(UniValue::VARR);
for (banmap_t::iterator it = banMap.begin(); it != banMap.end(); it++) for (const auto& entry : banMap)
{ {
CBanEntry banEntry = (*it).second; const CBanEntry& banEntry = entry.second;
UniValue rec(UniValue::VOBJ); UniValue rec(UniValue::VOBJ);
rec.push_back(Pair("address", (*it).first.ToString())); rec.push_back(Pair("address", entry.first.ToString()));
rec.push_back(Pair("banned_until", banEntry.nBanUntil)); rec.push_back(Pair("banned_until", banEntry.nBanUntil));
rec.push_back(Pair("ban_created", banEntry.nCreateTime)); rec.push_back(Pair("ban_created", banEntry.nCreateTime));
rec.push_back(Pair("ban_reason", banEntry.banReasonToString())); rec.push_back(Pair("ban_reason", banEntry.banReasonToString()));

View File

@ -209,8 +209,8 @@ std::string CRPCTable::help(const std::string& strCommand, const std::string& st
std::set<rpcfn_type> setDone; std::set<rpcfn_type> setDone;
std::vector<std::pair<std::string, const CRPCCommand*> > vCommands; std::vector<std::pair<std::string, const CRPCCommand*> > vCommands;
for (std::map<std::string, const CRPCCommand*>::const_iterator mi = mapCommands.begin(); mi != mapCommands.end(); ++mi) for (const auto& entry : mapCommands)
vCommands.push_back(make_pair(mi->second->category + mi->first, mi->second)); vCommands.push_back(make_pair(entry.second->category + entry.first, entry.second));
sort(vCommands.begin(), vCommands.end()); sort(vCommands.begin(), vCommands.end());
JSONRPCRequest jreq(helpreq); JSONRPCRequest jreq(helpreq);

View File

@ -1001,8 +1001,8 @@ template<typename Stream, typename Map>
void SerializeMap(Stream& os, const Map& m) void SerializeMap(Stream& os, const Map& m)
{ {
WriteCompactSize(os, m.size()); WriteCompactSize(os, m.size());
for (auto mi = m.begin(); mi != m.end(); ++mi) for (const auto& entry : m)
Serialize(os, (*mi)); Serialize(os, entry);
} }
template<typename Stream, typename Map> template<typename Stream, typename Map>

View File

@ -81,8 +81,8 @@ public:
// Manually recompute the dynamic usage of the whole data, and compare it. // Manually recompute the dynamic usage of the whole data, and compare it.
size_t ret = memusage::DynamicUsage(cacheCoins); size_t ret = memusage::DynamicUsage(cacheCoins);
size_t count = 0; size_t count = 0;
for (CCoinsMap::iterator it = cacheCoins.begin(); it != cacheCoins.end(); it++) { for (const auto& entry : cacheCoins) {
ret += it->second.coin.DynamicMemoryUsage(); ret += entry.second.coin.DynamicMemoryUsage();
++count; ++count;
} }
BOOST_CHECK_EQUAL(GetCacheSize(), count); BOOST_CHECK_EQUAL(GetCacheSize(), count);
@ -189,15 +189,15 @@ BOOST_AUTO_TEST_CASE(coins_cache_simulation_test)
// Once every 1000 iterations and at the end, verify the full cache. // Once every 1000 iterations and at the end, verify the full cache.
if (InsecureRandRange(1000) == 1 || i == NUM_SIMULATION_ITERATIONS - 1) { if (InsecureRandRange(1000) == 1 || i == NUM_SIMULATION_ITERATIONS - 1) {
for (auto it = result.begin(); it != result.end(); it++) { for (const auto& entry : result) {
bool have = stack.back()->HaveCoin(it->first); bool have = stack.back()->HaveCoin(entry.first);
const Coin& coin = stack.back()->AccessCoin(it->first); const Coin& coin = stack.back()->AccessCoin(entry.first);
BOOST_CHECK(have == !coin.IsSpent()); BOOST_CHECK(have == !coin.IsSpent());
BOOST_CHECK(coin == it->second); BOOST_CHECK(coin == entry.second);
if (coin.IsSpent()) { if (coin.IsSpent()) {
missed_an_entry = true; missed_an_entry = true;
} else { } else {
BOOST_CHECK(stack.back()->HaveCoinInCache(it->first)); BOOST_CHECK(stack.back()->HaveCoinInCache(entry.first));
found_an_entry = true; found_an_entry = true;
} }
} }
@ -420,11 +420,11 @@ BOOST_AUTO_TEST_CASE(updatecoins_simulation_test)
// Once every 1000 iterations and at the end, verify the full cache. // Once every 1000 iterations and at the end, verify the full cache.
if (InsecureRandRange(1000) == 1 || i == NUM_SIMULATION_ITERATIONS - 1) { if (InsecureRandRange(1000) == 1 || i == NUM_SIMULATION_ITERATIONS - 1) {
for (auto it = result.begin(); it != result.end(); it++) { for (const auto& entry : result) {
bool have = stack.back()->HaveCoin(it->first); bool have = stack.back()->HaveCoin(entry.first);
const Coin& coin = stack.back()->AccessCoin(it->first); const Coin& coin = stack.back()->AccessCoin(entry.first);
BOOST_CHECK(have == !coin.IsSpent()); BOOST_CHECK(have == !coin.IsSpent());
BOOST_CHECK(coin == it->second); BOOST_CHECK(coin == entry.second);
} }
} }

View File

@ -3713,8 +3713,8 @@ void PruneOneBlockFile(const int fileNumber)
{ {
LOCK(cs_LastBlockFile); LOCK(cs_LastBlockFile);
for (BlockMap::iterator it = mapBlockIndex.begin(); it != mapBlockIndex.end(); ++it) { for (const auto& entry : mapBlockIndex) {
CBlockIndex* pindex = it->second; CBlockIndex* pindex = entry.second;
if (pindex->nFile == fileNumber) { if (pindex->nFile == fileNumber) {
pindex->nStatus &= ~BLOCK_HAVE_DATA; pindex->nStatus &= ~BLOCK_HAVE_DATA;
pindex->nStatus &= ~BLOCK_HAVE_UNDO; pindex->nStatus &= ~BLOCK_HAVE_UNDO;
@ -4503,8 +4503,8 @@ void static CheckBlockIndex(const Consensus::Params& consensusParams)
// Build forward-pointing map of the entire block tree. // Build forward-pointing map of the entire block tree.
std::multimap<CBlockIndex*,CBlockIndex*> forward; std::multimap<CBlockIndex*,CBlockIndex*> forward;
for (BlockMap::iterator it = mapBlockIndex.begin(); it != mapBlockIndex.end(); it++) { for (auto& entry : mapBlockIndex) {
forward.insert(std::make_pair(it->second->pprev, it->second)); forward.insert(std::make_pair(entry.second->pprev, entry.second));
} }
assert(forward.size() == mapBlockIndex.size()); assert(forward.size() == mapBlockIndex.size());

View File

@ -1377,14 +1377,14 @@ UniValue ListReceived(CWallet * const pwallet, const UniValue& params, bool fByA
if (fByAccounts) if (fByAccounts)
{ {
for (std::map<std::string, tallyitem>::iterator it = mapAccountTally.begin(); it != mapAccountTally.end(); ++it) for (const auto& entry : mapAccountTally)
{ {
CAmount nAmount = (*it).second.nAmount; CAmount nAmount = entry.second.nAmount;
int nConf = (*it).second.nConf; int nConf = entry.second.nConf;
UniValue obj(UniValue::VOBJ); UniValue obj(UniValue::VOBJ);
if((*it).second.fIsWatchonly) if (entry.second.fIsWatchonly)
obj.push_back(Pair("involvesWatchonly", true)); obj.push_back(Pair("involvesWatchonly", true));
obj.push_back(Pair("account", (*it).first)); obj.push_back(Pair("account", entry.first));
obj.push_back(Pair("amount", ValueFromAmount(nAmount))); obj.push_back(Pair("amount", ValueFromAmount(nAmount)));
obj.push_back(Pair("confirmations", (nConf == std::numeric_limits<int>::max() ? 0 : nConf))); obj.push_back(Pair("confirmations", (nConf == std::numeric_limits<int>::max() ? 0 : nConf)));
ret.push_back(obj); ret.push_back(obj);

View File

@ -882,9 +882,9 @@ DBErrors CWallet::ReorderTransactions()
typedef std::multimap<int64_t, TxPair > TxItems; typedef std::multimap<int64_t, TxPair > TxItems;
TxItems txByTime; TxItems txByTime;
for (std::map<uint256, CWalletTx>::iterator it = mapWallet.begin(); it != mapWallet.end(); ++it) for (auto& entry : mapWallet)
{ {
CWalletTx* wtx = &((*it).second); CWalletTx* wtx = &entry.second;
txByTime.insert(std::make_pair(wtx->nTimeReceived, TxPair(wtx, nullptr))); txByTime.insert(std::make_pair(wtx->nTimeReceived, TxPair(wtx, nullptr)));
} }
std::list<CAccountingEntry> acentries; std::list<CAccountingEntry> acentries;
@ -4789,9 +4789,9 @@ void CWallet::GetKeyBirthTimes(std::map<CTxDestination, int64_t> &mapKeyBirth) c
// find first block that affects those keys, if there are any left // find first block that affects those keys, if there are any left
std::vector<CKeyID> vAffected; std::vector<CKeyID> vAffected;
for (std::map<uint256, CWalletTx>::const_iterator it = mapWallet.begin(); it != mapWallet.end(); it++) { for (const auto& entry : mapWallet) {
// iterate over all wallet transactions... // iterate over all wallet transactions...
const CWalletTx &wtx = (*it).second; const CWalletTx &wtx = entry.second;
BlockMap::const_iterator blit = mapBlockIndex.find(wtx.hashBlock); BlockMap::const_iterator blit = mapBlockIndex.find(wtx.hashBlock);
if (blit != mapBlockIndex.end() && chainActive.Contains(blit->second)) { if (blit != mapBlockIndex.end() && chainActive.Contains(blit->second)) {
// ... which are already in a block // ... which are already in a block
@ -4811,8 +4811,8 @@ void CWallet::GetKeyBirthTimes(std::map<CTxDestination, int64_t> &mapKeyBirth) c
} }
// Extract block timestamps for those keys // Extract block timestamps for those keys
for (std::map<CKeyID, CBlockIndex*>::const_iterator it = mapKeyFirstBlock.begin(); it != mapKeyFirstBlock.end(); it++) for (const auto& entry : mapKeyFirstBlock)
mapKeyBirth[it->first] = it->second->GetBlockTime() - TIMESTAMP_WINDOW; // block times can be 2h off mapKeyBirth[entry.first] = entry.second->GetBlockTime() - TIMESTAMP_WINDOW; // block times can be 2h off
} }
/** /**

View File

@ -52,15 +52,15 @@ CZMQNotificationInterface* CZMQNotificationInterface::Create()
factories["pubrawgovernanceobject"] = CZMQAbstractNotifier::Create<CZMQPublishRawGovernanceObjectNotifier>; factories["pubrawgovernanceobject"] = CZMQAbstractNotifier::Create<CZMQPublishRawGovernanceObjectNotifier>;
factories["pubrawinstantsenddoublespend"] = CZMQAbstractNotifier::Create<CZMQPublishRawInstantSendDoubleSpendNotifier>; factories["pubrawinstantsenddoublespend"] = CZMQAbstractNotifier::Create<CZMQPublishRawInstantSendDoubleSpendNotifier>;
for (std::map<std::string, CZMQNotifierFactory>::const_iterator i=factories.begin(); i!=factories.end(); ++i) for (const auto& entry : factories)
{ {
std::string arg("-zmq" + i->first); std::string arg("-zmq" + entry.first);
if (gArgs.IsArgSet(arg)) if (gArgs.IsArgSet(arg))
{ {
CZMQNotifierFactory factory = i->second; CZMQNotifierFactory factory = entry.second;
std::string address = gArgs.GetArg(arg, ""); std::string address = gArgs.GetArg(arg, "");
CZMQAbstractNotifier *notifier = factory(); CZMQAbstractNotifier *notifier = factory();
notifier->SetType(i->first); notifier->SetType(entry.first);
notifier->SetAddress(address); notifier->SetAddress(address);
notifiers.push_back(notifier); notifiers.push_back(notifier);
} }