diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2018-10-31 15:41:13 -0700 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2018-12-12 14:28:16 -0800 |
commit | e414486d56b9f06af7aeb07ce13e3c3780c2b69b (patch) | |
tree | 1014bfa4fe74fe860bd34e43fad8ef734c270f50 /src/random.cpp | |
parent | 022cf47dd7ef8f46e32a184e84f94d1e9f3a495c (diff) |
Do not permit copying FastRandomContexts
Diffstat (limited to 'src/random.cpp')
-rw-r--r-- | src/random.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/random.cpp b/src/random.cpp index ebc2ff42c8..f8ffda136d 100644 --- a/src/random.cpp +++ b/src/random.cpp @@ -464,6 +464,20 @@ FastRandomContext::FastRandomContext(bool fDeterministic) : requires_seed(!fDete rng.SetKey(seed.begin(), 32); } +FastRandomContext& FastRandomContext::operator=(FastRandomContext&& from) noexcept +{ + requires_seed = from.requires_seed; + rng = from.rng; + std::copy(std::begin(from.bytebuf), std::end(from.bytebuf), std::begin(bytebuf)); + bytebuf_size = from.bytebuf_size; + bitbuf = from.bitbuf; + bitbuf_size = from.bitbuf_size; + from.requires_seed = true; + from.bytebuf_size = 0; + from.bitbuf_size = 0; + return *this; +} + void RandomInit() { RDRandInit(); |