命名空间
变体
操作

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

来自 cppreference.cn
 
 
 
 
 
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) 使用种子值 value 播种底层引擎。 有效地调用 e.seed(value),其中 e 是底层引擎。
3) 使用种子序列 seq 播种底层引擎。 有效地调用 e.seed(seq),其中 e 是底层引擎。
仅当 SeedSeq 满足 SeedSequence 的要求时,此重载才参与重载解析。

[编辑] 参数

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

[编辑] 异常

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

[编辑] 缺陷报告

以下行为变更缺陷报告被追溯应用于先前发布的 C++ 标准。

DR 应用于 已发布行为 正确行为
LWG 2181 C++11 重载 (3) 即使 seq.generate 调用抛出异常也不会抛出 传播异常