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 <random>
 #include <cstdint>
 #include <iostream>
 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';
     }
 }

Output:
 4204997637
 4246533866
 1856049002
 1129615051
 690460811
 1075771511
 46783058
 3904109078
 1534123438
 1495905678