-std::seed_seq generateSeed() {
- std::array<uint32_t, StateSize<RNG>::value> seed_data;
- Random::secureRandom(seed_data.begin(), seed_data.size() * sizeof(uint32_t));
- return std::seed_seq(std::begin(seed_data), std::end(seed_data));
-}
+struct SeedData {
+ SeedData() {
+ Random::secureRandom(seedData.begin(), seedData.size() * sizeof(uint32_t));
+ }
+
+ static constexpr size_t stateSize = StateSize<RNG>::value;
+ std::array<uint32_t, stateSize> seedData;
+};