From 5098ea454db9132aa0f576921ca9d1a69429d146 Mon Sep 17 00:00:00 2001 From: svost Date: Mon, 3 Jan 2022 00:18:38 +0300 Subject: [PATCH] Remove boost foreach macro --- src/alert.cpp | 13 +++--- src/alert.h | 2 +- src/checkpoints.cpp | 11 ++--- src/checkqueue.h | 5 +- src/init.cpp | 10 ++-- src/kernel.cpp | 4 +- src/keystore.cpp | 4 +- src/main.cpp | 96 ++++++++++++++++++++-------------------- src/main.h | 16 +++--- src/miner.cpp | 4 +- src/net.cpp | 62 +++++++++++++------------- src/net.h | 3 +- src/qt/addresstablemodel.cpp | 2 +- src/qt/clientmodel.cpp | 2 +- src/qt/coincontroldialog.cpp | 6 +- src/qt/mintingtablemodel.cpp | 10 ++-- src/qt/multisigdialog.cpp | 6 +- src/qt/transactiondesc.cpp | 22 ++++----- src/qt/transactionrecord.cpp | 6 +- src/qt/walletmodel.cpp | 8 ++-- src/rpcblockchain.cpp | 4 +- src/rpcmining.cpp | 12 +++--- src/rpcnet.cpp | 20 ++++---- src/rpcrawtransaction.cpp | 20 ++++---- src/rpcwallet.cpp | 48 ++++++++++---------- src/script.cpp | 19 +++----- src/script.h | 4 +- src/sync.cpp | 7 +-- src/txdb-leveldb.cpp | 12 +++--- src/util.cpp | 13 +++--- src/wallet.cpp | 102 +++++++++++++++++++++--------------------- src/wallet.h | 4 +- src/walletdb.cpp | 12 +++--- 33 files changed, 278 insertions(+), 291 deletions(-) diff --git a/src/alert.cpp b/src/alert.cpp index 2518667..939881b 100644 --- a/src/alert.cpp +++ b/src/alert.cpp @@ -2,7 +2,6 @@ // Alert system // -#include #include #include "alert.h" @@ -45,10 +44,10 @@ void CUnsignedAlert::SetNull() std::string CUnsignedAlert::ToString() const { std::string strSetCancel; - BOOST_FOREACH(int n, setCancel) + for (int n : setCancel) strSetCancel += strprintf("%d ", n); std::string strSetSubVer; - BOOST_FOREACH(std::string str, setSubVer) + for (const std::string& str : setSubVer) strSetSubVer += "\"" + str + "\" "; return strprintf( "CAlert(\n" @@ -108,7 +107,7 @@ bool CAlert::Cancels(const CAlert& alert) const return (alert.nID <= nCancel || setCancel.count(alert.nID)); } -bool CAlert::AppliesTo(int nVersion, std::string strSubVerIn) const +bool CAlert::AppliesTo(int nVersion, const std::string& strSubVerIn) const { // TODO: rework for client-version-embedded-in-strSubVer ? return (IsInEffect() && @@ -160,7 +159,7 @@ CAlert CAlert::getAlertByHash(const uint256 &hash) CAlert retval; { LOCK(cs_mapAlerts); - map::iterator mi = mapAlerts.find(hash); + auto mi = mapAlerts.find(hash); if(mi != mapAlerts.end()) retval = mi->second; } @@ -199,7 +198,7 @@ bool CAlert::ProcessAlert() { LOCK(cs_mapAlerts); // Cancel previous alerts - for (map::iterator mi = mapAlerts.begin(); mi != mapAlerts.end();) + for (auto mi = mapAlerts.begin(); mi != mapAlerts.end();) { const CAlert& alert = (*mi).second; if (Cancels(alert)) @@ -219,7 +218,7 @@ bool CAlert::ProcessAlert() } // Check if this alert has been cancelled - BOOST_FOREACH(PAIRTYPE(const uint256, CAlert)& item, mapAlerts) + for (auto& item : mapAlerts) { const CAlert& alert = item.second; if (alert.Cancels(*this)) diff --git a/src/alert.h b/src/alert.h index c417842..d4f9a78 100644 --- a/src/alert.h +++ b/src/alert.h @@ -86,7 +86,7 @@ public: uint256 GetHash() const; bool IsInEffect() const; bool Cancels(const CAlert& alert) const; - bool AppliesTo(int nVersion, std::string strSubVerIn) const; + bool AppliesTo(int nVersion, const std::string& strSubVerIn) const; bool AppliesToMe() const; bool RelayTo(CNode* pnode) const; bool CheckSignature() const; diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index 75ed22a..ae59188 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -3,7 +3,6 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include // for 'map_list_of()' -#include #include #include "checkpoints.h" @@ -86,10 +85,10 @@ namespace Checkpoints { MapCheckpoints& checkpoints = (fTestNet ? mapCheckpointsTestnet : mapCheckpoints); - BOOST_REVERSE_FOREACH(const MapCheckpoints::value_type& i, checkpoints) + for(auto it = checkpoints.rbegin(); it != checkpoints.rend(); ++it) { - const uint256& hash = i.second.first; - std::map::const_iterator t = mapBlockIndex.find(hash); + const uint256& hash = it->second.first; + auto t = mapBlockIndex.find(hash); if (t != mapBlockIndex.end()) return t->second; } @@ -294,9 +293,9 @@ namespace Checkpoints printf("ResetSyncCheckpoint: pending for sync-checkpoint %s\n", hashPendingCheckpoint.ToString().c_str()); } - BOOST_REVERSE_FOREACH(const MapCheckpoints::value_type& i, mapCheckpoints) + for(auto it = mapCheckpoints.rbegin(); it != mapCheckpoints.rend(); ++it) { - const uint256& hash = i.second.first; + const uint256& hash = it->second.first; if (mapBlockIndex.count(hash) && mapBlockIndex[hash]->IsInMainChain()) { if (!WriteSyncCheckpoint(hash)) diff --git a/src/checkqueue.h b/src/checkqueue.h index c4c35e5..10fad2e 100644 --- a/src/checkqueue.h +++ b/src/checkqueue.h @@ -8,7 +8,6 @@ #include #include -#include #include #include #include @@ -119,7 +118,7 @@ private: fOk = fAllOk; } // execute work - BOOST_FOREACH(T &check, vChecks) + for (T &check : vChecks) if (fOk) fOk = check(); vChecks.clear(); @@ -145,7 +144,7 @@ public: // Add a batch of checks to the queue void Add(std::vector &vChecks) { boost::unique_lock lock(mutex); - BOOST_FOREACH(T &check, vChecks) { + for (T &check : vChecks) { queue.push_back(T()); check.swap(queue.back()); } diff --git a/src/init.cpp b/src/init.cpp index 001b128..f549c1a 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -605,7 +605,7 @@ bool AppInit2() if (mapArgs.count("-onlynet")) { std::set nets; - BOOST_FOREACH(std::string snet, mapMultiArgs["-onlynet"]) { + for (std::string snet : mapMultiArgs["-onlynet"]) { enum Network net = ParseNetwork(snet); if (net == NET_UNROUTABLE) return InitError(strprintf(_("Unknown network specified in -onlynet: '%s'"), snet.c_str())); @@ -675,7 +675,7 @@ bool AppInit2() { std::string strError; if (mapArgs.count("-bind")) { - BOOST_FOREACH(std::string strBind, mapMultiArgs["-bind"]) { + for(std::string strBind : mapMultiArgs["-bind"]) { CService addrBind; if (!Lookup(strBind.c_str(), addrBind, GetListenPort(), false)) return InitError(strprintf(_("Cannot resolve -bind address: '%s'"), strBind.c_str())); @@ -713,7 +713,7 @@ bool AppInit2() if (mapArgs.count("-externalip")) { - BOOST_FOREACH(string strAddr, mapMultiArgs["-externalip"]) { + for (string strAddr : mapMultiArgs["-externalip"]) { CService addrLocal(strAddr, GetListenPort(), fNameLookup); if (!addrLocal.IsValid()) return InitError(strprintf(_("Cannot resolve -externalip address: '%s'"), strAddr.c_str())); @@ -736,7 +736,7 @@ bool AppInit2() InitError(_("Unable to sign checkpoint, wrong checkpointkey?\n")); } - BOOST_FOREACH(string strDest, mapMultiArgs["-seednode"]) + for (string strDest : mapMultiArgs["-seednode"]) AddOneShot(strDest); // ********************************************************* Step 7: load blockchain @@ -935,7 +935,7 @@ bool AppInit2() { uiInterface.InitMessage(_("Importing blockchain data file.")); - BOOST_FOREACH(string strFile, mapMultiArgs["-loadblock"]) + for (string strFile : mapMultiArgs["-loadblock"]) { FILE *file = fopen(strFile.c_str(), "rb"); if (file) diff --git a/src/kernel.cpp b/src/kernel.cpp index fe9d1bf..876e829 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -143,7 +143,7 @@ static bool SelectBlockFromCandidates(vector >& vSortedBy bool fSelected = false; uint256 hashBest = 0; *pindexSelected = (const CBlockIndex*) 0; - BOOST_FOREACH(const PAIRTYPE(int64_t, uint256)& item, vSortedByTimestamp) + for (const auto& item : vSortedByTimestamp) { if (!mapBlockIndex.count(item.second)) return error("SelectBlockFromCandidates: failed to find block index for candidate block %s", item.second.ToString().c_str()); @@ -289,7 +289,7 @@ bool ComputeNextStakeModifier(const CBlockIndex* pindexCurrent, uint64_t& nStake strSelectionMap.replace(pindex->nHeight - nHeightFirstCandidate, 1, "="); pindex = pindex->pprev; } - BOOST_FOREACH(const PAIRTYPE(uint256, const CBlockIndex*)& item, mapSelectedBlocks) + for (const auto& item : mapSelectedBlocks) { // 'S' indicates selected proof-of-stake blocks // 'W' indicates selected proof-of-work blocks diff --git a/src/keystore.cpp b/src/keystore.cpp index 0aca325..69dfb6e 100644 --- a/src/keystore.cpp +++ b/src/keystore.cpp @@ -349,7 +349,7 @@ bool CCryptoKeyStore::EncryptKeys(CKeyingMaterial& vMasterKeyIn) return false; fUseCrypto = true; - BOOST_FOREACH(KeyMap::value_type& mKey, mapKeys) + for (KeyMap::value_type& mKey : mapKeys) { CKey key; if (!key.SetSecret(mKey.second.first, mKey.second.second)) @@ -364,7 +364,7 @@ bool CCryptoKeyStore::EncryptKeys(CKeyingMaterial& vMasterKeyIn) } mapKeys.clear(); - BOOST_FOREACH(MalleableKeyMap::value_type& mKey, mapMalleableKeys) + for (MalleableKeyMap::value_type& mKey : mapMalleableKeys) { const CPubKey vchPubKeyH = mKey.first.GetMalleablePubKey().GetH(); std::vector vchCryptedSecretH; diff --git a/src/main.cpp b/src/main.cpp index c9bd58d..1345324 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -110,7 +110,7 @@ void UnregisterWallet(CWallet* pwalletIn) // check whether the passed transaction is from us bool static IsFromMe(CTransaction& tx) { - BOOST_FOREACH(CWallet* pwallet, setpwalletRegistered) + for (CWallet* pwallet : setpwalletRegistered) if (pwallet->IsFromMe(tx)) return true; return false; @@ -119,7 +119,7 @@ bool static IsFromMe(CTransaction& tx) // erases transaction with the given hash from all wallets void static EraseFromWallets(uint256 hash) { - BOOST_FOREACH(CWallet* pwallet, setpwalletRegistered) + for (CWallet* pwallet : setpwalletRegistered) pwallet->EraseFromWallet(hash); } @@ -131,49 +131,49 @@ void SyncWithWallets(const CTransaction& tx, const CBlock* pblock, bool fUpdate, // wallets need to refund inputs when disconnecting coinstake if (tx.IsCoinStake()) { - BOOST_FOREACH(CWallet* pwallet, setpwalletRegistered) + for (CWallet* pwallet : setpwalletRegistered) if (pwallet->IsFromMe(tx)) pwallet->DisableTransaction(tx); } return; } - BOOST_FOREACH(CWallet* pwallet, setpwalletRegistered) + for (CWallet* pwallet : setpwalletRegistered) pwallet->AddToWalletIfInvolvingMe(tx, pblock, fUpdate); } // notify wallets about a new best chain void static SetBestChain(const CBlockLocator& loc) { - BOOST_FOREACH(CWallet* pwallet, setpwalletRegistered) + for (CWallet* pwallet : setpwalletRegistered) pwallet->SetBestChain(loc); } // notify wallets about an updated transaction void static UpdatedTransaction(const uint256& hashTx) { - BOOST_FOREACH(CWallet* pwallet, setpwalletRegistered) + for (CWallet* pwallet : setpwalletRegistered) pwallet->UpdatedTransaction(hashTx); } // dump all wallets void static PrintWallets(const CBlock& block) { - BOOST_FOREACH(CWallet* pwallet, setpwalletRegistered) + for (CWallet* pwallet : setpwalletRegistered) pwallet->PrintWallet(block); } // notify wallets about an incoming inventory (for request counts) void static Inventory(const uint256& hash) { - BOOST_FOREACH(CWallet* pwallet, setpwalletRegistered) + for (CWallet* pwallet : setpwalletRegistered) pwallet->Inventory(hash); } // ask wallets to resend their transactions void ResendWalletTransactions(bool fForceResend) { - BOOST_FOREACH(CWallet* pwallet, setpwalletRegistered) + for (CWallet* pwallet : setpwalletRegistered) pwallet->ResendWalletTransactions(fForceResend); } @@ -211,7 +211,7 @@ bool AddOrphanTx(const CTransaction& tx) } mapOrphanTransactions[hash] = tx; - BOOST_FOREACH(const CTxIn& txin, tx.vin) + for (const CTxIn& txin : tx.vin) mapOrphanTransactionsByPrev[txin.prevout.hash].insert(hash); printf("stored orphan tx %s (mapsz %" PRIszu ")\n", hash.ToString().substr(0,10).c_str(), @@ -224,7 +224,7 @@ void static EraseOrphanTx(uint256 hash) if (!mapOrphanTransactions.count(hash)) return; const CTransaction& tx = mapOrphanTransactions[hash]; - BOOST_FOREACH(const CTxIn& txin, tx.vin) + for (const CTxIn& txin : tx.vin) { mapOrphanTransactionsByPrev[txin.prevout.hash].erase(hash); if (mapOrphanTransactionsByPrev[txin.prevout.hash].empty()) @@ -298,7 +298,7 @@ bool CTransaction::IsStandard(string& strReason) const unsigned int nDataOut = 0; txnouttype whichType; - BOOST_FOREACH(const CTxIn& txin, vin) + for (const CTxIn& txin : vin) { // Biggest 'standard' txin is a 15-of-15 P2SH multisig with compressed // keys. (remember the 520 byte limit on redeemScript size) That works @@ -322,7 +322,7 @@ bool CTransaction::IsStandard(string& strReason) const return false; } } - BOOST_FOREACH(const CTxOut& txout, vout) { + for (const CTxOut& txout : vout) { if (!::IsStandard(txout.scriptPubKey, whichType)) { strReason = "scriptpubkey"; return false; @@ -423,12 +423,12 @@ CTransaction::GetLegacySigOpCount() const { // Coinbase scriptsigs are never executed, so there is // no sense in calculation of sigops. - BOOST_FOREACH(const CTxIn& txin, vin) + for (const CTxIn& txin : vin) { nSigOps += txin.scriptSig.GetSigOpCount(false); } } - BOOST_FOREACH(const CTxOut& txout, vout) + for (const CTxOut& txout : vout) { nSigOps += txout.scriptPubKey.GetSigOpCount(false); } @@ -517,7 +517,7 @@ bool CTransaction::CheckTransaction() const // Check for duplicate inputs set vInOutPoints; - BOOST_FOREACH(const CTxIn& txin, vin) + for (const CTxIn& txin : vin) { if (vInOutPoints.count(txin.prevout)) return false; @@ -531,7 +531,7 @@ bool CTransaction::CheckTransaction() const } else { - BOOST_FOREACH(const CTxIn& txin, vin) + for (const CTxIn& txin : vin) if (txin.prevout.IsNull()) return DoS(10, error("CTransaction::CheckTransaction() : prevout is null")); } @@ -577,7 +577,7 @@ int64_t CTransaction::GetMinFee(unsigned int nBlockSize, bool fAllowFree, enum G // // It's safe to ignore empty outputs here, because these inputs are allowed // only for coinbase and coinstake transactions. - BOOST_FOREACH(const CTxOut& txout, vout) + for (const CTxOut& txout : vout) if (txout.nValue < CENT && !txout.IsEmpty()) nMinFee += nBaseFee; @@ -779,7 +779,7 @@ bool CTxMemPool::remove(CTransaction &tx) uint256 hash = tx.GetHash(); if (mapTx.count(hash)) { - BOOST_FOREACH(const CTxIn& txin, tx.vin) + for (const CTxIn& txin : tx.vin) mapNextTx.erase(txin.prevout); mapTx.erase(hash); nTransactionsUpdated++; @@ -871,7 +871,7 @@ bool CWalletTx::AcceptWalletTransaction(CTxDB& txdb, bool fCheckInputs) { LOCK(mempool.cs); // Add previous supporting transactions first - BOOST_FOREACH(CMerkleTx& tx, vtxPrev) + for (CMerkleTx& tx : vtxPrev) { if (!(tx.IsCoinBase() || tx.IsCoinStake())) { @@ -1284,7 +1284,7 @@ bool CTransaction::DisconnectInputs(CTxDB& txdb) // Relinquish previous transactions' spent pointers if (!IsCoinBase()) { - BOOST_FOREACH(const CTxIn& txin, vin) + for (const CTxIn& txin : vin) { COutPoint prevout = txin.prevout; @@ -1642,7 +1642,7 @@ bool CBlock::DisconnectBlock(CTxDB& txdb, CBlockIndex* pindex) } // ppcoin: clean up wallet after disconnecting coinstake - BOOST_FOREACH(CTransaction& tx, vtx) + for (CTransaction& tx : vtx) SyncWithWallets(tx, this, false, false); return true; @@ -1698,14 +1698,14 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) int64_t nValueIn = 0; int64_t nValueOut = 0; unsigned int nSigOps = 0; - BOOST_FOREACH(CTransaction& tx, vtx) + for (CTransaction& tx : vtx) { uint256 hashTx = tx.GetHash(); if (fEnforceBIP30) { CTxIndex txindexOld; if (txdb.ReadTxIndex(hashTx, txindexOld)) { - BOOST_FOREACH(CDiskTxPos &pos, txindexOld.vSpent) + for (CDiskTxPos &pos : txindexOld.vSpent) if (pos.IsNull()) return false; } @@ -1807,7 +1807,7 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) } // Watch for transactions paying to me - BOOST_FOREACH(CTransaction& tx, vtx) + for (CTransaction& tx : vtx) SyncWithWallets(tx, this, true); @@ -1848,7 +1848,7 @@ bool static Reorganize(CTxDB& txdb, CBlockIndex* pindexNew) // Disconnect shorter branch vector vResurrect; - BOOST_FOREACH(CBlockIndex* pindex, vDisconnect) + for (CBlockIndex* pindex : vDisconnect) { CBlock block; if (!block.ReadFromDisk(pindex)) @@ -1857,7 +1857,7 @@ bool static Reorganize(CTxDB& txdb, CBlockIndex* pindexNew) return error("Reorganize() : DisconnectBlock %s failed", pindex->GetBlockHash().ToString().substr(0,20).c_str()); // Queue memory transactions to resurrect - BOOST_FOREACH(const CTransaction& tx, block.vtx) + for (const CTransaction& tx : block.vtx) if (!(tx.IsCoinBase() || tx.IsCoinStake())) vResurrect.push_back(tx); } @@ -1877,7 +1877,7 @@ bool static Reorganize(CTxDB& txdb, CBlockIndex* pindexNew) } // Queue memory transactions to delete - BOOST_FOREACH(const CTransaction& tx, block.vtx) + for (const CTransaction& tx : block.vtx) vDelete.push_back(tx); } if (!txdb.WriteHashBestChain(pindexNew->GetBlockHash())) @@ -1888,21 +1888,21 @@ bool static Reorganize(CTxDB& txdb, CBlockIndex* pindexNew) return error("Reorganize() : TxnCommit failed"); // Disconnect shorter branch - BOOST_FOREACH(CBlockIndex* pindex, vDisconnect) + for (CBlockIndex* pindex : vDisconnect) if (pindex->pprev) pindex->pprev->pnext = NULL; // Connect longer branch - BOOST_FOREACH(CBlockIndex* pindex, vConnect) + for (CBlockIndex* pindex : vConnect) if (pindex->pprev) pindex->pprev->pnext = pindex; // Resurrect memory transactions that were in the disconnected branch - BOOST_FOREACH(CTransaction& tx, vResurrect) + for (CTransaction& tx : vResurrect) tx.AcceptToMemoryPool(txdb, false); // Delete redundant memory transactions that are in the connected branch - BOOST_FOREACH(CTransaction& tx, vDelete) + for (CTransaction& tx : vDelete) mempool.remove(tx); printf("REORGANIZE: done\n"); @@ -1930,7 +1930,7 @@ bool CBlock::SetBestChainInner(CTxDB& txdb, CBlockIndex *pindexNew) pindexNew->pprev->pnext = pindexNew; // Delete redundant memory transactions - BOOST_FOREACH(CTransaction& tx, vtx) + for (CTransaction& tx : vtx) mempool.remove(tx); return true; @@ -2070,7 +2070,7 @@ bool CTransaction::GetCoinAge(CTxDB& txdb, uint64_t& nCoinAge) const if (IsCoinBase()) return true; - BOOST_FOREACH(const CTxIn& txin, vin) + for (const CTxIn& txin : vin) { // First try finding the previous transaction in database CTransaction txPrev; @@ -2107,7 +2107,7 @@ bool CBlock::GetCoinAge(uint64_t& nCoinAge) const nCoinAge = 0; CTxDB txdb("r"); - BOOST_FOREACH(const CTransaction& tx, vtx) + for (const CTransaction& tx : vtx) { uint64_t nTxCoinAge; if (tx.GetCoinAge(txdb, nTxCoinAge)) @@ -2346,7 +2346,7 @@ bool CBlock::AcceptBlock() return error("AcceptBlock() : block's timestamp is too far in the future"); // Check that all transactions are finalized - BOOST_FOREACH(const CTransaction& tx, vtx) + for (const CTransaction& tx : vtx) if (!tx.IsFinal(nHeight, GetBlockTime())) return DoS(10, error("AcceptBlock() : contains a non-final transaction")); @@ -2384,7 +2384,7 @@ bool CBlock::AcceptBlock() if (hashBestChain == hash) { LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) if (nBestHeight > (pnode->nStartingHeight != -1 ? pnode->nStartingHeight - 2000 : nBlockEstimate)) pnode->PushInventory(CInv(MSG_BLOCK, hash)); } @@ -3075,7 +3075,7 @@ string GetWarnings(string strFor) // Alerts { LOCK(cs_mapAlerts); - BOOST_FOREACH(PAIRTYPE(const uint256, CAlert)& item, mapAlerts) + for (auto& item : mapAlerts) { const CAlert& alert = item.second; if (alert.AppliesToMe() && alert.nPriority > nPriority) @@ -3262,7 +3262,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) // Relay alerts { LOCK(cs_mapAlerts); - BOOST_FOREACH(PAIRTYPE(const uint256, CAlert)& item, mapAlerts) + for (auto& item : mapAlerts) item.second.RelayTo(pfrom); } @@ -3317,7 +3317,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) vector vAddrOk; int64_t nNow = GetAdjustedTime(); int64_t nSince = nNow - 10 * 60; - BOOST_FOREACH(CAddress& addr, vAddr) + for (CAddress& addr : vAddr) { if (fShutdown) return true; @@ -3339,7 +3339,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) uint256 hashRand = hashSalt ^ (hashAddr<<32) ^ ((GetTime()+hashAddr)/nOneDay); hashRand = Hash(BEGIN(hashRand), END(hashRand)); multimap mapMix; - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) { if (pnode->nVersion < CADDR_TIME_VERSION) continue; @@ -3428,7 +3428,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) if (fDebugNet || (vInv.size() != 1)) printf("received getdata (%" PRIszu " invsz)\n", vInv.size()); - BOOST_FOREACH(const CInv& inv, vInv) + for (const CInv& inv : vInv) { if (fShutdown) return true; @@ -3534,7 +3534,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) // Relay pfrom->hashCheckpointKnown = checkpoint.hashCheckpoint; LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) checkpoint.RelayTo(pnode); } } @@ -3626,7 +3626,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) } } - BOOST_FOREACH(uint256 hash, vEraseQueue) + for (uint256 hash : vEraseQueue) EraseOrphanTx(hash); } else if (fMissingInputs) @@ -3671,7 +3671,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) int64_t nCutOff = GetTime() - (nNodeLifespan * nOneDay); pfrom->vAddrToSend.clear(); vector vAddr = addrman.GetAddr(); - BOOST_FOREACH(const CAddress &addr, vAddr) + for (const CAddress &addr : vAddr) if(addr.nTime > nCutOff) pfrom->PushAddress(addr); } @@ -3773,7 +3773,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) pfrom->setKnown.insert(alertHash); { LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) alert.RelayTo(pnode); } } @@ -3969,7 +3969,7 @@ bool SendMessages(CNode* pto) pto->nNextAddrSend = PoissonNextSend(nNow, 30); vector vAddr; vAddr.reserve(pto->vAddrToSend.size()); - BOOST_FOREACH(const CAddress& addr, pto->vAddrToSend) + for (const CAddress& addr : pto->vAddrToSend) { if (pto->setAddrKnown.insert(addr).second) { @@ -4001,7 +4001,7 @@ bool SendMessages(CNode* pto) LOCK(pto->cs_inventory); vInv.reserve(pto->vInventoryToSend.size()); vInvWait.reserve(pto->vInventoryToSend.size()); - BOOST_FOREACH(const CInv& inv, pto->vInventoryToSend) + for (const CInv& inv : pto->vInventoryToSend) { if (pto->setInventoryKnown.count(inv)) continue; diff --git a/src/main.h b/src/main.h index e753d4d..0ce6499 100644 --- a/src/main.h +++ b/src/main.h @@ -491,7 +491,7 @@ public: nBlockTime = GetAdjustedTime(); if ((int64_t)nLockTime < ((int64_t)nLockTime < LOCKTIME_THRESHOLD ? (int64_t)nBlockHeight : nBlockTime)) return true; - BOOST_FOREACH(const CTxIn& txin, vin) + for (const CTxIn& txin : vin) if (!txin.IsFinal()) return false; return true; @@ -574,7 +574,7 @@ public: int64_t GetValueOut() const { int64_t nValueOut = 0; - BOOST_FOREACH(const CTxOut& txout, vout) + for (const CTxOut& txout : vout) { nValueOut += txout.nValue; if (!MoneyRange(txout.nValue) || !MoneyRange(nValueOut)) @@ -993,7 +993,7 @@ public: int64_t GetMaxTransactionTime() const { int64_t maxTransactionTime = 0; - BOOST_FOREACH(const CTransaction& tx, vtx) + for (const CTransaction& tx : vtx) maxTransactionTime = std::max(maxTransactionTime, (int64_t)tx.nTime); return maxTransactionTime; } @@ -1001,7 +1001,7 @@ public: uint256 BuildMerkleTree() const { vMerkleTree.clear(); - BOOST_FOREACH(const CTransaction& tx, vtx) + for (const CTransaction& tx : vtx) vMerkleTree.push_back(tx.GetHash()); int j = 0; for (int nSize = (int)vtx.size(); nSize > 1; nSize = (nSize + 1) / 2) @@ -1037,7 +1037,7 @@ public: { if (nIndex == -1) return 0; - BOOST_FOREACH(const uint256& otherside, vMerkleBranch) + for (const uint256& otherside : vMerkleBranch) { if (nIndex & 1) hash = Hash(BEGIN(otherside), END(otherside), BEGIN(hash), END(hash)); @@ -1550,7 +1550,7 @@ public: // Retrace how far back it was in the sender's branch int nDistance = 0; int nStep = 1; - BOOST_FOREACH(const uint256& hash, vHave) + for (const uint256& hash : vHave) { std::map::iterator mi = mapBlockIndex.find(hash); if (mi != mapBlockIndex.end()) @@ -1569,7 +1569,7 @@ public: CBlockIndex* GetBlockIndex() { // Find the first block the caller has in the main chain - BOOST_FOREACH(const uint256& hash, vHave) + for (const uint256& hash : vHave) { std::map::iterator mi = mapBlockIndex.find(hash); if (mi != mapBlockIndex.end()) @@ -1585,7 +1585,7 @@ public: uint256 GetBlockHash() { // Find the first block the caller has in the main chain - BOOST_FOREACH(const uint256& hash, vHave) + for (const uint256& hash : vHave) { std::map::iterator mi = mapBlockIndex.find(hash); if (mi != mapBlockIndex.end()) diff --git a/src/miner.cpp b/src/miner.cpp index 1c4d283..f9ec6eb 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -190,7 +190,7 @@ std::shared_ptr CreateNewBlock(CWallet* pwallet, CTransaction *txCoinSta double dPriority = 0; int64_t nTotalIn = 0; bool fMissingInputs = false; - BOOST_FOREACH(const CTxIn& txin, tx.vin) + for (const CTxIn& txin : tx.vin) { // Read prev transaction CTransaction txPrev; @@ -337,7 +337,7 @@ std::shared_ptr CreateNewBlock(CWallet* pwallet, CTransaction *txCoinSta uint256 hash = tx.GetHash(); if (mapDependers.count(hash)) { - BOOST_FOREACH(COrphan* porphan, mapDependers[hash]) + for (COrphan* porphan : mapDependers[hash]) { if (!porphan->setDependsOn.empty()) { diff --git a/src/net.cpp b/src/net.cpp index 64695a0..75280b3 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -196,7 +196,7 @@ bool RecvLine(SOCKET hSocket, string& strLine) void static AdvertizeLocal() { LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) { if (pnode->fSuccessfullyConnected) { @@ -391,7 +391,7 @@ CCriticalSection CNode::cs_totalBytesSent; CNode* FindNode(const CNetAddr& ip) { LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) if ((CNetAddr)pnode->addr == ip) return (pnode); return NULL; @@ -400,7 +400,7 @@ CNode* FindNode(const CNetAddr& ip) CNode* FindNode(std::string addrName) { LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) if (pnode->addrName == addrName) return (pnode); return NULL; @@ -409,7 +409,7 @@ CNode* FindNode(std::string addrName) CNode* FindNode(const CService& addr) { LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) if ((CService)pnode->addr == addr) return (pnode); return NULL; @@ -652,7 +652,7 @@ void ThreadSocketHandler2(void* parg) LOCK(cs_vNodes); // Disconnect unused nodes vector vNodesCopy = vNodes; - BOOST_FOREACH(CNode* pnode, vNodesCopy) + for (CNode* pnode : vNodesCopy) { if (pnode->fDisconnect || (pnode->GetRefCount() <= 0 && pnode->vRecv.empty() && pnode->vSend.empty())) @@ -677,7 +677,7 @@ void ThreadSocketHandler2(void* parg) // Delete disconnected nodes list vNodesDisconnectedCopy = vNodesDisconnected; - BOOST_FOREACH(CNode* pnode, vNodesDisconnectedCopy) + for (CNode* pnode : vNodesDisconnectedCopy) { // wait until threads are done using it if (pnode->GetRefCount() <= 0) @@ -731,14 +731,14 @@ void ThreadSocketHandler2(void* parg) SOCKET hSocketMax = 0; bool have_fds = false; - BOOST_FOREACH(SOCKET hListenSocket, vhListenSocket) { + for (SOCKET hListenSocket : vhListenSocket) { FD_SET(hListenSocket, &fdsetRecv); hSocketMax = max(hSocketMax, hListenSocket); have_fds = true; } { LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) { if (pnode->hSocket == INVALID_SOCKET) continue; @@ -778,7 +778,7 @@ void ThreadSocketHandler2(void* parg) // // Accept new connections // - BOOST_FOREACH(SOCKET hListenSocket, vhListenSocket) + for (SOCKET hListenSocket : vhListenSocket) if (hListenSocket != INVALID_SOCKET && FD_ISSET(hListenSocket, &fdsetRecv)) { #ifdef USE_IPV6 @@ -797,7 +797,7 @@ void ThreadSocketHandler2(void* parg) { LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) if (pnode->fInbound) nInbound++; } @@ -841,10 +841,10 @@ void ThreadSocketHandler2(void* parg) { LOCK(cs_vNodes); vNodesCopy = vNodes; - BOOST_FOREACH(CNode* pnode, vNodesCopy) + for (CNode* pnode : vNodesCopy) pnode->AddRef(); } - BOOST_FOREACH(CNode* pnode, vNodesCopy) + for (CNode* pnode : vNodesCopy) { if (fShutdown) return; @@ -1018,7 +1018,7 @@ void ThreadDNSAddressSeed2(void* parg) vector vAdd; if (LookupHost(strDNSSeed[seed_idx][1], vaddr)) { - BOOST_FOREACH(CNetAddr& ip, vaddr) + for (CNetAddr& ip : vaddr) { CAddress addr = CAddress(CService(ip, GetDefaultPort())); addr.nTime = GetTime() - 3*nOneDay - GetRand(4*nOneDay); // use a random age between 3 and 7 days old @@ -1182,7 +1182,7 @@ void ThreadOpenConnections2(void* parg) for (int64_t nLoop = 0;; nLoop++) { ProcessOneShot(); - BOOST_FOREACH(string strAddr, mapMultiArgs["-connect"]) + for (string strAddr : mapMultiArgs["-connect"]) { CAddress addr; OpenNetworkConnection(addr, NULL, strAddr.c_str()); @@ -1259,7 +1259,7 @@ void ThreadOpenConnections2(void* parg) set > setConnected; { LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) { + for (CNode* pnode : vNodes) { if (!pnode->fInbound) { setConnected.insert(pnode->addr.GetGroup()); nOutbound++; @@ -1341,10 +1341,10 @@ void ThreadOpenAddedConnections2(void* parg) list lAddresses(0); { LOCK(cs_vAddedNodes); - BOOST_FOREACH(string& strAddNode, vAddedNodes) + for (string& strAddNode : vAddedNodes) lAddresses.push_back(strAddNode); } - BOOST_FOREACH(string& strAddNode, lAddresses) { + for (string& strAddNode : lAddresses) { CAddress addr; CSemaphoreGrant grant(*semOutbound); OpenNetworkConnection(addr, &grant, strAddNode.c_str()); @@ -1362,12 +1362,12 @@ void ThreadOpenAddedConnections2(void* parg) list lAddresses(0); { LOCK(cs_vAddedNodes); - BOOST_FOREACH(string& strAddNode, vAddedNodes) + for (string& strAddNode : vAddedNodes) lAddresses.push_back(strAddNode); } list > lservAddressesToAdd(0); - BOOST_FOREACH(string& strAddNode, lAddresses) + for (string& strAddNode : lAddresses) { vector vservNode(0); if (Lookup(strAddNode.c_str(), vservNode, GetDefaultPort(), fNameLookup, 0)) @@ -1375,7 +1375,7 @@ void ThreadOpenAddedConnections2(void* parg) lservAddressesToAdd.push_back(vservNode); { LOCK(cs_setservAddNodeAddresses); - BOOST_FOREACH(CService& serv, vservNode) + for (CService& serv : vservNode) setservAddNodeAddresses.insert(serv); } } @@ -1384,10 +1384,10 @@ void ThreadOpenAddedConnections2(void* parg) // (keeping in mind that addnode entries can have many IPs if fNameLookup) { LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) for (list >::iterator it = lservAddressesToAdd.begin(); it != lservAddressesToAdd.end(); it++) { - BOOST_FOREACH(CService& addrNode, *(it)) + for (CService& addrNode : *(it)) if (pnode->addr == addrNode) { it = lservAddressesToAdd.erase(it); @@ -1399,7 +1399,7 @@ void ThreadOpenAddedConnections2(void* parg) break; } } - BOOST_FOREACH(vector& vserv, lservAddressesToAdd) + for (vector& vserv : lservAddressesToAdd) { if (vserv.size() == 0) continue; @@ -1462,7 +1462,7 @@ void static StartSync(const vector &vNodes) { int64_t nBestScore = 0; // Iterate over all nodes - BOOST_FOREACH(CNode* pnode, vNodes) { + for (CNode* pnode : vNodes) { // check preconditions for allowing a sync if (!pnode->fClient && !pnode->fOneShot && !pnode->fDisconnect && pnode->fSuccessfullyConnected && @@ -1515,7 +1515,7 @@ void ThreadMessageHandler2(void* parg) { LOCK(cs_vNodes); vNodesCopy = vNodes; - BOOST_FOREACH(CNode* pnode, vNodesCopy) { + for (CNode* pnode : vNodesCopy) { pnode->AddRef(); if (pnode == pnodeSync) fHaveSyncNode = true; @@ -1526,7 +1526,7 @@ void ThreadMessageHandler2(void* parg) StartSync(vNodesCopy); // Poll the connected nodes for messages - BOOST_FOREACH(CNode* pnode, vNodesCopy) + for (CNode* pnode : vNodesCopy) { // Receive messages { @@ -1685,7 +1685,7 @@ void static Discover() vector vaddr; if (LookupHost(pszHostName, vaddr)) { - BOOST_FOREACH (const CNetAddr &addr, vaddr) + for (const CNetAddr &addr : vaddr) { AddLocal(addr, LOCAL_IF); } @@ -1844,18 +1844,18 @@ public: ~CNetCleanup() { // Close sockets - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) if (pnode->hSocket != INVALID_SOCKET) CloseSocket(pnode->hSocket); - BOOST_FOREACH(SOCKET hListenSocket, vhListenSocket) + for (SOCKET hListenSocket : vhListenSocket) if (hListenSocket != INVALID_SOCKET) if (!CloseSocket(hListenSocket)) printf("CloseSocket(hListenSocket) failed with error %d\n", WSAGetLastError()); // clean up some globals (to help leak detection) - BOOST_FOREACH(CNode *pnode, vNodes) + for (CNode *pnode : vNodes) delete pnode; - BOOST_FOREACH(CNode *pnode, vNodesDisconnected) + for (CNode *pnode : vNodesDisconnected) delete pnode; vNodes.clear(); vNodesDisconnected.clear(); diff --git a/src/net.h b/src/net.h index 5958775..093ba85 100644 --- a/src/net.h +++ b/src/net.h @@ -9,7 +9,6 @@ #include #ifndef Q_MOC_RUN #include -#include #endif #include @@ -559,7 +558,7 @@ inline void RelayInventory(const CInv& inv) // Put on lists to offer to the other nodes { LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) pnode->PushInventory(inv); } } diff --git a/src/qt/addresstablemodel.cpp b/src/qt/addresstablemodel.cpp index a5dc784..27f7061 100644 --- a/src/qt/addresstablemodel.cpp +++ b/src/qt/addresstablemodel.cpp @@ -59,7 +59,7 @@ public: cachedAddressTable.clear(); { LOCK(wallet->cs_wallet); - BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, std::string)& item, wallet->mapAddressBook) + for (const auto& item : wallet->mapAddressBook) { const CBitcoinAddress& address = item.first; const std::string& strName = item.second; diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp index 45fc8be..57aa691 100644 --- a/src/qt/clientmodel.cpp +++ b/src/qt/clientmodel.cpp @@ -55,7 +55,7 @@ int ClientModel::getNumConnections(uint8_t flags) const return (int)(vNodes.size()); int nNum = 0; - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) if (flags & (pnode->fInbound ? CONNECTIONS_IN : CONNECTIONS_OUT)) nNum++; diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 7b7472b..e288f1f 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -458,7 +458,7 @@ void CoinControlDialog::updateLabels(WalletModel *model, QWidget* dialog) coinControl->ListSelected(vCoinControl); model->getOutputs(vCoinControl, vOutputs); - BOOST_FOREACH(const COutput& out, vOutputs) + for (const COutput& out : vOutputs) { // Quantity nQuantity++; @@ -588,7 +588,7 @@ void CoinControlDialog::updateView() map > mapCoins; model->listCoins(mapCoins); - BOOST_FOREACH(PAIRTYPE(QString, vector) coins, mapCoins) + for (auto coins : mapCoins) { QTreeWidgetItem *itemWalletAddress = new QTreeWidgetItem(); QString sWalletAddress = coins.first; @@ -621,7 +621,7 @@ void CoinControlDialog::updateView() int nChildren = 0; int nInputSum = 0; uint64_t nTxWeight = 0, nTxWeightSum = 0; - BOOST_FOREACH(const COutput& out, coins.second) + for (const COutput& out : coins.second) { int nInputSize = 148; // 180 if uncompressed public key nSum += out.tx->vout[out.i].nValue; diff --git a/src/qt/mintingtablemodel.cpp b/src/qt/mintingtablemodel.cpp index 23df6cc..5f82578 100644 --- a/src/qt/mintingtablemodel.cpp +++ b/src/qt/mintingtablemodel.cpp @@ -74,7 +74,7 @@ public: for(std::map::iterator it = wallet->mapWallet.begin(); it != wallet->mapWallet.end(); ++it) { std::vector txList = KernelRecord::decomposeOutput(wallet, it->second); - BOOST_FOREACH(KernelRecord& kr, txList) { + for (KernelRecord& kr : txList) { if(!kr.spent) { cachedWallet.append(kr); } @@ -137,7 +137,7 @@ public: if(!toInsert.empty()) /* only if something to insert */ { int insert_idx = lowerIndex; - BOOST_FOREACH(const KernelRecord &rec, toInsert) + for (const KernelRecord &rec : toInsert) { if(!rec.spent) { @@ -160,7 +160,7 @@ public: { // Updated -- remove spent coins from table std::vector toCheck = KernelRecord::decomposeOutput(wallet, mi->second); - BOOST_FOREACH(const KernelRecord &rec, toCheck) + for (const KernelRecord &rec : toCheck) { if(rec.spent) { @@ -247,7 +247,7 @@ void MintingTableModel::update() TRY_LOCK(wallet->cs_wallet, lockWallet); if (lockWallet && !wallet->vMintingWalletUpdated.empty()) { - BOOST_FOREACH(uint256 hash, wallet->vMintingWalletUpdated) + for (uint256 hash : wallet->vMintingWalletUpdated) { updated.append(hash); @@ -255,7 +255,7 @@ void MintingTableModel::update() CWalletTx wtx; if(wallet->GetTransaction(hash, wtx)) { - BOOST_FOREACH(const CTxIn& txin, wtx.vin) + for (const CTxIn& txin : wtx.vin) { updated.append(txin.prevout.hash); } diff --git a/src/qt/multisigdialog.cpp b/src/qt/multisigdialog.cpp index b1a2f64..507248f 100644 --- a/src/qt/multisigdialog.cpp +++ b/src/qt/multisigdialog.cpp @@ -349,7 +349,7 @@ void MultisigDialog::on_transaction_textChanged() // Fill input list int index = -1; - BOOST_FOREACH(const CTxIn& txin, tx.vin) + for (const CTxIn& txin : tx.vin) { uint256 prevoutHash = txin.prevout.hash; addInput(); @@ -364,7 +364,7 @@ void MultisigDialog::on_transaction_textChanged() // Fill output list index = -1; - BOOST_FOREACH(const CTxOut& txout, tx.vout) + for (const CTxOut& txout : tx.vout) { CScript scriptPubKey = txout.scriptPubKey; CTxDestination addr; @@ -431,7 +431,7 @@ void MultisigDialog::on_signTransactionButton_clicked() tempTx.vin.push_back(mergedTx.vin[i]); tempTx.FetchInputs(txdb, unused, false, false, mapPrevTx, fInvalid); - BOOST_FOREACH(const CTxIn& txin, tempTx.vin) + for (const CTxIn& txin : tempTx.vin) { const uint256& prevHash = txin.prevout.hash; if(mapPrevTx.count(prevHash) && mapPrevTx[prevHash].second.vout.size() > txin.prevout.n) diff --git a/src/qt/transactiondesc.cpp b/src/qt/transactiondesc.cpp index b809125..32102c2 100644 --- a/src/qt/transactiondesc.cpp +++ b/src/qt/transactiondesc.cpp @@ -1,8 +1,6 @@ #include "transactiondesc.h" - #include "guiutil.h" #include "bitcoinunits.h" - #include "main.h" #include "wallet.h" #include "txdb-leveldb.h" @@ -78,7 +76,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx) if (nNet > 0) { // Credit - BOOST_FOREACH(const CTxOut& txout, wtx.vout) + for (const CTxOut& txout : wtx.vout) { if (wallet->IsMine(txout)) { @@ -157,7 +155,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx) // Coinbase // int64_t nUnmatured = 0; - BOOST_FOREACH(const CTxOut& txout, wtx.vout) + for (const CTxOut& txout : wtx.vout) nUnmatured += wallet->GetCredit(txout, MINE_ALL); strHTML += "" + tr("Credit") + ": "; if (wtx.IsInMainChain()) @@ -176,11 +174,11 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx) else { bool fAllFromMe = true; - BOOST_FOREACH(const CTxIn& txin, wtx.vin) + for (const CTxIn& txin : wtx.vin) fAllFromMe = fAllFromMe && wallet->IsMine(txin); bool fAllToMe = true; - BOOST_FOREACH(const CTxOut& txout, wtx.vout) + for (const CTxOut& txout : wtx.vout) fAllToMe = fAllToMe && wallet->IsMine(txout); if (fAllFromMe) @@ -188,7 +186,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx) // // Debit // - BOOST_FOREACH(const CTxOut& txout, wtx.vout) + for (const CTxOut& txout : wtx.vout) { if (wallet->IsMine(txout)) continue; @@ -228,10 +226,10 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx) // // Mixed debit transaction // - BOOST_FOREACH(const CTxIn& txin, wtx.vin) + for (const CTxIn& txin : wtx.vin) if (wallet->IsMine(txin)) strHTML += "" + tr("Debit") + ": " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, -wallet->GetDebit(txin, MINE_ALL)) + "
"; - BOOST_FOREACH(const CTxOut& txout, wtx.vout) + for (const CTxOut& txout : wtx.vout) if (wallet->IsMine(txout)) strHTML += "" + tr("Credit") + ": " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, wallet->GetCredit(txout, MINE_ALL)) + "
"; } @@ -258,10 +256,10 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx) if (fDebug) { strHTML += "

" + tr("Debug information") + "

"; - BOOST_FOREACH(const CTxIn& txin, wtx.vin) + for (const CTxIn& txin : wtx.vin) if(wallet->IsMine(txin)) strHTML += "" + tr("Debit") + ": " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, -wallet->GetDebit(txin, MINE_ALL)) + "
"; - BOOST_FOREACH(const CTxOut& txout, wtx.vout) + for (const CTxOut& txout : wtx.vout) if(wallet->IsMine(txout)) strHTML += "" + tr("Credit") + ": " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, wallet->GetCredit(txout, MINE_ALL)) + "
"; @@ -275,7 +273,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx) { LOCK(wallet->cs_wallet); - BOOST_FOREACH(const CTxIn& txin, wtx.vin) + for (const CTxIn& txin : wtx.vin) { COutPoint prevout = txin.prevout; diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp index a4066cf..199e611 100644 --- a/src/qt/transactionrecord.cpp +++ b/src/qt/transactionrecord.cpp @@ -41,7 +41,7 @@ QList TransactionRecord::decomposeTransaction(const CWallet * // // Credit // - BOOST_FOREACH(const CTxOut& txout, wtx.vout) + for (const CTxOut& txout : wtx.vout) { if(wallet->IsMine(txout)) { @@ -83,11 +83,11 @@ QList TransactionRecord::decomposeTransaction(const CWallet * else { bool fAllFromMe = true; - BOOST_FOREACH(const CTxIn& txin, wtx.vin) + for (const CTxIn& txin : wtx.vin) fAllFromMe = fAllFromMe && wallet->IsMine(txin); bool fAllToMe = true; - BOOST_FOREACH(const CTxOut& txout, wtx.vout) + for (const CTxOut& txout : wtx.vout) fAllToMe = fAllToMe && wallet->IsMine(txout); if (fAllFromMe && fAllToMe) diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index b6bf5b1..d05cfa0 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -185,7 +185,7 @@ WalletModel::SendCoinsReturn WalletModel::sendCoins(const QList vCoins; wallet->AvailableCoins(vCoins, true, coinControl); - BOOST_FOREACH(const COutput& out, vCoins) + for (const COutput& out : vCoins) if(out.fSpendable) nBalance += out.tx->vout[out.i].nValue; @@ -461,7 +461,7 @@ bool WalletModel::getPubKey(const CKeyID &address, CPubKey& vchPubKeyOut) const // returns a list of COutputs from COutPoints void WalletModel::getOutputs(const std::vector& vOutpoints, std::vector& vOutputs) { - BOOST_FOREACH(const COutPoint& outpoint, vOutpoints) + for (const COutPoint& outpoint : vOutpoints) { if (!wallet->mapWallet.count(outpoint.hash)) continue; COutput out(&wallet->mapWallet[outpoint.hash], outpoint.n, wallet->mapWallet[outpoint.hash].GetDepthInMainChain(), true); @@ -477,7 +477,7 @@ void WalletModel::listCoins(std::map >& mapCoins) std::vector vLockedCoins; // add locked coins - BOOST_FOREACH(const COutPoint& outpoint, vLockedCoins) + for (const COutPoint& outpoint : vLockedCoins) { if (!wallet->mapWallet.count(outpoint.hash)) continue; COutput out(&wallet->mapWallet[outpoint.hash], outpoint.n, wallet->mapWallet[outpoint.hash].GetDepthInMainChain(), true); @@ -485,7 +485,7 @@ void WalletModel::listCoins(std::map >& mapCoins) vCoins.push_back(out); } - BOOST_FOREACH(const COutput& out, vCoins) + for (const COutput& out : vCoins) { COutput cout = out; diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 69e436c..5dec626 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -128,7 +128,7 @@ Object blockToJSON(const CBlock& block, const CBlockIndex* blockindex, bool fPri result.push_back(Pair("modifier", strprintf("%016" PRIx64, blockindex->nStakeModifier))); result.push_back(Pair("modifierchecksum", strprintf("%08x", blockindex->nStakeModifierChecksum))); Array txinfo; - BOOST_FOREACH (const CTransaction& tx, block.vtx) + for (const CTransaction& tx : block.vtx) { if (fPrintTransactionDetail) { @@ -210,7 +210,7 @@ Value getrawmempool(const Array& params, bool fHelp) mempool.queryHashes(vtxid); Array a; - BOOST_FOREACH(const uint256& hash, vtxid) + for (const uint256& hash : vtxid) a.push_back(hash.ToString()); return a; diff --git a/src/rpcmining.cpp b/src/rpcmining.cpp index ce6545b..ca56968 100644 --- a/src/rpcmining.cpp +++ b/src/rpcmining.cpp @@ -133,7 +133,7 @@ Value scaninput(const Array& params, bool fHelp) if (inputs_v.type() == array_type) { Array inputs = inputs_v.get_array(); - BOOST_FOREACH(const Value &v_out, inputs) + for (const Value &v_out : inputs) { int nOut = v_out.get_int(); if (nOut < 0 || nOut > (int)tx.vout.size() - 1) @@ -188,7 +188,7 @@ Value scaninput(const Array& params, bool fHelp) interval.second = interval.first + nDays * nOneDay; Array results; - BOOST_FOREACH(const int &nOut, vInputs) + for (const int &nOut : vInputs) { // Check for spent flag // It doesn't make sense to scan spent inputs. @@ -208,7 +208,7 @@ Value scaninput(const Array& params, bool fHelp) std::vector > result; if (ScanKernelForward((unsigned char *)&itK[0], nBits, tx.nTime, tx.vout[nOut].nValue, interval, result)) { - BOOST_FOREACH(const PAIRTYPE(uint256, uint32_t) solution, result) + for (const auto &solution : result) { Object item; item.push_back(Pair("nout", nOut)); @@ -307,7 +307,7 @@ Value getworkex(const Array& params, bool fHelp) Array merkle_arr; - BOOST_FOREACH(uint256 merkleh, merkle) { + for (uint256 merkleh : merkle) { merkle_arr.push_back(HexStr(BEGIN(merkleh), END(merkleh))); } @@ -550,7 +550,7 @@ Value getblocktemplate(const Array& params, bool fHelp) map setTxIndex; int i = 0; CTxDB txdb("r"); - BOOST_FOREACH (CTransaction& tx, pblock->vtx) + for (CTransaction& tx : pblock->vtx) { uint256 txHash = tx.GetHash(); setTxIndex[txHash] = i++; @@ -574,7 +574,7 @@ Value getblocktemplate(const Array& params, bool fHelp) entry.push_back(Pair("fee", (int64_t)(tx.GetValueIn(mapInputs) - tx.GetValueOut()))); Array deps; - BOOST_FOREACH (MapPrevTx::value_type& inp, mapInputs) + for (MapPrevTx::value_type& inp : mapInputs) { if (setTxIndex.count(inp.first)) deps.push_back(setTxIndex[inp.first]); diff --git a/src/rpcnet.cpp b/src/rpcnet.cpp index 35e4cb9..4bb82a7 100644 --- a/src/rpcnet.cpp +++ b/src/rpcnet.cpp @@ -30,7 +30,7 @@ static void CopyNodeStats(std::vector& vstats) LOCK(cs_vNodes); vstats.reserve(vNodes.size()); - BOOST_FOREACH(CNode* pnode, vNodes) { + for (CNode* pnode : vNodes) { CNodeStats stats; pnode->copyStats(stats); vstats.push_back(stats); @@ -62,7 +62,7 @@ Value getaddrmaninfo(const Array& params, bool fHelp) strFilterNetType = params[0].get_str(); Array ret; - BOOST_FOREACH(const CAddrInfo &addr, vAddr) { + for (const CAddrInfo &addr : vAddr) { if (!addr.IsRoutable() || addr.IsLocal()) continue; @@ -112,7 +112,7 @@ Value getpeerinfo(const Array& params, bool fHelp) Array ret; - BOOST_FOREACH(const CNodeStats& stats, vstats) { + for (const CNodeStats& stats : vstats) { Object obj; obj.push_back(Pair("addr", stats.addrName)); @@ -194,14 +194,14 @@ Value getaddednodeinfo(const Array& params, bool fHelp) if (params.size() == 1) { LOCK(cs_vAddedNodes); - BOOST_FOREACH(string& strAddNode, vAddedNodes) + for (string& strAddNode : vAddedNodes) laddedNodes.push_back(strAddNode); } else { string strNode = params[1].get_str(); LOCK(cs_vAddedNodes); - BOOST_FOREACH(string& strAddNode, vAddedNodes) + for (string& strAddNode : vAddedNodes) if (strAddNode == strNode) { laddedNodes.push_back(strAddNode); @@ -214,7 +214,7 @@ Value getaddednodeinfo(const Array& params, bool fHelp) if (!fDns) { Object ret; - BOOST_FOREACH(string& strAddNode, laddedNodes) + for (string& strAddNode : laddedNodes) ret.push_back(Pair("addednode", strAddNode)); return ret; } @@ -222,7 +222,7 @@ Value getaddednodeinfo(const Array& params, bool fHelp) Array ret; list > > laddedAddreses(0); - BOOST_FOREACH(string& strAddNode, laddedNodes) + for (string& strAddNode : laddedNodes) { vector vservNode(0); if(Lookup(strAddNode.c_str(), vservNode, GetDefaultPort(), fNameLookup, 0)) @@ -245,12 +245,12 @@ Value getaddednodeinfo(const Array& params, bool fHelp) Array addresses; bool fConnected = false; - BOOST_FOREACH(CService& addrNode, it->second) + for (CService& addrNode : it->second) { bool fFound = false; Object node; node.push_back(Pair("address", addrNode.ToString())); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) if (pnode->addr == addrNode) { fFound = true; @@ -316,7 +316,7 @@ Value sendalert(const Array& params, bool fHelp) // Relay alert { LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) alert.RelayTo(pnode); } diff --git a/src/rpcrawtransaction.cpp b/src/rpcrawtransaction.cpp index 66d9999..4c1f0f0 100644 --- a/src/rpcrawtransaction.cpp +++ b/src/rpcrawtransaction.cpp @@ -54,7 +54,7 @@ void ScriptPubKeyToJSON(const CScript& scriptPubKey, Object& out, bool fIncludeH else { Array a; - BOOST_FOREACH(const CTxDestination& addr, addresses) + for (const CTxDestination& addr : addresses) a.push_back(CBitcoinAddress(addr).ToString()); out.push_back(Pair("addresses", a)); } @@ -72,7 +72,7 @@ void TxToJSON(const CTransaction& tx, const uint256& hashBlock, Object& entry) entry.push_back(Pair("time", (int64_t)tx.nTime)); entry.push_back(Pair("locktime", (int64_t)tx.nLockTime)); Array vin; - BOOST_FOREACH(const CTxIn& txin, tx.vin) + for (const CTxIn& txin : tx.vin) { Object in; if (tx.IsCoinBase()) @@ -183,7 +183,7 @@ Value listunspent(const Array& params, bool fHelp) if (params.size() > 2) { Array inputs = params[2].get_array(); - BOOST_FOREACH(Value& input, inputs) + for (Value& input : inputs) { CBitcoinAddress address(input.get_str()); if (!address.IsValid()) @@ -197,7 +197,7 @@ Value listunspent(const Array& params, bool fHelp) Array results; vector vecOutputs; pwalletMain->AvailableCoins(vecOutputs, false); - BOOST_FOREACH(const COutput& out, vecOutputs) + for (const COutput& out : vecOutputs) { if (out.nDepth < nMinDepth || out.nDepth > nMaxDepth) continue; @@ -265,7 +265,7 @@ Value createrawtransaction(const Array& params, bool fHelp) CTransaction rawTx; - BOOST_FOREACH(Value& input, inputs) + for (Value& input : inputs) { const Object& o = input.get_obj(); @@ -288,7 +288,7 @@ Value createrawtransaction(const Array& params, bool fHelp) } set setAddress; - BOOST_FOREACH(const Pair& s, sendTo) + for (const Pair& s : sendTo) { // Create output destination script CScript scriptPubKey; @@ -434,7 +434,7 @@ Value signrawtransaction(const Array& params, bool fHelp) tempTx.FetchInputs(txdb, unused, false, false, mapPrevTx, fInvalid); // Copy results into mapPrevOut: - BOOST_FOREACH(const CTxIn& txin, tempTx.vin) + for (const CTxIn& txin : tempTx.vin) { const uint256& prevHash = txin.prevout.hash; if (mapPrevTx.count(prevHash) && mapPrevTx[prevHash].second.vout.size()>txin.prevout.n) @@ -448,7 +448,7 @@ Value signrawtransaction(const Array& params, bool fHelp) { fGivenKeys = true; Array keys = params[2].get_array(); - BOOST_FOREACH(Value k, keys) + for (Value k : keys) { CBitcoinSecret vchSecret; bool fGood = vchSecret.SetString(k.get_str()); @@ -468,7 +468,7 @@ Value signrawtransaction(const Array& params, bool fHelp) if (params.size() > 1 && params[1].type() != null_type) { Array prevTxs = params[1].get_array(); - BOOST_FOREACH(Value& p, prevTxs) + for (Value& p : prevTxs) { if (p.type() != obj_type) throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "expected object with {\"txid'\",\"vout\",\"scriptPubKey\"}"); @@ -565,7 +565,7 @@ Value signrawtransaction(const Array& params, bool fHelp) SignSignature(keystore, prevPubKey, mergedTx, i, nHashType); // ... and merge in other signatures: - BOOST_FOREACH(const CTransaction& txv, txVariants) + for (const CTransaction& txv : txVariants) { txin.scriptSig = CombineSignatures(prevPubKey, mergedTx, i, txin.scriptSig, txv.vin[i].scriptSig); } diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index e0839b8..5f9c6b5 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -50,7 +50,7 @@ void WalletTxToJSON(const CWalletTx& wtx, Object& entry) entry.push_back(Pair("txid", wtx.GetHash().GetHex())); entry.push_back(Pair("time", (int64_t)wtx.GetTxTime())); entry.push_back(Pair("timereceived", (int64_t)wtx.nTimeReceived)); - BOOST_FOREACH(const PAIRTYPE(string,string)& item, wtx.mapValue) + for (const auto& item : wtx.mapValue) entry.push_back(Pair(item.first, item.second)); } @@ -161,7 +161,7 @@ CBitcoinAddress GetAccountAddress(string strAccount, bool bForceNew=false) ++it) { const CWalletTx& wtx = (*it).second; - BOOST_FOREACH(const CTxOut& txout, wtx.vout) + for (const CTxOut& txout : wtx.vout) if (txout.scriptPubKey == scriptPubKey) bKeyUsed = true; } @@ -259,7 +259,7 @@ Value getaddressesbyaccount(const Array& params, bool fHelp) // Find all addresses that have the given account Array ret; - BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, string)& item, pwalletMain->mapAddressBook) + for (const auto& item : pwalletMain->mapAddressBook) { const CBitcoinAddress& address = item.first; const string& strName = item.second; @@ -309,7 +309,7 @@ Value mergecoins(const Array& params, bool fHelp) return Value::null; Array mergedHashes; - BOOST_FOREACH(const uint256 txHash, listMerged) + for (const uint256 txHash : listMerged) mergedHashes.push_back(txHash.GetHex()); return mergedHashes; @@ -367,10 +367,10 @@ Value listaddressgroupings(const Array& params, bool fHelp) Array jsonGroupings; map balances = pwalletMain->GetAddressBalances(); - BOOST_FOREACH(set grouping, pwalletMain->GetAddressGroupings()) + for (set grouping : pwalletMain->GetAddressGroupings()) { Array jsonGrouping; - BOOST_FOREACH(CBitcoinAddress address, grouping) + for (CBitcoinAddress address : grouping) { Array addressInfo; addressInfo.push_back(address.ToString()); @@ -484,7 +484,7 @@ Value getreceivedbyaddress(const Array& params, bool fHelp) const CWalletTx& wtx = (*it).second; if (wtx.IsCoinBase() || wtx.IsCoinStake() || !wtx.IsFinal()) continue; - BOOST_FOREACH(const CTxOut& txout, wtx.vout) + for (const CTxOut& txout : wtx.vout) { CBitcoinAddress addressRet; if (!ExtractAddress(*pwalletMain, txout.scriptPubKey, addressRet)) @@ -500,7 +500,7 @@ Value getreceivedbyaddress(const Array& params, bool fHelp) void GetAccountAddresses(string strAccount, set& setAddress) { - BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, string)& item, pwalletMain->mapAddressBook) + for (const auto& item : pwalletMain->mapAddressBook) { const CBitcoinAddress& address = item.first; const string& strName = item.second; @@ -534,7 +534,7 @@ Value getreceivedbyaccount(const Array& params, bool fHelp) if (wtx.IsCoinBase() || wtx.IsCoinStake() || !wtx.IsFinal()) continue; - BOOST_FOREACH(const CTxOut& txout, wtx.vout) + for (const CTxOut& txout : wtx.vout) { CBitcoinAddress address; if (ExtractAddress(*pwalletMain, txout.scriptPubKey, address) && IsMine(*pwalletMain, address) && setAddress.count(address)) @@ -619,10 +619,10 @@ Value getbalance(const Array& params, bool fHelp) wtx.GetAmounts(allGeneratedImmature, allGeneratedMature, listReceived, listSent, allFee, strSentAccount, filter); if (wtx.GetDepthInMainChain() >= nMinDepth) { - BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress,int64_t)& r, listReceived) + for (const auto& r : listReceived) nBalance += r.second; } - BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress,int64_t)& r, listSent) + for (const auto& r : listSent) nBalance -= r.second; nBalance -= allFee; nBalance += allGeneratedMature; @@ -768,7 +768,7 @@ Value sendmany(const Array& params, bool fHelp) vector > vecSend; int64_t totalAmount = 0; - BOOST_FOREACH(const Pair& s, sendTo) + for (const Pair& s : sendTo) { CBitcoinAddress address(s.name_); if (!address.IsValid()) @@ -955,7 +955,7 @@ Value ListReceived(const Array& params, bool fByAccounts) if (nDepth < nMinDepth) continue; - BOOST_FOREACH(const CTxOut& txout, wtx.vout) + for (const CTxOut& txout : wtx.vout) { CTxDestination address; if (!ExtractDestination(txout.scriptPubKey, address) || !IsMine(*pwalletMain, address)) @@ -970,7 +970,7 @@ Value ListReceived(const Array& params, bool fByAccounts) // Reply Array ret; map mapAccountTally; - BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, string)& item, pwalletMain->mapAddressBook) + for (const auto& item : pwalletMain->mapAddressBook) { const CBitcoinAddress& address = item.first; const string& strAccount = item.second; @@ -1091,7 +1091,7 @@ void ListTransactions(const CWalletTx& wtx, const string& strAccount, int nMinDe // Sent if ((!listSent.empty() || nFee != 0) && (fAllAccounts || strAccount == strSentAccount)) { - BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, int64_t)& s, listSent) + for (const auto& s : listSent) { Object entry; entry.push_back(Pair("account", strSentAccount)); @@ -1116,7 +1116,7 @@ void ListTransactions(const CWalletTx& wtx, const string& strAccount, int nMinDe // Received if (listReceived.size() > 0 && wtx.GetDepthInMainChain() >= nMinDepth) { - BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, int64_t)& r, listReceived) + for (const auto& r : listReceived) { string account; if (pwalletMain->mapAddressBook.count(r.first)) @@ -1246,7 +1246,7 @@ Value listaccounts(const Array& params, bool fHelp) map mapAccountBalances; - BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, string)& entry, pwalletMain->mapAddressBook) { + for (const auto& entry : pwalletMain->mapAddressBook) { if (IsMine(*pwalletMain, entry.first)) // This address belongs to me mapAccountBalances[entry.second] = 0; } @@ -1260,12 +1260,12 @@ Value listaccounts(const Array& params, bool fHelp) list > listSent; wtx.GetAmounts(nGeneratedImmature, nGeneratedMature, listReceived, listSent, nFee, strSentAccount, includeWatchonly); mapAccountBalances[strSentAccount] -= nFee; - BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, int64_t)& s, listSent) + for (const auto& s : listSent) mapAccountBalances[strSentAccount] -= s.second; if (wtx.GetDepthInMainChain() >= nMinDepth) { mapAccountBalances[""] += nGeneratedMature; - BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, int64_t)& r, listReceived) + for (const auto& r : listReceived) if (pwalletMain->mapAddressBook.count(r.first)) mapAccountBalances[pwalletMain->mapAddressBook[r.first]] += r.second; else @@ -1275,11 +1275,11 @@ Value listaccounts(const Array& params, bool fHelp) list acentries; CWalletDB(pwalletMain->strWalletFile).ListAccountCreditDebit("*", acentries); - BOOST_FOREACH(const CAccountingEntry& entry, acentries) + for (const CAccountingEntry& entry : acentries) mapAccountBalances[entry.strAccount] += entry.nCreditDebit; Object ret; - BOOST_FOREACH(const PAIRTYPE(string, int64_t)& accountBalance, mapAccountBalances) { + for (const auto& accountBalance : mapAccountBalances) { ret.push_back(Pair(accountBalance.first, ValueFromAmount(accountBalance.second))); } return ret; @@ -1711,7 +1711,7 @@ public: obj.push_back(Pair("script", GetTxnOutputType(whichType))); obj.push_back(Pair("hex", HexStr(subscript.begin(), subscript.end()))); Array a; - BOOST_FOREACH(const CTxDestination& addr, addresses) + for (const CTxDestination& addr : addresses) a.push_back(CBitcoinAddress(addr).ToString()); obj.push_back(Pair("addresses", a)); if (whichType == TX_MULTISIG) @@ -1883,7 +1883,7 @@ Value resendwallettransactions(const Array& params, bool fHelp) std::vector txids = pwalletMain->ResendWalletTransactionsBefore(GetTime()); Array result; - BOOST_FOREACH(const uint256& txid, txids) + for (const uint256& txid : txids) { result.push_back(txid.ToString()); } @@ -2033,7 +2033,7 @@ Value listmalleableviews(const Array& params, bool fHelp) pwalletMain->ListMalleableViews(keyViewList); Array result; - BOOST_FOREACH(const CMalleableKeyView &keyView, keyViewList) + for (const CMalleableKeyView &keyView : keyViewList) { result.push_back(keyView.ToString()); } diff --git a/src/script.cpp b/src/script.cpp index ad31b76..02bb502 100644 --- a/src/script.cpp +++ b/src/script.cpp @@ -2,11 +2,8 @@ // Copyright (c) 2009-2012 The Bitcoin developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include -#include using namespace std; -using namespace boost; #include "script.h" #include "keystore.h" @@ -1361,7 +1358,7 @@ bool Solver(const CScript& scriptPubKey, txnouttype& typeRet, vector& pubkeys, const CKeyStore& keystore) { unsigned int nResult = 0; - BOOST_FOREACH(const valtype& pubkey, pubkeys) + for (const valtype& pubkey : pubkeys) { CKeyID keyID = CPubKey(pubkey).GetID(); if (keystore.HaveKey(keyID)) @@ -1783,7 +1780,7 @@ public: std::vector vDest; int nRequired; if (ExtractDestinations(script, type, vDest, nRequired)) { - BOOST_FOREACH(const CTxDestination &dest, vDest) + for (const CTxDestination &dest : vDest) boost::apply_visitor(*this, dest); } } @@ -1933,7 +1930,7 @@ bool SignSignature(const CKeyStore &keystore, const CTransaction& txFrom, CTrans static CScript PushAll(const vector& values) { CScript result; - BOOST_FOREACH(const valtype& v, values) + for (const valtype& v : values) result << v; return result; } @@ -1944,12 +1941,12 @@ static CScript CombineMultisig(const CScript& scriptPubKey, const CTransaction& { // Combine all the signatures we've got: set allsigs; - BOOST_FOREACH(const valtype& v, sigs1) + for (const valtype& v : sigs1) { if (!v.empty()) allsigs.insert(v); } - BOOST_FOREACH(const valtype& v, sigs2) + for (const valtype& v : sigs2) { if (!v.empty()) allsigs.insert(v); @@ -1960,7 +1957,7 @@ static CScript CombineMultisig(const CScript& scriptPubKey, const CTransaction& unsigned int nSigsRequired = vSolutions.front()[0]; unsigned int nPubKeys = (unsigned int)(vSolutions.size()-2); map sigs; - BOOST_FOREACH(const valtype& sig, allsigs) + for (const valtype& sig : allsigs) { for (unsigned int i = 0; i < nPubKeys; i++) { @@ -2192,7 +2189,7 @@ void CScript::SetMultisig(int nRequired, const std::vector& keys) this->clear(); *this << EncodeOP_N(nRequired); - BOOST_FOREACH(const CPubKey& key, keys) + for (const CPubKey& key : keys) *this << key; *this << EncodeOP_N((int)(keys.size())) << OP_CHECKMULTISIG; } diff --git a/src/script.h b/src/script.h index f10a8cf..12238fd 100644 --- a/src/script.h +++ b/src/script.h @@ -8,8 +8,6 @@ #include #include -#include - #include "keystore.h" #include "bignum.h" #include "base58.h" @@ -269,7 +267,7 @@ inline std::string ValueString(const std::vector& vch) inline std::string StackString(const std::vector >& vStack) { std::string str; - BOOST_FOREACH(const std::vector& vch, vStack) + for (const std::vector& vch : vStack) { if (!str.empty()) str += " "; diff --git a/src/sync.cpp b/src/sync.cpp index 1ac4403..b8a17f0 100644 --- a/src/sync.cpp +++ b/src/sync.cpp @@ -5,7 +5,6 @@ #include "sync.h" #include "util.h" -#include #ifdef DEBUG_LOCKCONTENTION void PrintLockContention(const char* pszName, const char* pszFile, int nLine) @@ -58,14 +57,14 @@ static void potential_deadlock_detected(const std::pair& mismatch, { printf("POTENTIAL DEADLOCK DETECTED\n"); printf("Previous lock order was:\n"); - BOOST_FOREACH(const PAIRTYPE(void*, CLockLocation)& i, s2) + for (const auto& i : s2) { if (i.first == mismatch.first) printf(" (1)"); if (i.first == mismatch.second) printf(" (2)"); printf(" %s\n", i.second.ToString().c_str()); } printf("Current lock order is:\n"); - BOOST_FOREACH(const PAIRTYPE(void*, CLockLocation)& i, s1) + for (const auto& i : s1) { if (i.first == mismatch.first) printf(" (1)"); if (i.first == mismatch.second) printf(" (2)"); @@ -84,7 +83,7 @@ static void push_lock(void* c, const CLockLocation& locklocation, bool fTry) (*lockstack).push_back(std::make_pair(c, locklocation)); if (!fTry) { - BOOST_FOREACH(const PAIRTYPE(void*, CLockLocation)& i, (*lockstack)) { + for (const auto& i : (*lockstack)) { if (i.first == c) break; std::pair p1 = std::make_pair(i.first, c); diff --git a/src/txdb-leveldb.cpp b/src/txdb-leveldb.cpp index fb4b13f..dd924ad 100644 --- a/src/txdb-leveldb.cpp +++ b/src/txdb-leveldb.cpp @@ -410,13 +410,13 @@ bool CTxDB::LoadBlockIndex() // Calculate nChainTrust vector > vSortedByHeight; vSortedByHeight.reserve(mapBlockIndex.size()); - BOOST_FOREACH(const PAIRTYPE(uint256, CBlockIndex*)& item, mapBlockIndex) + for (const auto& item : mapBlockIndex) { CBlockIndex* pindex = item.second; vSortedByHeight.push_back(make_pair(pindex->nHeight, pindex)); } sort(vSortedByHeight.begin(), vSortedByHeight.end()); - BOOST_FOREACH(const PAIRTYPE(int, CBlockIndex*)& item, vSortedByHeight) + for (const auto& item : vSortedByHeight) { CBlockIndex* pindex = item.second; pindex->nChainTrust = (pindex->pprev ? pindex->pprev->nChainTrust : 0) + pindex->GetBlockTrust(); @@ -482,7 +482,7 @@ bool CTxDB::LoadBlockIndex() { pair pos = make_pair(pindex->nFile, pindex->nBlockPos); mapBlockPos[pos] = pindex; - BOOST_FOREACH(const CTransaction &tx, block.vtx) + for (const CTransaction &tx : block.vtx) { uint256 hashTx = tx.GetHash(); CTxIndex txindex; @@ -509,7 +509,7 @@ bool CTxDB::LoadBlockIndex() unsigned int nOutput = 0; if (nCheckLevel>3) { - BOOST_FOREACH(const CDiskTxPos &txpos, txindex.vSpent) + for (const CDiskTxPos &txpos : txindex.vSpent) { if (!txpos.IsNull()) { @@ -536,7 +536,7 @@ bool CTxDB::LoadBlockIndex() else { bool fFound = false; - BOOST_FOREACH(const CTxIn &txin, txSpend.vin) + for (const CTxIn &txin : txSpend.vin) if (txin.prevout.hash == hashTx && txin.prevout.n == nOutput) fFound = true; if (!fFound) @@ -554,7 +554,7 @@ bool CTxDB::LoadBlockIndex() // check level 5: check whether all prevouts are marked spent if (nCheckLevel>4) { - BOOST_FOREACH(const CTxIn &txin, tx.vin) + for (const CTxIn &txin : tx.vin) { CTxIndex txindex; if (ReadTxIndex(txin.prevout.hash, txindex)) diff --git a/src/util.cpp b/src/util.cpp index 76eb8a5..b1e1607 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -7,6 +7,7 @@ #include "sync.h" #include "version.h" #include "interface.h" + #include #include // for to_lower() #include // for startswith() and endswith() @@ -14,9 +15,7 @@ #include #include #include - #include -#include #include #include #include @@ -451,7 +450,7 @@ static const signed char phexdigit[256] = bool IsHex(const string& str) { - BOOST_FOREACH(unsigned char c, str) + for (unsigned char c : str) { if (phexdigit[c] < 0) return false; @@ -527,7 +526,7 @@ void ParseParameters(int argc, const char* const argv[]) } // New 0.6 features: - BOOST_FOREACH(const PAIRTYPE(string,string)& entry, mapArgs) + for (const auto& entry : mapArgs) { string name = entry.first; @@ -952,7 +951,7 @@ std::string EncodeDumpTime(int64_t nTime) { std::string EncodeDumpString(const std::string &str) { std::stringstream ret; - BOOST_FOREACH(unsigned char c, str) { + for (unsigned char c : str) { if (c <= 32 || c >= 128 || c == '%') { ret << '%' << HexStr(&c, &c + 1); } else { @@ -1358,7 +1357,7 @@ void AddTimeData(const CNetAddr& ip, int64_t nTime) bool fMatch = false; // If nobody has a time different than ours but within 5 minutes of ours, give a warning - BOOST_FOREACH(int64_t nOffset, vSorted) + for (int64_t nOffset : vSorted) if (nOffset != 0 && abs64(nOffset) < 5 * 60) fMatch = true; @@ -1373,7 +1372,7 @@ void AddTimeData(const CNetAddr& ip, int64_t nTime) } } if (fDebug) { - BOOST_FOREACH(int64_t n, vSorted) + for (int64_t n : vSorted) printf("%+" PRId64 " ", n); printf("| "); } diff --git a/src/wallet.cpp b/src/wallet.cpp index 83cc274..04ce995 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -246,7 +246,7 @@ bool CWallet::Unlock(const SecureString& strWalletPassphrase) { LOCK(cs_wallet); - BOOST_FOREACH(const MasterKeyMap::value_type& pMasterKey, mapMasterKeys) + for (const MasterKeyMap::value_type& pMasterKey : mapMasterKeys) { if(!crypter.SetKeyFromPassphrase(strWalletPassphrase, pMasterKey.second.vchSalt, pMasterKey.second.nDeriveIterations, pMasterKey.second.nDerivationMethod)) return false; @@ -269,7 +269,7 @@ bool CWallet::ChangeWalletPassphrase(const SecureString& strOldWalletPassphrase, CCrypter crypter; CKeyingMaterial vMasterKey; - BOOST_FOREACH(MasterKeyMap::value_type& pMasterKey, mapMasterKeys) + for (MasterKeyMap::value_type& pMasterKey : mapMasterKeys) { if(!crypter.SetKeyFromPassphrase(strOldWalletPassphrase, pMasterKey.second.vchSalt, pMasterKey.second.nDeriveIterations, pMasterKey.second.nDerivationMethod)) return false; @@ -455,7 +455,7 @@ bool CWallet::DecryptWallet(const SecureString& strWalletPassphrase) { LOCK(cs_wallet); - BOOST_FOREACH(const MasterKeyMap::value_type& pMasterKey, mapMasterKeys) + for (const MasterKeyMap::value_type& pMasterKey : mapMasterKeys) { if(!crypter.SetKeyFromPassphrase(strWalletPassphrase, pMasterKey.second.vchSalt, pMasterKey.second.nDeriveIterations, pMasterKey.second.nDerivationMethod)) return false; @@ -546,16 +546,16 @@ CWallet::TxItems CWallet::OrderedTxItems(std::list& acentries, // Note: maintaining indices in the database of (account,time) --> txid and (account, time) --> acentry // would make this much faster for applications that do this a lot. - for (map::iterator it = mapWallet.begin(); it != mapWallet.end(); ++it) + for (auto & it : mapWallet) { - CWalletTx* wtx = &((*it).second); - txOrdered.insert(make_pair(wtx->nOrderPos, TxPair(wtx, (CAccountingEntry*)0))); + CWalletTx* wtx = &(it.second); + txOrdered.insert(make_pair(wtx->nOrderPos, TxPair(wtx, (CAccountingEntry*)nullptr))); } acentries.clear(); walletdb.ListAccountCreditDebit(strAccount, acentries); - BOOST_FOREACH(CAccountingEntry& entry, acentries) + for (CAccountingEntry& entry : acentries) { - txOrdered.insert(make_pair(entry.nOrderPos, TxPair((CWalletTx*)0, &entry))); + txOrdered.insert(make_pair(entry.nOrderPos, TxPair((CWalletTx*)nullptr, &entry))); } return txOrdered; @@ -568,7 +568,7 @@ void CWallet::WalletUpdateSpent(const CTransaction &tx, bool fBlock) // restored from backup or the user making copies of wallet.dat. { LOCK(cs_wallet); - BOOST_FOREACH(const CTxIn& txin, tx.vin) + for (const CTxIn& txin : tx.vin) { map::iterator mi = mapWallet.find(txin.prevout.hash); if (mi != mapWallet.end()) @@ -593,7 +593,7 @@ void CWallet::WalletUpdateSpent(const CTransaction &tx, bool fBlock) map::iterator mi = mapWallet.find(hash); CWalletTx& wtx = (*mi).second; - BOOST_FOREACH(const CTxOut& txout, tx.vout) + for (const CTxOut& txout : tx.vout) { if (IsMine(txout)) { @@ -612,7 +612,7 @@ void CWallet::MarkDirty() { { LOCK(cs_wallet); - BOOST_FOREACH(PAIRTYPE(const uint256, CWalletTx)& item, mapWallet) + for (auto& item : mapWallet) item.second.MarkDirty(); } } @@ -713,7 +713,7 @@ bool CWallet::AddToWallet(const CWalletTx& wtxIn) // If default receiving address gets used, replace it with a new one CScript scriptDefaultKey; scriptDefaultKey.SetDestination(vchDefaultKey.GetID()); - BOOST_FOREACH(const CTxOut& txout, wtx.vout) + for (const CTxOut& txout : wtx.vout) { if (txout.scriptPubKey == scriptDefaultKey) { @@ -924,7 +924,7 @@ int64_t CWallet::GetChange(const CTxOut& txout) const bool CWallet::IsMine(const CTransaction& tx) const { - BOOST_FOREACH(const CTxOut& txout, tx.vout) + for (const CTxOut& txout : tx.vout) if (IsMine(txout) && txout.nValue >= nMinimumInputValue) return true; return false; @@ -938,7 +938,7 @@ bool CWallet::IsFromMe(const CTransaction& tx) const int64_t CWallet::GetDebit(const CTransaction& tx, const isminefilter& filter) const { int64_t nDebit = 0; - BOOST_FOREACH(const CTxIn& txin, tx.vin) + for (const CTxIn& txin : tx.vin) { nDebit += GetDebit(txin, filter); if (!MoneyRange(nDebit)) @@ -950,7 +950,7 @@ int64_t CWallet::GetDebit(const CTransaction& tx, const isminefilter& filter) co int64_t CWallet::GetCredit(const CTransaction& tx, const isminefilter& filter) const { int64_t nCredit = 0; - BOOST_FOREACH(const CTxOut& txout, tx.vout) + for (const CTxOut& txout : tx.vout) { nCredit += GetCredit(txout, filter); if (!MoneyRange(nCredit)) @@ -962,7 +962,7 @@ int64_t CWallet::GetCredit(const CTransaction& tx, const isminefilter& filter) c int64_t CWallet::GetChange(const CTransaction& tx) const { int64_t nChange = 0; - BOOST_FOREACH(const CTxOut& txout, tx.vout) + for (const CTxOut& txout : tx.vout) { nChange += GetChange(txout); if (!MoneyRange(nChange)) @@ -1042,7 +1042,7 @@ bool CWalletTx::IsTrusted() const return false; // Trusted if all inputs are from us and are in the mempool: - BOOST_FOREACH(const CTxIn& txin, vin) + for (const CTxIn& txin : vin) { // Transactions not sent by us: not trusted const CWalletTx* parent = pwallet->GetWalletTx(txin.prevout.hash); @@ -1241,7 +1241,7 @@ void CWalletTx::GetAmounts(int64_t& nGeneratedImmature, int64_t& nGeneratedMatur } // Sent/received. - BOOST_FOREACH(const CTxOut& txout, vout) + for (const CTxOut& txout : vout) { isminetype fIsMine = pwallet->IsMine(txout); // Only need to handle txouts if AT LEAST one of these is true: @@ -1292,13 +1292,13 @@ void CWalletTx::GetAccountAmounts(const string& strAccount, int64_t& nGenerated, nGenerated = allGeneratedMature; if (strAccount == strSentAccount) { - BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress,int64_t)& s, listSent) + for (const auto& s : listSent) nSent += s.second; nFee = allFee; } { LOCK(pwallet->cs_wallet); - BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress,int64_t)& r, listReceived) + for (const auto& r : listReceived) { if (pwallet->mapAddressBook.count(r.first)) { @@ -1322,7 +1322,7 @@ void CWalletTx::AddSupportingTransactions(CTxDB& txdb) if (SetMerkleBranch() < COPY_DEPTH) { vector vWorkQueue; - BOOST_FOREACH(const CTxIn& txin, vin) + for (const CTxIn& txin : vin) vWorkQueue.push_back(txin.prevout.hash); // This critsect is OK because txdb is already open @@ -1342,7 +1342,7 @@ void CWalletTx::AddSupportingTransactions(CTxDB& txdb) if (mi != pwallet->mapWallet.end()) { tx = (*mi).second; - BOOST_FOREACH(const CMerkleTx& txWalletPrev, (*mi).second.vtxPrev) + for (const CMerkleTx& txWalletPrev : (*mi).second.vtxPrev) mapWalletPrev[txWalletPrev.GetHash()] = &txWalletPrev; } else if (mapWalletPrev.count(hash)) @@ -1364,7 +1364,7 @@ void CWalletTx::AddSupportingTransactions(CTxDB& txdb) if (nDepth < COPY_DEPTH) { - BOOST_FOREACH(const CTxIn& txin, tx.vin) + for (const CTxIn& txin : tx.vin) vWorkQueue.push_back(txin.prevout.hash); } } @@ -1393,7 +1393,7 @@ int CWallet::ScanForWalletTransactions(CBlockIndex* pindexStart, bool fUpdate) { CBlock block; block.ReadFromDisk(pindex, true); - BOOST_FOREACH(CTransaction& tx, block.vtx) + for (CTransaction& tx : block.vtx) { if (AddToWalletIfInvolvingMe(tx, &block, fUpdate)) ret++; @@ -1422,7 +1422,7 @@ void CWallet::ReacceptWalletTransactions() LOCK(cs_wallet); fRepeat = false; vector vMissingTx; - BOOST_FOREACH(PAIRTYPE(const uint256, CWalletTx)& item, mapWallet) + for (auto& item : mapWallet) { CWalletTx& wtx = item.second; if ((wtx.IsCoinBase() && wtx.IsSpent(0)) || (wtx.IsCoinStake() && wtx.IsSpent(1))) @@ -1508,7 +1508,7 @@ std::vector CWallet::ResendWalletTransactionsBefore(int64_t nTime) LOCK(cs_wallet); // Sort them in chronological order map mapSorted; - BOOST_FOREACH(PAIRTYPE(const uint256, CWalletTx)& item, mapWallet) + for (auto& item : mapWallet) { CWalletTx& wtx = item.second; // Don't rebroadcast if newer than nTime: @@ -1516,7 +1516,7 @@ std::vector CWallet::ResendWalletTransactionsBefore(int64_t nTime) continue; mapSorted.insert(make_pair(wtx.nTimeReceived, &wtx)); } - BOOST_FOREACH(PAIRTYPE(const unsigned int, CWalletTx*)& item, mapSorted) + for (auto& item : mapSorted) { CWalletTx& wtx = *item.second; if (wtx.RelayWalletTransaction()) @@ -1820,7 +1820,7 @@ bool CWallet::SelectCoinsMinConf(int64_t nTargetValue, unsigned int nSpendTime, std::mt19937 g(rd()); shuffle(vCoins.begin(), vCoins.end(), g); - BOOST_FOREACH(const COutput &output, vCoins) + for (const COutput &output : vCoins) { if (!output.fSpendable) continue; @@ -1924,7 +1924,7 @@ bool CWallet::SelectCoins(int64_t nTargetValue, unsigned int nSpendTime, set return all selected outputs (we want all selected to go into the transaction for sure) if (coinControl && coinControl->HasSelected()) { - BOOST_FOREACH(const COutput& out, vCoins) + for (const COutput& out : vCoins) { if(!out.fSpendable) continue; @@ -1948,7 +1948,7 @@ bool CWallet::SelectCoinsSimple(int64_t nTargetValue, int64_t nMinValue, int64_t setCoinsRet.clear(); nValueRet = 0; - BOOST_FOREACH(COutput output, vCoins) + for (COutput output : vCoins) { if(!output.fSpendable) continue; @@ -1992,7 +1992,7 @@ bool CWallet::SelectCoinsSimple(int64_t nTargetValue, int64_t nMinValue, int64_t bool CWallet::CreateTransaction(const vector >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64_t& nFeeRet, const CCoinControl* coinControl) { int64_t nValue = 0; - BOOST_FOREACH (const PAIRTYPE(CScript, int64_t)& s, vecSend) + for (const auto& s : vecSend) { if (nValue < 0) return false; @@ -2018,7 +2018,7 @@ bool CWallet::CreateTransaction(const vector >& vecSend, int64_t nTotalValue = nValue + nFeeRet; double dPriority = 0; // vouts to the payees - BOOST_FOREACH (const PAIRTYPE(CScript, int64_t)& s, vecSend) + for (const auto& s : vecSend) wtxNew.vout.push_back(CTxOut(s.second, s.first)); // Choose coins to use @@ -2026,7 +2026,7 @@ bool CWallet::CreateTransaction(const vector >& vecSend, int64_t nValueIn = 0; if (!SelectCoins(nTotalValue, wtxNew.nTime, setCoins, nValueIn, coinControl)) return false; - BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) + for (auto pcoin : setCoins) { int64_t nCredit = pcoin.first->vout[pcoin.second].nValue; dPriority += (double)nCredit * pcoin.first->GetDepthInMainChain(); @@ -2068,12 +2068,12 @@ bool CWallet::CreateTransaction(const vector >& vecSend, reservekey.ReturnKey(); // Fill vin - BOOST_FOREACH(const PAIRTYPE(const CWalletTx*,unsigned int)& coin, setCoins) + for (const auto& coin : setCoins) wtxNew.vin.push_back(CTxIn(coin.first->GetHash(),coin.second)); // Sign int nIn = 0; - BOOST_FOREACH(const PAIRTYPE(const CWalletTx*,unsigned int)& coin, setCoins) + for (const auto& coin : setCoins) if (!SignSignature(*this, *coin.first, wtxNew, nIn++)) return false; @@ -2160,7 +2160,7 @@ bool CWallet::MergeCoins(const int64_t& nAmount, const int64_t& nMinValue, const wtxNew.vout.push_back(CTxOut(0, scriptOutput)); double dWeight = 0; - BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) + for (auto pcoin : setCoins) { int64_t nCredit = pcoin.first->vout[pcoin.second].nValue; @@ -2410,7 +2410,7 @@ bool CWallet::CreateCoinStake(uint256 &hashTx, uint32_t nOut, uint32_t nGenerati // Sign int nIn = 0; - BOOST_FOREACH(const CWalletTx* pcoin, vwtxPrev) + for (const CWalletTx* pcoin : vwtxPrev) { if (!SignSignature(*this, *pcoin, txNew, nIn++)) return error("CreateCoinStake : failed to sign coinstake\n"); @@ -2474,7 +2474,7 @@ bool CWallet::CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey) AddToWallet(wtxNew); // Mark old coins as spent - BOOST_FOREACH(const CTxIn& txin, wtxNew.vin) + for (const CTxIn& txin : wtxNew.vin) { CWalletTx &coin = mapWallet[txin.prevout.hash]; coin.BindWallet(this); @@ -2670,7 +2670,7 @@ bool CWallet::NewKeyPool(unsigned int nSize) { LOCK(cs_wallet); CWalletDB walletdb(strWalletFile); - BOOST_FOREACH(int64_t nIndex, setKeyPool) + for (int64_t nIndex : setKeyPool) walletdb.ErasePool(nIndex); setKeyPool.clear(); @@ -2832,7 +2832,7 @@ std::map CWallet::GetAddressBalances() { LOCK(cs_wallet); - BOOST_FOREACH(PAIRTYPE(uint256, CWalletTx) walletEntry, mapWallet) + for (auto walletEntry : mapWallet) { CWalletTx *pcoin = &walletEntry.second; @@ -2871,7 +2871,7 @@ set< set > CWallet::GetAddressGroupings() set< set > groupings; set grouping; - BOOST_FOREACH(PAIRTYPE(uint256, CWalletTx) walletEntry, mapWallet) + for (auto& walletEntry : mapWallet) { CWalletTx *pcoin = &walletEntry.second; @@ -2879,7 +2879,7 @@ set< set > CWallet::GetAddressGroupings() { bool any_mine = false; // group all input addresses with each other - BOOST_FOREACH(CTxIn txin, pcoin->vin) + for (CTxIn txin : pcoin->vin) { CBitcoinAddress address; if(!IsMine(txin)) // If this input isn't mine, ignore it @@ -2893,7 +2893,7 @@ set< set > CWallet::GetAddressGroupings() // group change with input addresses if (any_mine) { - BOOST_FOREACH(CTxOut txout, pcoin->vout) + for (CTxOut txout : pcoin->vout) if (IsChange(txout)) { CBitcoinAddress txoutAddr; @@ -2924,18 +2924,18 @@ set< set > CWallet::GetAddressGroupings() set< set* > uniqueGroupings; // a set of pointers to groups of addresses map< CBitcoinAddress, set* > setmap; // map addresses to the unique group containing it - BOOST_FOREACH(set grouping, groupings) + for (set grouping : groupings) { // make a set of all the groups hit by this new group set< set* > hits; map< CBitcoinAddress, set* >::iterator it; - BOOST_FOREACH(CBitcoinAddress address, grouping) + for (CBitcoinAddress address : grouping) if ((it = setmap.find(address)) != setmap.end()) hits.insert((*it).second); // merge all hit groups into a new single group and delete old groups set* merged = new set(grouping); - BOOST_FOREACH(set* hit, hits) + for (set* hit : hits) { merged->insert(hit->begin(), hit->end()); uniqueGroupings.erase(hit); @@ -2944,12 +2944,12 @@ set< set > CWallet::GetAddressGroupings() uniqueGroupings.insert(merged); // update setmap - BOOST_FOREACH(CBitcoinAddress element, *merged) + for (CBitcoinAddress element : *merged) setmap[element] = merged; } set< set > ret; - BOOST_FOREACH(set* uniqueGrouping, uniqueGroupings) + for (set* uniqueGrouping : uniqueGroupings) { ret.insert(*uniqueGrouping); delete uniqueGrouping; @@ -2972,7 +2972,7 @@ void CWallet::FixSpentCoins(int& nMismatchFound, int64_t& nBalanceInQuestion, bo vCoins.push_back(&(*it).second); CTxDB txdb("r"); - BOOST_FOREACH(CWalletTx* pcoin, vCoins) + for (CWalletTx* pcoin : vCoins) { // Find the corresponding transaction index CTxIndex txindex; @@ -3025,7 +3025,7 @@ void CWallet::DisableTransaction(const CTransaction &tx) return; // only disconnecting coinstake requires marking input unspent LOCK(cs_wallet); - BOOST_FOREACH(const CTxIn& txin, tx.vin) + for (const CTxIn& txin : tx.vin) { map::iterator mi = mapWallet.find(txin.prevout.hash); if (mi != mapWallet.end()) @@ -3081,7 +3081,7 @@ void CWallet::GetAllReserveKeys(set& setAddress) const CWalletDB walletdb(strWalletFile); LOCK2(cs_main, cs_wallet); - BOOST_FOREACH(const int64_t& id, setKeyPool) + for (const int64_t& id : setKeyPool) { CKeyPool keypool; if (!walletdb.ReadPool(id, keypool)) diff --git a/src/wallet.h b/src/wallet.h index 44c848a..138446b 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -477,7 +477,7 @@ public: pthis->mapValue["fromaccount"] = pthis->strFromAccount; std::string str; - BOOST_FOREACH(char f, vfSpent) + for (char f : vfSpent) { str += (f ? '1' : '0'); if (f) @@ -505,7 +505,7 @@ public: pthis->strFromAccount = pthis->mapValue["fromaccount"]; if (mapValue.count("spent")) - BOOST_FOREACH(char c, pthis->mapValue["spent"]) + for (char c : pthis->mapValue["spent"]) pthis->vfSpent.push_back(c != '0'); else pthis->vfSpent.assign(vout.size(), fSpent); diff --git a/src/walletdb.cpp b/src/walletdb.cpp index 5590d86..e5204b6 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -71,7 +71,7 @@ int64_t CWalletDB::GetAccountCreditDebit(const string& strAccount) ListAccountCreditDebit(strAccount, entries); int64_t nCreditDebit = 0; - BOOST_FOREACH (const CAccountingEntry& entry, entries) + for (const CAccountingEntry& entry : entries) nCreditDebit += entry.nCreditDebit; return nCreditDebit; @@ -140,7 +140,7 @@ CWalletDB::ReorderTransactions(CWallet* pwallet) } list acentries; ListAccountCreditDebit("", acentries); - BOOST_FOREACH(CAccountingEntry& entry, acentries) + for (CAccountingEntry& entry : acentries) { txByTime.insert(make_pair(entry.nTime, TxPair((CWalletTx*)0, &entry))); } @@ -167,7 +167,7 @@ CWalletDB::ReorderTransactions(CWallet* pwallet) else { int64_t nOrderPosOff = 0; - BOOST_FOREACH(const int64_t& nOffsetStart, nOrderPosOffsets) + for (const int64_t& nOffsetStart : nOrderPosOffsets) { if (nOrderPos >= nOffsetStart) ++nOrderPosOff; @@ -584,7 +584,7 @@ DBErrors CWalletDB::LoadWallet(CWallet* pwallet) pwallet->nTimeFirstKey = 1; // 0 would be considered 'no value' - BOOST_FOREACH(uint256 hash, wss.vWalletUpgrade) + for (uint256 hash : wss.vWalletUpgrade) WriteTx(hash, pwallet->mapWallet[hash]); // Rewrite encrypted wallets of versions 0.4.0 and 0.5.0rc: @@ -672,7 +672,7 @@ DBErrors CWalletDB::ZapWalletTx(CWallet* pwallet) return err; // erase each wallet TX - BOOST_FOREACH (uint256& hash, vTxHash) { + for (uint256& hash : vTxHash) { if (!EraseTx(hash)) return DB_CORRUPT; } @@ -1018,7 +1018,7 @@ bool CWalletDB::Recover(CDBEnv& dbenv, std::string filename, bool fOnlyKeys) CWalletScanState wss; DbTxn* ptxn = dbenv.TxnBegin(); - BOOST_FOREACH(CDBEnv::KeyValPair& row, salvagedData) + for (CDBEnv::KeyValPair& row : salvagedData) { if (fOnlyKeys) { -- 1.7.1