名前付き要件: RandomNumberEngineAdaptor
提供: cppreference.com
RandomNumberEngineAdaptor は別の RandomNumberEngine の出力を変換する RandomNumberEngine です。 元になる乱数エンジンはベースエンジンと呼ばれます。
[編集] 要件
- RandomNumberEngine B
- B 型のオブジェクト b
- B をベースエンジンとしてアダプトする RandomNumberEngineAdaptor A
- A 型のオブジェクト a
関数 | 意味論 |
---|---|
A::A(); | ベースエンジンがそのデフォルトコンストラクタによって行われたかのように初期化されます。 |
bool operator==(const A& lhs, const A& rhs); | lhs のベースエンジンが rhs のベースエンジンと等しいかどうかを返します。 |
A::A(result_type s); | ベースエンジンが s を用いて初期化されます。 |
template<class Sseq> A::A(Sseq& q); | ベースエンジンが q を用いて初期化されます。 |
void seed(); | b.seed() を呼びます。 |
void seed(result_type s); | b.seed(s) を呼びます。 |
template<class Sseq> void seed(Sseq& q); | b.seed(q) を呼びます。 |
さらに、
- A の各関数の計算量は B の関数の計算量を超えません。
- A の状態は B の状態を含みます。
- A の状態のサイズは b のサイズより小さくなりません。
- A の状態のコピーは B の状態のコピーを含みます。
- A のテキスト表現は B のテキスト表現を含みます。
[編集] 標準ライブラリ
以下の標準ライブラリの機能は RandomNumberEngineAdaptor を満たします。
(C++11) |
乱数エンジンの出力をいくらか破棄します (クラステンプレート) |
(C++11) |
指定されたビット数のブロックに乱数の出力をパックします (クラステ���プレート) |
(C++11) |
乱数エンジンの出力を異なる順序に並び替えます (クラステンプレート) |