From 89baf79cb1bbb65d3b5fea1595d9f1aebef1a2f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Wo=CC=81jcik?= <3044353+pwojcikdev@users.noreply.github.com> Date: Tue, 7 Mar 2023 21:15:33 +0000 Subject: [PATCH] Giving random_pool the ability to construct random-filled objects. --- nano/crypto_lib/random_pool.hpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/nano/crypto_lib/random_pool.hpp b/nano/crypto_lib/random_pool.hpp index e3b8b6fe..b2b3f347 100644 --- a/nano/crypto_lib/random_pool.hpp +++ b/nano/crypto_lib/random_pool.hpp @@ -19,6 +19,22 @@ public: static uint64_t generate_word64 (uint64_t min, uint64_t max); static unsigned char generate_byte (); + /** Fills variable with random data */ + template + static void generate (T & out) + { + generate_block (reinterpret_cast (&out), sizeof (T)); + } + /** Returns variable with random data */ + template + static T generate () + { + T t; + generate (t); + return t; + } + +public: random_pool () = delete; random_pool (random_pool const &) = delete; random_pool & operator= (random_pool const &) = delete;