名稱空間
變體
操作

C++ 命名要求: RandomNumberEngineAdaptor (自 C++11 起)

來自 cppreference.com
 
 
C++ 命名要求
基本
型別屬性
全庫範圍
(C++11)




Container(容器)
容器元素
迭代器 (Iterator)
流 I/O
格式化器
(C++20)
隨機數
RandomNumberEngineAdaptor(隨機數引擎介面卡)
(C++11)
併發
(C++11)
Ranges
多維檢視
(C++23)
其他

 

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

丟棄隨機數引擎的一些輸出
(類模板) [編輯]
將隨機數引擎的輸出打包成指定位元數的塊
(類模板) [編輯]
以不同順序提供隨機數引擎的輸出
(類模板) [編輯]