C++ 命名要求: RandomNumberEngineAdaptor (自 C++11 起)
來自 cppreference.com
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
(C++11) |
丟棄隨機數引擎的一些輸出 (類模板) |
(C++11) |
將隨機數引擎的輸出打包成指定位元數的塊 (類模板) |
(C++11) |
以不同順序提供隨機數引擎的輸出 (類模板) |