std::shuffle_order_engine<Engine,K>::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++.
| Отчёт об ошибке | Применяется к | Поведение согласно опубликованной версии | Корректное поведение |
|---|---|---|---|
| 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/shuffle_order_engine/seed