Spec-Zone.ru › C++

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API