home | help
std::seed_seq::seed_seq(3)     C++ Standard Libary    std::seed_seq::seed_seq(3)

NAME
     std::seed_seq::seed_seq - std::seed_seq::seed_seq

Synopsis
	seed_seq() noexcept;			 (1) (since C++11)
	seed_seq( const seed_seq& ) = delete;	 (2) (since C++11)
	template< class InputIt >		 (3) (since C++11)
	seed_seq( InputIt begin, InputIt end );
	template< class T >			 (4) (since C++11)
	seed_seq( std::initializer_list<T> il );

	1)  The  default constructor creates a std::seed_seq object with an ini-
     tial seed
	sequence of length zero.
	2) The copy constructor is deleted: std::seed_seq is not copyable.
	3) Constructs a std::seed_seq with the initial seed sequence obtained by
     iterating
	over the range [begin, end) and copying the values obtained by	derefer-
     encing the
	iterator, modulo 232
	(that is, the lower 32 bits are copied).
	4)  Equivalent	to  seed_seq(il.begin(), il.end()). This constructor en-
     ables
	list-initialization from the list of seed values. This overload partici-
     pates in
	overload resolution only if T is an integer type.

Parameters
	begin, end - the initial seed sequence represented as a  pair  of  input
     iterators
		     whose std::iterator_traits<>::value_type is an integer type
	il	   - std::initializer_list of objects of integer type, providing
     the initial
		     seed sequence

Type requirements
	-
	InputIt must meet the requirements of LegacyInputIterator.

Exceptions
	3,4) Throws std::bad_alloc on allocation failure.

Example
     // Run this code

      #include <iterator>
      #include <random>
      #include <sstream>

      int main()
      {
	  std::seed_seq s1; // default-constructible
	  std::seed_seq s2{1, 2, 3}; // can use list-initialization
	  std::seed_seq s3 = {-1, 0, 1}; // another form of list-initialization
	  int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
	  std::seed_seq s4(a, a + 10); // can use iterators
	  std::istringstream buf("1 2 3 4 5");
	  std::istream_iterator<int> beg(buf), end;
	  std::seed_seq s5(beg, end); // even stream input iterators
      }

	Defect reports

	The  following	behavior-changing  defect  reports were applied retroac-
     tively to
	previously published C++ standards.

	   DR	 Applied to		 Behavior as published		    Cor-
     rect behavior
			    the default constructor never fails but might
	LWG 3422 C++11	    be not noexcept;				    made
     noexcept;
			    the initializer list constructor disabled	    con-
     strained
			    list-initialization from iterator pairs

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

home | help