std::shuffle_order_engine<Engine,K>::seed

来自cppreference.com

 
 
 
 
 
void seed();
(1)(C++11 起)
void seed( result_type value );
(2)(C++11 起)
template< class SeedSeq >
void seed( SeedSeq& seq );
(3)(C++11 起)

用新的种子值重初始化底层引擎的内部状态。

1) 以默认种子值播种底层引擎。相当于调用 e.seed(),其中 e 是底层引擎。
2) 以种子值 s 播种底层引擎。相当于调用 e.seed(value),其中 e 是底层引擎。
3) 以种子序列 seq 播种底层引擎。相当于调用 e.seed(seq),其中 e 是底层引擎。
此重载只有在 SeedSeq 满足种子序列 (SeedSequence) 的要求时才会参与重载决议。

参数

value-用于初始化底层引擎内部状态的种子值
seq-用于初始化底层引擎内部状态的种子序列

异常

3) 如果 SeedSeq 不是 std::seed_seq,那么就会抛出 seq.generate 调用抛出的异常。

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告应用于出版时的行为正确行为
LWG 2181C++11即使 seq.generate 调用抛出了异常,重载 (3) 也不会抛出异常会传播该异常