Именованные требования C++: SeedSequence (начиная с C++11)
SeedSequence — это объект, который создаёт беззнаковые целочисленные значения i в диапазоне 0 ≤ i < 232 на основе потреблённого диапазона целочисленных данных.
Требования
-
S— это тип SeedSequence. -
q— это объект типаS, аr— потенциально константный объект типаS. -
T— этоresult_type. -
ibиie— LegacyInputIterators сvalue_typeбеззнаковых целочисленных значений размером не менее 32 бит. -
il— этоstd::initializer_list<T>. -
rbиre— изменяемые LegacyRandomAccessIterators сvalue_typeбеззнаковых целочисленных значений размером не менее 32 бит. -
ob— это LegacyOutputIterator.
| Выражение | Тип | Примечания | Сложность |
|---|---|---|---|
S::result_type | T | Беззнаковое целое число размером не менее 32 бит. | Во время компиляции |
S() | Создаёт последовательность начальных значений с тем же начальным состоянием, что и у других последовательностей начальных значений типа S, созданных конструктором по умолчанию. | Константная | |
S(ib, ie) | Создаёт последовательность начальных значений с внутренним состоянием, зависящим от некоторых или всех предоставленных входных битов, посредством [ib, ie). | O(ie - ib) | |
S(il) | То же, что и S(il.begin(), il.end()). | ||
q.generate(rb, re) | void | Заполняет [rb, re) 32-битными значениями, зависящими от изначально предоставленных значений и возможных предыдущих вызовов generate. Если rb == re, ничего не делает. | O(re - rb) |
r.size() | size_t | Количество 32-битных целых чисел, копируемых с помощью param. | Константная |
r.param(ob) | void | Копирует 32-битные значения в ob, которые при передаче конструктору S восстановят текущее состояние объекта. | O(r.size()) |
См. также
|
(C++11) | универсальный генератор перемешанных последовательностей начальных значений, устраняющий смещение (класс) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/named_req/SeedSequence