aboutsummaryrefslogtreecommitdiff
path: root/src/random.h
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2018-10-31 15:41:13 -0700
committerPieter Wuille <pieter.wuille@gmail.com>2018-12-12 14:28:16 -0800
commite414486d56b9f06af7aeb07ce13e3c3780c2b69b (patch)
tree1014bfa4fe74fe860bd34e43fad8ef734c270f50 /src/random.h
parent022cf47dd7ef8f46e32a184e84f94d1e9f3a495c (diff)
Do not permit copying FastRandomContexts
Diffstat (limited to 'src/random.h')
-rw-r--r--src/random.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/random.h b/src/random.h
index e7e5eb496a..00e90abbc5 100644
--- a/src/random.h
+++ b/src/random.h
@@ -76,6 +76,14 @@ public:
/** Initialize with explicit seed (only for testing) */
explicit FastRandomContext(const uint256& seed);
+ // Do not permit copying a FastRandomContext (move it, or create a new one to get reseeded).
+ FastRandomContext(const FastRandomContext&) = delete;
+ FastRandomContext(FastRandomContext&&) = delete;
+ FastRandomContext& operator=(const FastRandomContext&) = delete;
+
+ /** Move a FastRandomContext. If the original one is used again, it will be reseeded. */
+ FastRandomContext& operator=(FastRandomContext&& from) noexcept;
+
/** Generate a random 64-bit integer. */
uint64_t rand64()
{