home | help
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 ax 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

http://cppreference.com 	   2024.06.10			std::seed_seq(3)

home | help