Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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
       initial 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  ob-
       tained by iterating
	  over	the  range  [begin,  end)  and	copying	the values obtained by
       dereferencing the
	  iterator, modulo 232
	  (that	is, the	lower 32 bits are copied)
	  4) Equivalent	to seed_seq(il.begin(),	 il.end()).  This  constructor
       enables
	  list-initialization from the list of seed values. This overload par-
       ticipates in
	  overload resolution only if T	is an integer type.

Parameters
	  begin,  end -	the initial seed sequence represented as a pair	of in-
       put iterators
		       whose std::iterator_traits<>::value_type	is an  integer
       type
	  il	      -	std::initializer_list of objects of integer type, pro-
       viding 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 <random>
	#include <sstream>
	#include <iterator>
	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-initializa-
       tion
	    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
       Correct behavior
			      the default constructor never fails but might
	  LWG	     3422	 C++11		  be	   not	     noexcept;
       made noexcept;
			      the  initializer	 list	constructor   disabled
       constrained
			      list-initialization from iterator	pairs

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

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::seed_seq::seed_seq&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help