aboutsummaryrefslogtreecommitdiff
path: root/src/script
diff options
context:
space:
mode:
authorWladimir J. van der Laan <[email protected]>2017-08-17 22:59:56 +0200
committerWladimir J. van der Laan <[email protected]>2017-08-18 09:01:16 +0200
commit4afb5aa9e173991548be3627c6df258368d95ff3 (patch)
tree8d8523dd68167f9a6299dd92cc9dd5e0fd162b23 /src/script
parentMerge #10901: Fix constness of ArgsManager methods (diff)
parentDeclare single-argument (non-converting) constructors "explicit" (diff)
downloaddiscoin-4afb5aa9e173991548be3627c6df258368d95ff3.tar.xz
discoin-4afb5aa9e173991548be3627c6df258368d95ff3.zip
Merge #10969: Declare single-argument (non-converting) constructors "explicit"
64fb0ac Declare single-argument (non-converting) constructors "explicit" (practicalswift) Pull request description: Declare single-argument (non-converting) constructors `explicit`. In order to avoid unintended implicit conversions. For a more thorough discussion, see ["C.46: By default, declare single-argument constructors explicit"](http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#c46-by-default-declare-single-argument-constructors-explicit) in the C++ Core Guidelines (Stroustrup & Sutter). Tree-SHA512: e0c6922e56b11fa402621a38656d8b1122d16dd8f160e78626385373cf184ac7f26cb4c1851eca47e9b0dbd5e924e39a85c3cbdcb627a05ee3a655ecf5f7a0f1
Diffstat (limited to 'src/script')
-rw-r--r--src/script/interpreter.h2
-rw-r--r--src/script/sign.h4
-rw-r--r--src/script/standard.cpp2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/script/interpreter.h b/src/script/interpreter.h
index 437826b5d..f845e1943 100644
--- a/src/script/interpreter.h
+++ b/src/script/interpreter.h
@@ -114,7 +114,7 @@ struct PrecomputedTransactionData
{
uint256 hashPrevouts, hashSequence, hashOutputs;
- PrecomputedTransactionData(const CTransaction& tx);
+ explicit PrecomputedTransactionData(const CTransaction& tx);
};
enum SigVersion
diff --git a/src/script/sign.h b/src/script/sign.h
index bd4586289..a0d8ee4ff 100644
--- a/src/script/sign.h
+++ b/src/script/sign.h
@@ -21,7 +21,7 @@ protected:
const CKeyStore* keystore;
public:
- BaseSignatureCreator(const CKeyStore* keystoreIn) : keystore(keystoreIn) {}
+ explicit BaseSignatureCreator(const CKeyStore* keystoreIn) : keystore(keystoreIn) {}
const CKeyStore& KeyStore() const { return *keystore; };
virtual ~BaseSignatureCreator() {}
virtual const BaseSignatureChecker& Checker() const =0;
@@ -54,7 +54,7 @@ public:
/** A signature creator that just produces 72-byte empty signatures. */
class DummySignatureCreator : public BaseSignatureCreator {
public:
- DummySignatureCreator(const CKeyStore* keystoreIn) : BaseSignatureCreator(keystoreIn) {}
+ explicit DummySignatureCreator(const CKeyStore* keystoreIn) : BaseSignatureCreator(keystoreIn) {}
const BaseSignatureChecker& Checker() const override;
bool CreateSig(std::vector<unsigned char>& vchSig, const CKeyID& keyid, const CScript& scriptCode, SigVersion sigversion) const override;
};
diff --git a/src/script/standard.cpp b/src/script/standard.cpp
index 9570b8c8d..0f720d9e7 100644
--- a/src/script/standard.cpp
+++ b/src/script/standard.cpp
@@ -253,7 +253,7 @@ class CScriptVisitor : public boost::static_visitor<bool>
private:
CScript *script;
public:
- CScriptVisitor(CScript *scriptin) { script = scriptin; }
+ explicit CScriptVisitor(CScript *scriptin) { script = scriptin; }
bool operator()(const CNoDestination &dest) const {
script->clear();