table of contents
std::seed_seq(3) | C++ Standard Libary | std::seed_seq(3) |
NAME¶
std::seed_seq - std::seed_seq
Synopsis¶
Defined in header <random>
class seed_seq; (since C++11)
std::seed_seq consumes a sequence of integer-valued data and produces a
requested
number of unsigned integer values i, 0 ≤ i < 232
, based on the consumed data. The produced values are distributed over the
entire
32-bit range even if the consumed values are close.
It provides a way to seed a large number of random number engines or to seed
a
generator that requires a lot of entropy, given a small seed or a poorly
distributed
initial seed sequence.
std::seed_seq meets the requirements of SeedSequence.
Member types¶
Member type Definition
result_type (C++11) std::uint_least32_t
Member functions¶
constructor constructs and seeds the std::seed_seq object
(C++11) (public member function)
operator= seed_seq is not assignable
[deleted] (C++11) (public member function)
generate calculates the bias-eliminated, evenly distributed 32-bit values
(C++11) (public member function)
size obtains the number of 32-bit values stored in std::seed_seq
(C++11) (public member function)
param obtains the 32-bit values stored in std::seed_seq
(C++11) (public member function)
Example¶
// Run this code
#include <cstdint>
#include <iostream>
#include <random>
int main()
{
std::seed_seq seq{1, 2, 3, 4, 5};
std::vector<std::uint32_t> seeds(10);
seq.generate(seeds.begin(), seeds.end());
for (std::uint32_t n : seeds)
std::cout << n << '\n';
}
Possible output:¶
4204997637
4246533866
1856049002
1129615051
690460811
1075771511
46783058
3904109078
1534123438
1495905678
2024.06.10 | http://cppreference.com |