Namespaces
Variants

C++ named requirements: RandomNumberEngineAdaptor (since C++11)

From cppreference.net
C++ named requirements

RandomNumberEngineAdaptor は、別の RandomNumberEngine の出力を変換する RandomNumberEngine であり、後者は ベースエンジン と呼ばれます。

要件

与えられた

  • B RandomNumberEngine の要件を満たす型
  • b 、型 B のオブジェクト
  • A RandomNumberEngineAdaptor の要件を満たし、基本エンジンとして B を適応する型
  • 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 を満たします:

乱数エンジンの出力の一部を破棄する
(クラステンプレート)
乱数エンジンの出力を指定されたビット数のブロックにパックする
(クラステンプレート)
乱数エンジンの出力を異なる順序で提供する
(クラステンプレート)