Namespaces
Variants

std::discard_block_engine<Engine,P,R>:: seed

From ja.cppreference.net

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 呼び出しが例外をスローしても例外をスローしない 例外を伝播する