std::discard_block_engine<Engine,P,R>::seed
void seed(); | (1) | (начиная с C++11) |
void seed( result_type value ); | (2) | (начиная с C++11) |
template< class SeedSeq > void seed( SeedSeq& seq ); | (3) | (начиная с C++11) |
Повторно инициализирует внутреннее состояние базового генератора с использованием нового начального значения.
1) Инициализирует базовый генератор начальным значением по умолчанию. Фактически вызывает
e.seed(), где e — базовый генератор.
2) Инициализирует базовый генератор начальным значением
value. Фактически вызывает e.seed(value), где e — базовый генератор.
3) Инициализирует базовый генератор последовательностью начальных значений
seq. Фактически вызывает e.seed(seq), где e — базовый генератор.
Эта перегрузка участвует в разрешении перегрузки, только если
SeedSeq соответствует требованиям SeedSequence.Параметры
| value | - | начальное значение, используемое для инициализации внутреннего состояния базового генератора |
| seq | - | последовательность начальных значений, используемая для инициализации внутреннего состояния базового генератора |
Исключения
3) Если
SeedSeq не является std::seed_seq, выбрасывает исключения, выбрасываемые при вызове seq.generate.Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были применены ретроспективно к ранее опубликованным стандартам C++.
| DR | Применяется к | Поведение согласно опубликованной версии | Корректное поведение |
|---|---|---|---|
| LWG 2181 | C++11 | перегрузка (3) не выбрасывала исключение, даже если вызов seq.generate выбрасывал исключение | передаёт исключение дальше |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/numeric/random/discard_block_engine/seed