mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-19 18:09:47 +01:00
refactor: Improve use of explicit keyword
This commit is contained in:
parent
c502a6dbfb
commit
1e62350ca2
@ -451,7 +451,7 @@ struct Peer {
|
||||
/** Work queue of items requested by this peer **/
|
||||
std::deque<CInv> m_getdata_requests GUARDED_BY(m_getdata_requests_mutex);
|
||||
|
||||
Peer(NodeId id) : m_id(id) {}
|
||||
explicit Peer(NodeId id) : m_id(id) {}
|
||||
};
|
||||
|
||||
using PeerRef = std::shared_ptr<Peer>;
|
||||
|
@ -64,7 +64,7 @@ namespace {
|
||||
class NodeImpl : public Node
|
||||
{
|
||||
public:
|
||||
NodeImpl(NodeContext* context) { setContext(context); }
|
||||
explicit NodeImpl(NodeContext* context) { setContext(context); }
|
||||
void initLogging() override { InitLogging(*Assert(m_context->args)); }
|
||||
void initParameterInteraction() override { InitParameterInteraction(*Assert(m_context->args)); }
|
||||
bilingual_str getWarnings() override { return GetWarnings(true); }
|
||||
|
@ -223,7 +223,7 @@ private:
|
||||
|
||||
public:
|
||||
/** Construct an x-only pubkey from exactly 32 bytes. */
|
||||
XOnlyPubKey(Span<const unsigned char> bytes);
|
||||
explicit XOnlyPubKey(Span<const unsigned char> bytes);
|
||||
|
||||
/** Verify a Schnorr signature against this public key.
|
||||
*
|
||||
|
@ -15,7 +15,7 @@ class Node;
|
||||
class AddressBookTests : public QObject
|
||||
{
|
||||
public:
|
||||
AddressBookTests(interfaces::Node& node) : m_node(node) {}
|
||||
explicit AddressBookTests(interfaces::Node& node) : m_node(node) {}
|
||||
interfaces::Node& m_node;
|
||||
|
||||
Q_OBJECT
|
||||
|
@ -15,7 +15,7 @@ class Node;
|
||||
class RPCNestedTests : public QObject
|
||||
{
|
||||
public:
|
||||
RPCNestedTests(interfaces::Node& node) : m_node(node) {}
|
||||
explicit RPCNestedTests(interfaces::Node& node) : m_node(node) {}
|
||||
interfaces::Node& m_node;
|
||||
|
||||
Q_OBJECT
|
||||
|
@ -15,7 +15,7 @@ class Node;
|
||||
class WalletTests : public QObject
|
||||
{
|
||||
public:
|
||||
WalletTests(interfaces::Node& node) : m_node(node) {}
|
||||
explicit WalletTests(interfaces::Node& node) : m_node(node) {}
|
||||
interfaces::Node& m_node;
|
||||
|
||||
Q_OBJECT
|
||||
|
@ -40,7 +40,7 @@ public:
|
||||
std::string peerAddr;
|
||||
const util::Ref& context;
|
||||
|
||||
JSONRPCRequest(const util::Ref& context) : id(NullUniValue), params(NullUniValue), fHelp(false), context(context) {}
|
||||
explicit JSONRPCRequest(const util::Ref& context) : id(NullUniValue), params(NullUniValue), fHelp(false), context(context) {}
|
||||
|
||||
//! Initializes request information from another request object and the
|
||||
//! given context. The implementation should be updated if any members are
|
||||
|
@ -156,7 +156,7 @@ protected:
|
||||
uint32_t m_expr_index;
|
||||
|
||||
public:
|
||||
PubkeyProvider(uint32_t exp_index) : m_expr_index(exp_index) {}
|
||||
explicit PubkeyProvider(uint32_t exp_index) : m_expr_index(exp_index) {}
|
||||
|
||||
virtual ~PubkeyProvider() = default;
|
||||
|
||||
|
@ -28,7 +28,7 @@ protected:
|
||||
|
||||
public:
|
||||
BaseHash() : m_hash() {}
|
||||
BaseHash(const HashType& in) : m_hash(in) {}
|
||||
explicit BaseHash(const HashType& in) : m_hash(in) {}
|
||||
|
||||
unsigned char* begin()
|
||||
{
|
||||
|
@ -24,7 +24,7 @@ class FuzzedSignatureChecker : public BaseSignatureChecker
|
||||
FuzzedDataProvider& m_fuzzed_data_provider;
|
||||
|
||||
public:
|
||||
FuzzedSignatureChecker(FuzzedDataProvider& fuzzed_data_provider) : m_fuzzed_data_provider(fuzzed_data_provider)
|
||||
explicit FuzzedSignatureChecker(FuzzedDataProvider& fuzzed_data_provider) : m_fuzzed_data_provider(fuzzed_data_provider)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@ class DebugLogHelper
|
||||
void check_found();
|
||||
|
||||
public:
|
||||
DebugLogHelper(std::string message, MatchFn match = [](const std::string*){ return true; });
|
||||
explicit DebugLogHelper(std::string message, MatchFn match = [](const std::string*){ return true; });
|
||||
~DebugLogHelper() { check_found(); }
|
||||
};
|
||||
|
||||
|
@ -231,7 +231,7 @@ public:
|
||||
Optional<std::vector<std::string>> list_value;
|
||||
const char* error = nullptr;
|
||||
|
||||
Expect(util::SettingsValue s) : setting(std::move(s)) {}
|
||||
explicit Expect(util::SettingsValue s) : setting(std::move(s)) {}
|
||||
Expect& DefaultString() { default_string = true; return *this; }
|
||||
Expect& DefaultInt() { default_int = true; return *this; }
|
||||
Expect& DefaultBool() { default_bool = true; return *this; }
|
||||
|
@ -514,7 +514,7 @@ class FormatArg
|
||||
{ }
|
||||
|
||||
template<typename T>
|
||||
FormatArg(const T& value)
|
||||
explicit FormatArg(const T& value)
|
||||
: m_value(static_cast<const void*>(&value)),
|
||||
m_formatImpl(&formatImpl<T>),
|
||||
m_toIntImpl(&toIntImpl<T>)
|
||||
@ -970,7 +970,7 @@ class FormatListN : public FormatList
|
||||
public:
|
||||
#ifdef TINYFORMAT_USE_VARIADIC_TEMPLATES
|
||||
template<typename... Args>
|
||||
FormatListN(const Args&... args)
|
||||
explicit FormatListN(const Args&... args)
|
||||
: FormatList(&m_formatterStore[0], N),
|
||||
m_formatterStore { FormatArg(args)... }
|
||||
{ static_assert(sizeof...(args) == N, "Number of args must be N"); }
|
||||
|
@ -855,7 +855,7 @@ public:
|
||||
class EpochGuard {
|
||||
const CTxMemPool& pool;
|
||||
public:
|
||||
EpochGuard(const CTxMemPool& in);
|
||||
explicit EpochGuard(const CTxMemPool& in);
|
||||
~EpochGuard();
|
||||
};
|
||||
// N.B. GetFreshEpoch modifies mutable state via the EpochGuard construction
|
||||
|
@ -170,7 +170,7 @@ using ByTxHashView = std::tuple<const uint256&, State, Priority>;
|
||||
class ByTxHashViewExtractor {
|
||||
const PriorityComputer& m_computer;
|
||||
public:
|
||||
ByTxHashViewExtractor(const PriorityComputer& computer) : m_computer(computer) {}
|
||||
explicit ByTxHashViewExtractor(const PriorityComputer& computer) : m_computer(computer) {}
|
||||
using result_type = ByTxHashView;
|
||||
result_type operator()(const Announcement& ann) const
|
||||
{
|
||||
@ -522,7 +522,7 @@ private:
|
||||
}
|
||||
|
||||
public:
|
||||
Impl(bool deterministic) :
|
||||
explicit Impl(bool deterministic) :
|
||||
m_computer(deterministic),
|
||||
// Explicitly initialize m_index as we need to pass a reference to m_computer to ByTxHashViewExtractor.
|
||||
m_index(boost::make_tuple(
|
||||
|
@ -449,7 +449,7 @@ namespace {
|
||||
class MemPoolAccept
|
||||
{
|
||||
public:
|
||||
MemPoolAccept(CTxMemPool& mempool) : m_pool(mempool), m_view(&m_dummy), m_viewmempool(&::ChainstateActive().CoinsTip(), m_pool),
|
||||
explicit MemPoolAccept(CTxMemPool& mempool) : m_pool(mempool), m_view(&m_dummy), m_viewmempool(&::ChainstateActive().CoinsTip(), m_pool),
|
||||
m_limit_ancestors(gArgs.GetArg("-limitancestorcount", DEFAULT_ANCESTOR_LIMIT)),
|
||||
m_limit_ancestor_size(gArgs.GetArg("-limitancestorsize", DEFAULT_ANCESTOR_SIZE_LIMIT)*1000),
|
||||
m_limit_descendants(gArgs.GetArg("-limitdescendantcount", DEFAULT_DESCENDANT_LIMIT)),
|
||||
@ -482,7 +482,7 @@ private:
|
||||
// All the intermediate state that gets passed between the various levels
|
||||
// of checking a given transaction.
|
||||
struct Workspace {
|
||||
Workspace(const CTransactionRef& ptx) : m_ptx(ptx), m_hash(ptx->GetHash()) {}
|
||||
explicit Workspace(const CTransactionRef& ptx) : m_ptx(ptx), m_hash(ptx->GetHash()) {}
|
||||
std::set<uint256> m_conflicts;
|
||||
CTxMemPool::setEntries m_all_conflicting;
|
||||
CTxMemPool::setEntries m_ancestors;
|
||||
|
@ -56,7 +56,7 @@ public:
|
||||
std::unordered_map<std::string, WalletDatabaseFileId> m_fileids;
|
||||
std::condition_variable_any m_db_in_use;
|
||||
|
||||
BerkeleyEnvironment(const fs::path& env_directory);
|
||||
explicit BerkeleyEnvironment(const fs::path& env_directory);
|
||||
BerkeleyEnvironment();
|
||||
~BerkeleyEnvironment();
|
||||
void Reset();
|
||||
|
@ -172,7 +172,7 @@ protected:
|
||||
WalletStorage& m_storage;
|
||||
|
||||
public:
|
||||
ScriptPubKeyMan(WalletStorage& storage) : m_storage(storage) {}
|
||||
explicit ScriptPubKeyMan(WalletStorage& storage) : m_storage(storage) {}
|
||||
virtual ~ScriptPubKeyMan() {};
|
||||
virtual bool GetNewDestination(const OutputType type, CTxDestination& dest, std::string& error) { return false; }
|
||||
virtual isminetype IsMine(const CScript& script) const { return ISMINE_NO; }
|
||||
@ -504,7 +504,7 @@ class LegacySigningProvider : public SigningProvider
|
||||
private:
|
||||
const LegacyScriptPubKeyMan& m_spk_man;
|
||||
public:
|
||||
LegacySigningProvider(const LegacyScriptPubKeyMan& spk_man) : m_spk_man(spk_man) {}
|
||||
explicit LegacySigningProvider(const LegacyScriptPubKeyMan& spk_man) : m_spk_man(spk_man) {}
|
||||
|
||||
bool GetCScript(const CScriptID &scriptid, CScript& script) const override { return m_spk_man.GetCScript(scriptid, script); }
|
||||
bool HaveCScript(const CScriptID &scriptid) const override { return m_spk_man.HaveCScript(scriptid); }
|
||||
|
@ -30,6 +30,7 @@ IGNORED_WARNINGS=(
|
||||
"src/protocol.h:.* Class 'CMessageHeader' has a constructor with 1 argument that is not explicit."
|
||||
"src/qt/guiutil.h:.* Class 'ItemDelegate' has a constructor with 1 argument that is not explicit."
|
||||
"src/rpc/util.h:.* Struct 'RPCResults' has a constructor with 1 argument that is not explicit."
|
||||
"src/rpc/util.h:.* Struct 'UniValueType' has a constructor with 1 argument that is not explicit."
|
||||
"src/rpc/util.h:.* style: Struct 'UniValueType' has a constructor with 1 argument that is not explicit."
|
||||
"src/script/descriptor.cpp:.* Class 'AddressDescriptor' has a constructor with 1 argument that is not explicit."
|
||||
"src/script/descriptor.cpp:.* Class 'ComboDescriptor' has a constructor with 1 argument that is not explicit."
|
||||
@ -42,6 +43,11 @@ IGNORED_WARNINGS=(
|
||||
"src/script/descriptor.cpp:.* Class 'WSHDescriptor' has a constructor with 1 argument that is not explicit."
|
||||
"src/script/script.h:.* Class 'CScript' has a constructor with 1 argument that is not explicit."
|
||||
"src/script/standard.h:.* Class 'CScriptID' has a constructor with 1 argument that is not explicit."
|
||||
"src/span.h:.* Class 'Span < const CRPCCommand >' has a constructor with 1 argument that is not explicit."
|
||||
"src/span.h:.* Class 'Span < const char >' has a constructor with 1 argument that is not explicit."
|
||||
"src/span.h:.* Class 'Span < const std :: vector <unsigned char > >' has a constructor with 1 argument that is not explicit."
|
||||
"src/span.h:.* Class 'Span < const uint8_t >' has a constructor with 1 argument that is not explicit."
|
||||
"src/span.h:.* Class 'Span' has a constructor with 1 argument that is not explicit."
|
||||
"src/support/allocators/secure.h:.* Struct 'secure_allocator < char >' has a constructor with 1 argument that is not explicit."
|
||||
"src/support/allocators/secure.h:.* Struct 'secure_allocator < RNGState >' has a constructor with 1 argument that is not explicit."
|
||||
"src/support/allocators/secure.h:.* Struct 'secure_allocator < unsigned char >' has a constructor with 1 argument that is not explicit."
|
||||
@ -49,6 +55,9 @@ IGNORED_WARNINGS=(
|
||||
"src/test/checkqueue_tests.cpp:.* Struct 'FailingCheck' has a constructor with 1 argument that is not explicit."
|
||||
"src/test/checkqueue_tests.cpp:.* Struct 'MemoryCheck' has a constructor with 1 argument that is not explicit."
|
||||
"src/test/checkqueue_tests.cpp:.* Struct 'UniqueCheck' has a constructor with 1 argument that is not explicit."
|
||||
"src/test/fuzz/util.h:.* Class 'FuzzedFileProvider' has a constructor with 1 argument that is not explicit."
|
||||
"src/test/fuzz/util.h:.* Class 'FuzzedAutoFileProvider' has a constructor with 1 argument that is not explicit."
|
||||
"src/util/ref.h:.* Class 'Ref' has a constructor with 1 argument that is not explicit."
|
||||
"src/wallet/db.h:.* Class 'BerkeleyEnvironment' has a constructor with 1 argument that is not explicit."
|
||||
)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user