mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-19 18:09:47 +01:00
Merge #10193: scripted-diff: Remove #include <boost/foreach.hpp>
b1268a1
clang-format: Delete ForEachMacros (Jorge Timón)5995735
scripted-diff: Remove #include <boost/foreach.hpp> (Jorge Timón)3eff827
scripted-diff: Remove BOOST_REVERSE_FOREACH (Jorge Timón)33aed5b
Fix const_reverse_iterator constructor (pass const ptr) (Jorge Timón)300851e
Introduce src/reverse_iterator.hpp and include it... (Jorge Timón) Tree-SHA512: df3405328e9602d0a433ac134ba59a5c9a6202ef64188df2f94a59b2ce58dec7c988b25d0671c7937de516a96b2e6daeb9d04c82fa363b616ee4cf6e9cb0fac6
This commit is contained in:
commit
6dbcc74a0e
@ -23,7 +23,6 @@ ContinuationIndentWidth: 4
|
||||
Cpp11BracedListStyle: true
|
||||
DerivePointerAlignment: false
|
||||
DisableFormat: false
|
||||
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH, BOOST_REVERSE_FOREACH ]
|
||||
IndentCaseLabels: false
|
||||
IndentFunctionDeclarationAfterType: false
|
||||
IndentWidth: 4
|
||||
|
@ -124,6 +124,7 @@ BITCOIN_CORE_H = \
|
||||
pow.h \
|
||||
protocol.h \
|
||||
random.h \
|
||||
reverse_iterator.h \
|
||||
reverselock.h \
|
||||
rpc/blockchain.h \
|
||||
rpc/client.h \
|
||||
|
@ -5,7 +5,6 @@
|
||||
#include "bench.h"
|
||||
#include "wallet/wallet.h"
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
#include <set>
|
||||
|
||||
static void addCoin(const CAmount& nValue, const CWallet& wallet, std::vector<COutput>& vCoins)
|
||||
|
@ -14,7 +14,6 @@
|
||||
#include <math.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
#define LN2SQUARED 0.4804530139182014246671025263266649717305529515945455
|
||||
#define LN2 0.6931471805599453094172321214581765680755001343602552
|
||||
|
@ -6,12 +6,12 @@
|
||||
|
||||
#include "chain.h"
|
||||
#include "chainparams.h"
|
||||
#include "reverse_iterator.h"
|
||||
#include "validation.h"
|
||||
#include "uint256.h"
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
namespace Checkpoints {
|
||||
|
||||
@ -19,7 +19,7 @@ namespace Checkpoints {
|
||||
{
|
||||
const MapCheckpoints& checkpoints = data.mapCheckpoints;
|
||||
|
||||
BOOST_REVERSE_FOREACH(const MapCheckpoints::value_type& i, checkpoints)
|
||||
for (const MapCheckpoints::value_type& i : reverse_iterate(checkpoints))
|
||||
{
|
||||
const uint256& hash = i.second;
|
||||
BlockMap::const_iterator t = mapBlockIndex.find(hash);
|
||||
|
@ -10,7 +10,6 @@
|
||||
#include <algorithm>
|
||||
#include <vector>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/thread/condition_variable.hpp>
|
||||
#include <boost/thread/mutex.hpp>
|
||||
|
||||
|
@ -15,7 +15,6 @@
|
||||
#include "utilmoneystr.h"
|
||||
#include "utilstrencodings.h"
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
std::string FormatScript(const CScript& script)
|
||||
{
|
||||
|
@ -18,7 +18,6 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <boost/algorithm/string.hpp> // boost::trim
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
/** WWW-Authenticate to present with 401 Unauthorized response */
|
||||
static const char* WWW_AUTH_HEADER_DATA = "Basic realm=\"jsonrpc\"";
|
||||
|
@ -15,7 +15,6 @@
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
namespace memusage
|
||||
{
|
||||
|
@ -33,7 +33,6 @@
|
||||
#include <arpa/inet.h>
|
||||
#endif
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/signals2/signal.hpp>
|
||||
|
||||
class CScheduler;
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include "primitives/block.h"
|
||||
#include "primitives/transaction.h"
|
||||
#include "random.h"
|
||||
#include "reverse_iterator.h"
|
||||
#include "tinyformat.h"
|
||||
#include "txmempool.h"
|
||||
#include "ui_interface.h"
|
||||
@ -827,7 +828,7 @@ void PeerLogicValidation::UpdatedBlockTip(const CBlockIndex *pindexNew, const CB
|
||||
// Relay inventory, but don't relay old inventory during initial block download.
|
||||
connman->ForEachNode([nNewHeight, &vHashes](CNode* pnode) {
|
||||
if (nNewHeight > (pnode->nStartingHeight != -1 ? pnode->nStartingHeight - 2000 : 0)) {
|
||||
BOOST_REVERSE_FOREACH(const uint256& hash, vHashes) {
|
||||
for (const uint256& hash : reverse_iterate(vHashes)) {
|
||||
pnode->PushBlockHash(hash);
|
||||
}
|
||||
}
|
||||
@ -2338,7 +2339,7 @@ bool static ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStr
|
||||
} else {
|
||||
std::vector<CInv> vGetData;
|
||||
// Download as much as possible, from earliest to latest.
|
||||
BOOST_REVERSE_FOREACH(const CBlockIndex *pindex, vToFetch) {
|
||||
for (const CBlockIndex *pindex : reverse_iterate(vToFetch)) {
|
||||
if (nodestate->nBlocksInFlight >= MAX_BLOCKS_IN_TRANSIT_PER_PEER) {
|
||||
// Can't download any more from this peer
|
||||
break;
|
||||
|
@ -13,7 +13,6 @@
|
||||
#include "util.h"
|
||||
#include "utilstrencodings.h"
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
CAmount GetDustThreshold(const CTxOut& txout, const CFeeRate& dustRelayFeeIn)
|
||||
{
|
||||
|
@ -132,7 +132,7 @@ public:
|
||||
typedef const T* pointer;
|
||||
typedef const T& reference;
|
||||
typedef std::bidirectional_iterator_tag iterator_category;
|
||||
const_reverse_iterator(T* ptr_) : ptr(ptr_) {}
|
||||
const_reverse_iterator(const T* ptr_) : ptr(ptr_) {}
|
||||
const_reverse_iterator(reverse_iterator x) : ptr(&(*x)) {}
|
||||
const T& operator*() const { return *ptr; }
|
||||
const T* operator->() const { return ptr; }
|
||||
|
@ -10,7 +10,6 @@
|
||||
#include "base58.h"
|
||||
#include "wallet/wallet.h"
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
#include <QFont>
|
||||
#include <QDebug>
|
||||
|
@ -11,7 +11,6 @@
|
||||
#include "clientversion.h"
|
||||
#include "streams.h"
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
RecentRequestsTableModel::RecentRequestsTableModel(CWallet *wallet, WalletModel *parent) :
|
||||
QAbstractTableModel(parent), walletModel(parent)
|
||||
|
@ -12,7 +12,6 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
/* Return positive answer if transaction should be shown in list.
|
||||
*/
|
||||
|
@ -34,7 +34,6 @@
|
||||
#include <QSet>
|
||||
#include <QTimer>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
WalletModel::WalletModel(const PlatformStyle *platformStyle, CWallet *_wallet, OptionsModel *_optionsModel, QObject *parent) :
|
||||
QObject(parent), wallet(_wallet), optionsModel(_optionsModel), addressTableModel(0),
|
||||
|
39
src/reverse_iterator.h
Normal file
39
src/reverse_iterator.h
Normal file
@ -0,0 +1,39 @@
|
||||
// Taken from https://gist.github.com/arvidsson/7231973
|
||||
|
||||
#ifndef BITCOIN_REVERSE_ITERATOR_HPP
|
||||
#define BITCOIN_REVERSE_ITERATOR_HPP
|
||||
|
||||
/**
|
||||
* Template used for reverse iteration in C++11 range-based for loops.
|
||||
*
|
||||
* std::vector<int> v = {1, 2, 3, 4, 5};
|
||||
* for (auto x : reverse_iterate(v))
|
||||
* std::cout << x << " ";
|
||||
*/
|
||||
|
||||
template <typename T>
|
||||
class reverse_range
|
||||
{
|
||||
T &x;
|
||||
|
||||
public:
|
||||
reverse_range(T &x) : x(x) {}
|
||||
|
||||
auto begin() const -> decltype(this->x.rbegin())
|
||||
{
|
||||
return x.rbegin();
|
||||
}
|
||||
|
||||
auto end() const -> decltype(this->x.rend())
|
||||
{
|
||||
return x.rend();
|
||||
}
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
reverse_range<T> reverse_iterate(T &x)
|
||||
{
|
||||
return reverse_range<T>(x);
|
||||
}
|
||||
|
||||
#endif // BITCOIN_REVERSE_ITERATOR_HPP
|
@ -19,7 +19,6 @@
|
||||
#include "utilstrencodings.h"
|
||||
#include "version.h"
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
#include <univalue.h>
|
||||
|
||||
|
@ -17,7 +17,6 @@
|
||||
#include <univalue.h>
|
||||
|
||||
#include <boost/bind.hpp>
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/signals2/signal.hpp>
|
||||
#include <boost/algorithm/string/case_conv.hpp> // for to_upper()
|
||||
#include <boost/algorithm/string/classification.hpp>
|
||||
|
@ -11,7 +11,6 @@
|
||||
#include "script/standard.h"
|
||||
#include "script/sign.h"
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
typedef std::vector<unsigned char> valtype;
|
||||
|
||||
|
@ -12,7 +12,6 @@
|
||||
#include "script/standard.h"
|
||||
#include "uint256.h"
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
typedef std::vector<unsigned char> valtype;
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
#include "util.h"
|
||||
#include "utilstrencodings.h"
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
typedef std::vector<unsigned char> valtype;
|
||||
|
||||
|
@ -9,7 +9,6 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/thread.hpp>
|
||||
|
||||
#ifdef DEBUG_LOCKCONTENTION
|
||||
|
@ -9,7 +9,6 @@
|
||||
#include <vector>
|
||||
|
||||
#include <boost/algorithm/string.hpp>
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(getarg_tests, BasicTestingSetup)
|
||||
|
@ -14,7 +14,6 @@
|
||||
#include "test/test_bitcoin.h"
|
||||
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
typedef std::vector<unsigned char> valtype;
|
||||
|
@ -5,6 +5,7 @@
|
||||
#include <vector>
|
||||
#include "prevector.h"
|
||||
|
||||
#include "reverse_iterator.h"
|
||||
#include "serialize.h"
|
||||
#include "streams.h"
|
||||
|
||||
@ -56,13 +57,13 @@ class prevector_tester {
|
||||
for (const T& v : pre_vector) {
|
||||
local_check(v == real_vector[pos++]);
|
||||
}
|
||||
BOOST_REVERSE_FOREACH(const T& v, pre_vector) {
|
||||
for (const T& v : reverse_iterate(pre_vector)) {
|
||||
local_check(v == real_vector[--pos]);
|
||||
}
|
||||
for (const T& v : const_pre_vector) {
|
||||
local_check(v == real_vector[pos++]);
|
||||
}
|
||||
BOOST_REVERSE_FOREACH(const T& v, const_pre_vector) {
|
||||
for (const T& v : reverse_iterate(const_pre_vector)) {
|
||||
local_check(v == real_vector[--pos]);
|
||||
}
|
||||
CDataStream ss1(SER_DISK, 0);
|
||||
|
@ -24,7 +24,6 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
#include <univalue.h>
|
||||
|
@ -27,7 +27,6 @@
|
||||
#include <boost/algorithm/string/classification.hpp>
|
||||
#include <boost/algorithm/string/split.hpp>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
#include <univalue.h>
|
||||
|
||||
|
@ -15,7 +15,6 @@
|
||||
#include "utilstrencodings.h"
|
||||
#include "warnings.h"
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
static CCriticalSection cs_nTimeOffset;
|
||||
static int64_t nTimeOffset = 0;
|
||||
|
@ -17,7 +17,6 @@
|
||||
|
||||
#include <boost/bind.hpp>
|
||||
#include <boost/signals2/signal.hpp>
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/algorithm/string/split.hpp>
|
||||
#include <boost/algorithm/string/classification.hpp>
|
||||
#include <boost/algorithm/string/replace.hpp>
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "validation.h"
|
||||
#include "policy/policy.h"
|
||||
#include "policy/fees.h"
|
||||
#include "reverse_iterator.h"
|
||||
#include "streams.h"
|
||||
#include "timedata.h"
|
||||
#include "util.h"
|
||||
@ -127,7 +128,7 @@ void CTxMemPool::UpdateTransactionsFromBlock(const std::vector<uint256> &vHashes
|
||||
// This maximizes the benefit of the descendant cache and guarantees that
|
||||
// setMemPoolChildren will be updated, an assumption made in
|
||||
// UpdateForDescendants.
|
||||
BOOST_REVERSE_FOREACH(const uint256 &hash, vHashesToUpdate) {
|
||||
for (const uint256 &hash : reverse_iterate(vHashesToUpdate)) {
|
||||
// we cache the in-mempool children to avoid duplicate updates
|
||||
setEntries setChildren;
|
||||
// calculate children from mapNextTx
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "primitives/block.h"
|
||||
#include "primitives/transaction.h"
|
||||
#include "random.h"
|
||||
#include "reverse_iterator.h"
|
||||
#include "script/script.h"
|
||||
#include "script/sigcache.h"
|
||||
#include "script/standard.h"
|
||||
@ -2340,7 +2341,7 @@ static bool ActivateBestChainStep(CValidationState& state, const CChainParams& c
|
||||
nHeight = nTargetHeight;
|
||||
|
||||
// Connect new blocks.
|
||||
BOOST_REVERSE_FOREACH(CBlockIndex *pindexConnect, vpindexToConnect) {
|
||||
for (CBlockIndex *pindexConnect : reverse_iterate(vpindexToConnect)) {
|
||||
if (!ConnectTip(state, chainparams, pindexConnect, pindexConnect == pindexMostWork ? pblock : std::shared_ptr<const CBlock>(), connectTrace, disconnectpool)) {
|
||||
if (state.IsInvalid()) {
|
||||
// The block violates a consensus rule.
|
||||
|
@ -12,7 +12,6 @@
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
int CCrypter::BytesToKeySHA512AES(const std::vector<unsigned char>& chSalt, const SecureString& strKeyData, int count, unsigned char *key,unsigned char *iv) const
|
||||
{
|
||||
|
@ -18,7 +18,6 @@
|
||||
#include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/thread.hpp>
|
||||
|
||||
//
|
||||
|
@ -26,7 +26,6 @@
|
||||
|
||||
#include <univalue.h>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
std::string static EncodeDumpTime(int64_t nTime) {
|
||||
return DateTimeStrFormat("%Y-%m-%dT%H:%M:%SZ", nTime);
|
||||
|
@ -8,7 +8,6 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
extern CWallet* pwalletMain;
|
||||
|
@ -18,7 +18,6 @@
|
||||
|
||||
#include <atomic>
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/thread.hpp>
|
||||
|
||||
//
|
||||
|
Loading…
Reference in New Issue
Block a user